Clutch4.8/5 ★★★★★
Madgeek
Offshore & Outsourcing

IP Protection in Software Outsourcing — What to Require in Every Contract

IP protection in outsourcing requires work-for-hire clauses, pre-existing IP carve-outs, non-compete provisions, code escrow, and audit rights. Here's what each clause does and what to require.

Abhijit Das

CEO

IP protection in software outsourcing requires five contract provisions: a work-for-hire clause assigning all IP to the client, pre-existing IP carve-outs that list what the vendor retains, non-compete restrictions on building similar products for competitors, source code escrow with automatic release triggers, and audit rights that let the client inspect code repositories at any time. Miss any one of these and you're exposed — not theoretically, but in the specific scenario where your vendor builds a near-identical system for your competitor using architecture your team paid to design.

Most outsourcing contracts include vague IP language. "All work product belongs to the client" sounds complete until you discover the vendor's framework, which powers 60% of your application, was never assigned because it existed before your engagement. The five provisions below close every gap we've seen in eight years of building custom software for Western clients.

What IP risks exist in software outsourcing?

The primary risk is not theft. It is ambiguity. When a vendor builds software using a mix of new code written for you and existing libraries, frameworks, or modules developed before your project, the ownership line blurs unless the contract draws it explicitly.

Four specific risks show up repeatedly in outsourcing disputes:

  • Vendor reuse — the vendor uses architecture, modules, or design patterns from your project in another client's product. Without a non-compete clause, this is legal in most jurisdictions.
  • Pre-existing IP contamination — the vendor embeds proprietary libraries into your product without disclosing them. You cannot extract or replace these components without rebuilding significant portions of the system.
  • Contractor chain risk — the vendor subcontracts part of the work. If the subcontractor's agreement does not include IP assignment, your vendor cannot legally transfer what it does not own.
  • Source code lock-in — the vendor hosts your code on their repositories, their infrastructure, their CI/CD pipelines. If the relationship ends, you have no access to the codebase you paid to build.

Each of these risks is preventable with the right contract language. None of them are prevented by a generic NDA alone.

What contract clauses protect your IP in outsourcing?

Five clauses form a complete IP protection framework. Each addresses a different attack surface. Removing any one creates a gap that the others cannot cover.

1. Work-for-hire / IP assignment clause — assigns ownership of all new code, documentation, designs, and inventions created during the engagement to the client. The clause must state that assignment occurs automatically upon creation, not upon final payment. If the vendor's jurisdiction does not recognise work-for-hire doctrine (most countries outside the US do not), the clause must include an explicit assignment of all rights.

2. Pre-existing IP schedule — lists every library, framework, module, and tool the vendor brings into the project that existed before the engagement. These are excluded from the IP assignment. The client receives a perpetual, irrevocable licence to use them within the delivered product. If the vendor cannot produce this list, the contract should state that anything not listed is presumed to be work product and assigned to the client.

3. Non-compete / non-reuse restriction — prevents the vendor from building substantially similar software for direct competitors during and for a defined period after the engagement. Scope and duration must be specific — "similar products" and "competitors" need definitions, not assumptions. A 12-to-24-month post-termination window is standard.

4. Source code escrow — deposits a copy of the source code with a neutral third-party escrow agent. Release triggers should include vendor insolvency, material breach, or failure to maintain the software for a defined period. Escrow is most relevant when the vendor hosts the code — if the client already owns the repository, escrow is redundant.

5. Audit rights — grants the client the right to inspect source code repositories, commit histories, dependency trees, and deployment pipelines at any time during and after the engagement. The clause should require reasonable notice (48-72 hours) but not vendor approval. Audit rights without repository access are meaningless — the clause must include access to the actual codebase, not just reports about it.

What is a work-for-hire clause in software development?

A work-for-hire clause states that all intellectual property created during a software development engagement belongs to the client, not the developer or vendor who created it. Under US copyright law (17 U.S.C. § 101), work-for-hire applies automatically to employees but requires a written agreement for independent contractors — which is what offshore development vendors are.

The critical distinction: in the US, a properly drafted work-for-hire clause means the client is the legal author of the code from the moment it is written. In India, the UK, and most other jurisdictions, the "work-for-hire" doctrine does not exist in the same form. Indian copyright law (Section 17 of the Copyright Act, 1957) assigns initial ownership to the author unless there is a written contract stating otherwise.

This is why contracts with Indian development vendors must include both a work-for-hire declaration (for US legal coverage) and an explicit IP assignment clause (for enforceability under Indian law). One without the other leaves a jurisdictional gap.

How does source code escrow work?

Source code escrow places a verified copy of the complete source code, build scripts, documentation, and deployment instructions with a neutral third-party agent. The escrow agreement specifies release conditions — events that trigger the escrow agent to hand the code to the client.

Standard release triggers include:

  • Vendor files for bankruptcy or becomes insolvent
  • Vendor materially breaches the MSA and fails to cure within the notice period
  • Vendor ceases operations or is acquired and the acquiring entity does not assume the obligations
  • Vendor fails to deposit updated code for more than 90 consecutive days

Escrow is a safety net, not a primary control. The stronger approach is client-owned repositories from day one — the client's GitHub or GitLab organisation, with the vendor contributing as collaborators. This eliminates the access problem entirely. Escrow matters when legacy contracts or vendor preferences prevent client-owned repositories.

What's the difference between IP assignment and licensing?

IP assignment transfers ownership permanently. The vendor no longer has any rights to the assigned code. IP licensing grants the client permission to use the code under defined terms, but the vendor retains ownership. The distinction determines what happens when the relationship ends.


IP Assignment

IP Licensing

Ownership

Transfers to client permanently

Remains with vendor

Post-termination rights

Client retains all rights automatically

Depends on licence terms — may expire

Vendor can reuse the code

No — vendor has no rights after assignment

Yes — vendor still owns the code

Right to modify and sublicence

Full — client controls everything

Limited — depends on licence scope

Best used for

All custom code written for your project

Vendor's pre-existing frameworks and tools

The correct outsourcing contract uses both: assignment for all new work product, and a perpetual licence for any pre-existing IP the vendor brings into the project. Using only licensing for custom code is a red flag — it means the vendor retains the right to reuse or relicense your system.

How does IP protection differ by country?

IP enforcement varies by jurisdiction. The country where your vendor is based determines which laws govern the contract by default, how disputes are resolved, and what remedies are available if the vendor violates the agreement.

Factor

US

UK

India

Eastern Europe

Work-for-hire doctrine

Yes — recognised for contractors with written agreement

No — requires explicit assignment

No — Section 17 assigns to author by default; contract overrides required

Varies — Poland and Romania require assignment; Ukraine limited enforcement

Enforcement speed

Fast — federal courts, established precedent

Fast — strong IP courts

Moderate — commercial courts improving; arbitration preferred

Slow to moderate — cross-border enforcement challenges

Recommended contract provision

Work-for-hire + assignment + US governing law

Explicit assignment + UK governing law

Dual clause (work-for-hire + assignment) + arbitration in client's jurisdiction

Assignment + governing law in client's country + arbitration clause

Key risk to watch

Contractor vs employee classification disputes

GDPR data processing overlap with IP clauses

Subcontractor chain — vendor must pass IP obligations to every subcontractor

Political instability affecting contract enforcement and team continuity

The governing law clause determines which country's courts interpret the contract. For US and UK clients outsourcing to India, the contract should specify the client's jurisdiction as governing law. Indian vendors who refuse this are a red flag — legitimate agencies with nothing to hide accept client-side governing law because their contracts are built for it.

How Madgeek handles IP protection

Every Madgeek engagement starts with a mutual NDA signed before any technical discussion. The master services agreement includes IP assignment covering all custom code, documentation, designs, and inventions created during the engagement. Pre-existing IP is listed in a separate schedule, disclosed before development begins, and licensed to the client with perpetual, irrevocable rights.

All source code lives in client-owned Git repositories. Clients have full access to commit histories, branch structures, and deployment pipelines from day one. There is no vendor lock-in because there is nothing to lock — the client owns the code, the repository, and the deployment infrastructure. When clients ask about source code escrow, we explain that escrow solves a problem we have already eliminated.

This is not a differentiator we invented. It is the minimum standard any serious offshore development partner should meet. If your current vendor does not offer all five provisions outlined above, that gap is worth a conversation.

Written by

Abhijit Das

CEO

Building AI tools for businesses from legacy to new age SaaS startups

LinkedIn ↗

Need a team to build this for your business?