The verdict in three sentences
Without a written IP assignment, your vendor can keep ownership of the code you paid for, whatever the invoice says. The three protections that really matter are Git access from day one, a priced transition clause and an open source license inventory delivered at acceptance. Third-party escrow costs 350 to 1,700 USD a year and replaces none of those three clauses, it complements them.
Why owning the code is not automatic in the US
Under the US Copyright Act, software written by an independent contractor belongs to the contractor unless the contract says otherwise. The work for hire doctrine only covers employees and a short list of commissioned works, and custom software usually falls outside that list. That is why New York lawyers pair a work for hire clause with a fallback assignment: if the work does not qualify, all rights are assigned to the client anyway.
A vague line such as « client owns the deliverables » is a weak shield. A company investing 90,000 USD should negotiate a dedicated IP section before signing, not at acceptance.
| Clause | What it guarantees | Weak version to refuse | Strong version to demand |
|---|---|---|---|
| IP assignment | You can modify, resell, hand to a third party | Non-exclusive license to use | Work for hire plus fallback assignment, worldwide, effective on payment of each milestone |
| Git repository access | You see the code continuously | ZIP archive at project end | Repo in your GitHub or GitLab organization, admin rights on the client side |
| Documentation | Another vendor can take over | « Documentation provided » with no detail | README, architecture diagram, deployment runbook, environment variables |
| Pre-existing components | Vendor keeps generic building blocks | Nothing listed | Named list of vendor modules with a perpetual, royalty-free license |
| Open source licenses | No GPL contamination risk | No inventory | SBOM or dependency and license table at each release |
| Transition | Orderly exit if the relationship ends | « Reasonable assistance » | 5 to 10 days of handover at a rate fixed in the contract, within 30 days |
The real cost of protection in 2026
Most clauses cost nothing to negotiate, but a few have a price. Knowing it lets you decide calmly instead of dropping them for fear of an unclear extra charge.
| Protection | Indicative 2026 cost | When it is justified |
|---|---|---|
| Git repo in the client's organization | 0 to 300 USD a year (GitHub Team or GitLab Premium seats) | Always |
| Third-party escrow (NCC Group, EscrowTech or similar) | 350 to 1,700 USD a year depending on deposit frequency | Small vendor, business-critical app |
| Knowledge transfer at project end | 5 to 10 days at 900 to 1,400 USD, so 4,500 to 14,000 USD | Planned vendor change or insourcing |
| Full technical documentation | 3 to 6% of budget, so 2,700 to 5,400 USD on 90,000 USD | Always, include it in the fixed price |
| Open source license audit | 1,000 to 3,000 USD per audit | Resale of the software or fundraising |
| Priced transition addendum | 0 USD to negotiate, paid only on exit | Always |
For a 90,000 USD application, the full package (repo, documentation, three years of escrow, guaranteed transition) comes to roughly 8,000 to 12,000 USD, or 9 to 13% of the budget. Compare that with a full rewrite after a lock-in: often 60 to 80% of the original budget.
How to write a transition clause that actually works
A useful transition clause answers four questions. Who triggers the exit, and with what notice? Which deliverables are handed over: code, database exported in a standard format, deployment scripts, access to cloud accounts? How many days of assistance, at what rate, within what timeframe? What happens if the vendor disappears: this is where escrow takes over, with release conditions covering bankruptcy or cessation of business.
Also require hosting, domain and third-party service accounts (email delivery, payments, maps) to be opened in your company's name. Code recovered without access to the services that run it is useless the day after the breakup.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Daniel, CFO of a mid-sized logistics company in New York, signs a 90,000 USD shipment tracking app. He negotiates Git access from the first sprint, assignment on each milestone payment, escrow at 1,000 USD a year and 8 days of transition at 1,100 USD. Total protection cost over three years: 3,000 USD of escrow, 8,800 USD of transition (paid only on exit) and 3,600 USD of documentation included in the fixed price.
Two years later, the vendor is acquired and raises its rates by 40%. Daniel triggers the transition, moves maintenance to a new team and avoids a rewrite estimated at 62,000 USD. Net saving: about 50,000 USD and four months.
FAQ
Does paying the invoice make me the owner of the code?
No. A contractor's code stays the contractor's unless a signed writing assigns it. Without that clause, you may only hold an implied license, even after paying 100% of the price.
Is escrow really necessary?
It is useful if your vendor has fewer than 10 people or the app is business-critical. At 350 to 1,700 USD a year it protects against bankruptcy, but continuous Git access remains the first line of defense.
Can the vendor refuse to assign its generic components?
Yes, and that is legitimate. Ask for a perpetual, royalty-free, transferable license on those components and a named list in a contract exhibit.
How many handover days should I plan?
Between 5 and 10 days for an app of 60,000 to 130,000 USD. Fix the rate in the contract, for example 1,100 USD a day, to avoid renegotiating at exit.
What should I check on open source licenses?
Ask for a dependency inventory at each release. A GPL library integrated carelessly can force you to publish your own code if you distribute the software.
Let's scope your project. We price your custom application with IP assignment, Git access and a transition clause built into the contract, on a scope and indicative budget agreed together. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.