Here's a number that should make any business owner uncomfortable: under default copyright law in most jurisdictions, the freelancer or agency that wrote your software owns it — not you — unless your contract explicitly says otherwise. You can pay every invoice in full and still walk away owning nothing but a login someone else controls.
Most buyers never find this out until the day they try to leave. And by then, leaving has become the expensive part.
Switching costs are real — and people now know it
Awareness is climbing fast. According to Deloitte's Tech Trends research, 74% of software buyers now evaluate potential switching costs before they purchase — up from just 47% in 2018. In other words, the share of buyers who got burned, or watched someone else get burned, has roughly doubled in five years.
The costs they're worried about aren't hypothetical. For something as ordinary as replacing a mid-size ERP system, switching typically runs 1.5x to 3x the annual cost of the new system — before you count the disruption, the retraining and the months your team spends untangling the old one. When the thing you're trying to escape is a custom platform whose source code you don't actually hold, the bill climbs higher still.
"Trapped" customers leave anyway — they just pay more to do it
Lock-in doesn't actually keep customers loyal. Gartner found that 58% of customers who feel "trapped" by a vendor eventually leave despite the switching costs — and a good share become active detractors on the way out. Lock-in doesn't buy loyalty. It buys resentment, and a slower, costlier divorce.
That's the quiet tragedy of the hostage model: it doesn't even work for the agency long-term. It just makes the eventual breakup worse for everyone.
The accounts you forgot to ask about
Source code gets the headlines, but the more common trap is mundane: the accounts. Industry guidance is consistent that the single most frequent ownership problem is a web or app vendor registering the domain, hosting, app-store listing or cloud account in their name, under their email, on their credit card.
It feels convenient on day one. Then you want to move, change billing, or the freelancer simply moves on — and the accounts walk out the door with them. A domain that lapses because it was never in your name takes your website and your email down the moment it expires. An Apple or Google developer account in the vendor's name means your app legally lives in someone else's portfolio.
What to demand before you sign
You don't need a law degree to protect yourself. You need four things in writing:
- Source ownership. A clause assigning all intellectual property in the work to you on payment — not a licence to use the "final file," but actual ownership of the source.
- Repository access. The full Git history in a repo you own, from day one — not a zip file handed over at the end.
- Your own accounts. Domain, hosting, cloud, app-store and analytics accounts created in your company's name, under your email, billed to your card. The vendor gets invited in; they don't own the keys.
- An exit that isn't a hostage negotiation. Documented handover, no "unlock fee," and the right to walk with everything.
How we do it at True Dev
We've built software in Bangkok and beyond since 1997, and we've inherited enough hostage situations to take a firm position: our clients own everything from day one. The repository is yours. The IP is assigned to you on payment. The cloud, hosting and app-store accounts are created in your name, with us invited as collaborators — never the other way around.
It's not generosity; it's the only honest way to do this work. A partner who's confident in the relationship doesn't need a hostage. If you're planning a build — or quietly worried about who really controls the one you already have — start a project with us or take a look at what we do. The first thing we'll put in writing is that it's yours.




