I've been freelancing for ~6 years now, it really depends on the initial time you spend knowing about your client. If you set the expectations right to your client about payments upfront and send them a contract that clearly has consequences for them if they don't pay on time, and if you walk them through it, you shouldn't have any problems getting paid.
That's why understanding your client in your first few meetings before you commit to the project is SO important. I let go of a lot of deals in my career because the client was very stingy - they want to know how you spent every second of your time or they want to know how many vacations you take, etc. It boils down to trust.
It's your responsibility to instil trust and this trust will pay itself off in the long run.
Also, I work with Google cloud, I'm always the project owner and at no point my client has access to the source code until full payment for the project has been made. So, it also depends how desperately they want that software/product.
They stopped paying? Simple. Just add an auth layer to the app (very simple to do with Google Cloud). They will come to you if they really need that product that bad. They didn't get back to you? Too bad, in my contract, it says this is now your IP and you can do whatever with it, including selling it off to a competitor or someone else who can find use for this.
The point is, I don't see why your personal space needs to be violated by an intermediary agent for you to be guaranteed to be paid..