There is a particular kind of software business that builds you something good and then quietly makes sure you can never leave. The code lives in their account. The deployment is a ritual only they know. The documentation is a login and a phone number. Nothing is technically wrong, and yet a year later you are paying for access to your own system.
We think the handover is the product. What you are actually buying is not a running website, it is the ability to keep that website running, change it, and hand it to somebody else if you want to. Everything else is temporary.
In practice that means a few concrete things. The source code lives in a repository you own, from the first commit, not copied over at the end. Credentials and infrastructure are in your name. There is a written setup document that gets a new developer from a clean machine to a running local copy, and it is tested by someone who did not write it. There is a deployment procedure written down, not held in one person's memory. And there is a walkthrough at the end: a real session where we show you how the thing is put together.
The test we hold ourselves to is simple. If our whole team disappeared tomorrow, could a competent developer you have never met pick this up? If the honest answer is no, we have not finished, regardless of what the site looks like.
This has a cost, and it is worth being upfront about it. Documenting properly takes real time, and time is the thing you are paying for. It is easy to skip and nobody notices for months. We treat it as part of the build rather than a line item you can drop, because the moment it becomes optional it stops happening.
The support window after launch works the same way. It exists to catch what the specification missed, not to make you dependent. If you want to take over maintenance yourself at the end of it, that is a success, not a lost account. Some clients do exactly that, come back two years later for the next phase, and start from a system that is still in good shape because they were able to look after it.
Software you cannot maintain is a liability with a nice interface. The handover is how it becomes an asset instead.