The gap between owning and having

Almost every software contract says the client owns the intellectual property on delivery. Most clients read that and stop worrying. The gap is in the word delivery: your contract may give you ownership of code that currently sits in a repository under a supplier's account, built by a pipeline you cannot see, deployed with credentials you do not hold.

You own it. You just cannot reach it, and reaching it requires the cooperation of a supplier whose cooperation you may be about to lose. That is not a legal problem, it is an access problem, and it appears at the worst possible time: a dispute, an acquisition, or a supplier who quietly stops replying.

What day-one ownership looks like in practice

The organisation account for the repositories is yours. Your supplier's engineers are collaborators in it, with permissions you grant and can revoke. The first commit lands there, not in a private repository to be transferred later.

The same applies to the surrounding assets: the cloud subscription, the CI pipeline definitions, the code-signing certificate, the app store developer accounts, the DNS, the monitoring workspace. Each of those is a point at which a project can be held hostage by accident.

Costs of the cloud subscription land on your card. That feels like a nuisance at the start and it is worth it: you see what the software costs to run, you can compare that to the estimate, and nothing is bundled inside a supplier invoice you cannot decompose.

The objections you will hear, and which are fair

Some suppliers say it slows setup. It slows the first day by an hour or two. That is the entire cost.

Some say their tooling and templates are proprietary and cannot live in a client repository. That can be legitimate, and the answer is a clear boundary: their reusable library stays theirs, licensed to you, and everything specific to your system is in your repository. What you must not accept is that boundary being undefined, because it grows.

Some say clients make a mess of permissions. Fair, and the fix is that they administer the account under your ownership rather than owning it themselves.

A five-minute test you can run today

If you already have software built by an outside team, try this. Ask someone internal to clone the repository, build it, run it locally and deploy it to a test environment, using only documentation you already hold. Give them a day.

What you learn is not whether your team is capable. It is whether the knowledge to run your own software exists outside one supplier's heads. If they cannot get past the first step, you have a continuity risk regardless of what your contract says about intellectual property.

Fixing it after the fact is not difficult, and it is much cheaper than fixing it in the middle of a disagreement. Ask for the repository move, a README that gets a new engineer to a running build, and a recorded walkthrough. Any supplier who resists all three is telling you something worth knowing.

If you are making this decision now, a half-hour call is usually enough to narrow it down. We will tell you what we would do and why, whether or not you hire us.

Book a free consultation