Blog · Vendors & Contracts

Who owns the code? What Indian business owners must check before signing

You paid for the app. Under Indian law, that doesn't make it yours.

I've seen what that means in practice over the last year, bidding on government tenders. When a department puts a project out to tender again, the agency that built the current system often refuses to hand over the code or the account credentials.

That leaves the department two choices. It can rebuild everything from scratch, which pushes up the cost of the new tender, or it can award the new tender to the same agency. I'm surprised how often the agency gets away with it.

Government departments aren't the only ones this happens to. It happens to any business that signs a development contract without asking who owns the code, and whose name the accounts are in.

This guide covers what Indian copyright law actually says, the clauses to put in your contract, the accounts that must be in your name and what to do if it's already gone wrong. One disclosure first: Reset, my studio, bids on some of those tenders, so I've seen this from the outside, as the agency that can't take over.

Who owns the code by default in India?

Paying for it isn't the same as owning it

Under section 17 of the Copyright Act, 1957, the author of a work is its first owner (Indian Kanoon). Software counts as a literary work.

There is a "commissioned work" exception, where the person who pays owns the result. But it covers photographs, portraits, paintings, engravings and films. Software isn't on the list. So paying an agency to write your app doesn't, on its own, make you the owner of its source code.

Employees, agencies and freelancers

The other exception is employment. Work an employee creates in the course of their job belongs to the employer, unless they've agreed otherwise. That has two consequences:

  • Your own employees: code written by your in-house team belongs to your company.
  • An agency's employees: code written by the agency's staff belongs to the agency. The agency then has to assign it to you.

Freelancers are where the chain often breaks. If the agency hired freelancers, the agency only owns their work if they assigned it to the agency. If they didn't, the agency can't pass you rights it never had. Your contract should make the agency confirm, in writing, that it holds those assignments.

The "silent contract" trap: five years, India only

This is the part that surprises people. Section 19 of the Act says an assignment must be in writing, and it should state the rights, the duration and the territory (Lawgist). If it doesn't:

  • Duration not stated? The assignment is deemed to last five years.
  • Territory not stated? It's presumed to cover India only.
  • Rights not used within a year? The assignment can be deemed to have lapsed, unless the agreement says otherwise.

This isn't theoretical. Pine Labs v. Gemalto was a dispute over software a development company wrote under a services agreement. The agreement assigned the copyright to the client, but didn't say for how long or where.

In 2011, on appeal, a Division Bench of the Delhi High Court accepted the developer's argument that the five-year default applied, so the rights in that version had gone back to the developer, and it restored an injunction against the client while the case continued (Indian Kanoon, Mondaq).

The fix is one sentence: the assignment is for the full term of copyright, worldwide.

Have a development contract on your desk? Send it to me for a free second opinion. I'll read the technical side, including ownership, accounts and handover, and tell you within 48 hours what's missing.

Owning the code is only half of it

Most ownership problems I see aren't legal arguments about copyright. They're about whose email address an account was opened with.

An agency can give you every line of code and still keep control of your product, because the accounts that run it are in their name. That's exactly what happens in the tender situations I described. Without the credentials, a new team can't deploy the code, renew the domain or publish an update.

Here's what should be in your company's name, opened with a company email address you control:

AssetWhy it mattersWhose name
Code repository
GitHub, GitLab, Bitbucket
The code itself, plus its full historyYour organisation, with the agency added as members
Cloud hosting
AWS, Google Cloud, Azure
Where the app runs, with its servers and databasesYour account. The agency gets access, not ownership.
Domain name and DNSYour web address and email routingYour registrar account
Apple Developer and Google Play accountsYour app's listing, reviews and update rightsYour company. Moving an app between accounts is slow and not always possible.
Payment gateway
Razorpay, PayU, Stripe
Where your money landsYour company, with your KYC
Analytics, email and SMS servicesCustomer data and messagingYour accounts
Third-party API keys and licencesMaps, OTP, WhatsApp Business and so onYour accounts and billing
Design files and documentationRebuilding or extending without the agencyDelivered to you, with a list of credentials

At A2Z Group, one of the four tests I set for every HR platform we evaluated was simple: could A2Z run it on its own infrastructure? That requirement ruled out options that would have left A2Z dependent on a vendor for a system covering 12,000+ employees. Here's how we chose the platform and the delivery partner.

10 clauses to put in your software development contract

Who owns the code is decided by your contract, not by who paid. Take this list to your lawyer and your agency before you sign. These are the clauses I check first when I review a contract.

  1. A clear assignment of all IP in the deliverables. Lawyers generally prefer present wording ("hereby assigns") to a promise ("will assign").
  2. Duration and territory stated explicitly: the full term of copyright, worldwide. This avoids the five-year, India-only defaults.
  3. Assignment milestone by milestone. Rights in each delivered part pass to you as you pay for it, not only at final payment.
  4. Background IP. Agencies reuse their own tools and libraries. You need a permanent, royalty-free licence to anything reused in your product.
  5. Open-source disclosure. A list of open-source components and their licences, so nothing forces you to publish your own code later.
  6. Freelancers and subcontractors. The agency confirms it holds written assignments from everyone who worked on your product.
  7. Your repository from day one. Code lives in your repository, and you can see every commit.
  8. Handover and exit. On termination for any reason, the agency hands over code, credentials, documentation and deployment steps within a fixed number of days, and cooperates with the new team.
  9. Indemnity. The agency covers you if a third party claims the code infringes their rights.
  10. Data protection. If the product handles customer data, include processing terms that meet the DPDP Act. Here's what the DPDP Act means for your vendor contracts.

For government buyers, the same principle applies one step earlier: write the handover, credential transfer and exit obligations into the tender document itself. Then the next tender doesn't start from zero.

Payment terms vs ownership: a fair middle ground

Agencies have a fair point here. They don't want to hand over everything and then go unpaid. That's why many contracts say ownership passes "on full payment".

The problem is what happens in between. If the relationship breaks down at 70% of the build, "on full payment" can mean you own nothing, even though you've paid for most of it.

A fairer arrangement:

  • Ownership passes milestone by milestone, as each milestone is paid for.
  • Code is in your repository throughout, so there's never a moment when you can't see what you've paid for.
  • For large or long builds, consider source code escrow, where a neutral third party holds the latest code and releases it to you if the agency fails to deliver or shuts down.

A good agency won't object to any of this. If one pushes back hard on code living in your repository, ask why.

What if the agency won't hand over the code?

If you're already in this situation, here's the order I'd work in:

  1. Read what you signed. Find the clauses on IP, deliverables, termination and handover. Who owns the code, and whether you have a strong position, depends on them.
  2. Secure what's already yours. Check every account in the table above. Anything in your name, take control of now: change passwords, remove agency admin access where appropriate and enable two-factor authentication.
  3. Put the request in writing. Email a formal request for the code, credentials and documentation, citing the relevant clauses and a deadline. Keep it calm and factual.
  4. Pay what's genuinely owed. If there's a fair dispute over an invoice, settling it is often cheaper than rebuilding.
  5. Bring in a lawyer. If the agency still refuses, a legal notice, or arbitration if your contract provides for it, is the next step. Get advice specific to your contract.
  6. Plan for the worst case. Ask an independent technical lead to estimate what a rebuild would cost. Sometimes that number is your strongest negotiating tool.

At RightLife, I took over a product an external agency had built for about a year, then moved development in-house. A clean handover is what made that possible without starting again. Read how we shipped after four missed launch dates.

Not sure where you stand? Send me the contract and a short note on what's happening. As part of the free second opinion, I'll tell you what the contract gives you and what I'd do next.

A note on AI-written code

Agencies increasingly use AI tools to write code. Who owns AI-generated code isn't settled in Indian law yet. For now, ask your agency to disclose how it uses AI, and to confirm that the assignment and indemnity clauses cover all deliverables however they were produced.

Frequently asked questions

Who owns the code if there's no written contract?

Usually the agency or developer who wrote it. Under Indian copyright law, the author is the first owner, and an assignment has to be in writing to be valid. You'd likely have a right to use what you paid for, but owning it is a different question. Ask a lawyer about your specific case.

Does paying the full amount make the code mine?

Not automatically. Payment matters for what the contract says, but ownership passes through a written assignment. Make sure the contract contains one.

Is "work for hire" valid in India?

Not in the way many US-style templates assume. Indian law doesn't treat commissioned software as automatically owned by the client. Use an explicit assignment clause instead of relying on "work for hire" wording.

Can the agency reuse my code for other clients?

Only if your contract lets them, or if the code is their pre-existing background IP. Your product-specific code should be assigned to you, and the contract should say whether reuse is allowed.

What should I ask for at handover?

The full source code repository with its history, all credentials, deployment steps, documentation of how the system fits together, a list of third-party services and licences and design files.

Do I need an IP lawyer for this?

For a significant build, yes. Have a lawyer draft or review the IP and exit clauses. A technical reviewer, such as a fractional CTO, can catch what a lawyer might not know to look for, such as accounts, repositories and background IP, so the two work best together.

This article explains the general position under Indian law for business owners. It isn't legal advice. Have a lawyer review your contract.

About to sign a development contract?

Send me the contract, proposal or tender document. Within 48 hours I'll tell you who owns the code under it, who controls the accounts and the data and what I'd change before signing. It's free, and I read every one myself.

Get a second opinion → Planning a build and want someone on your side from the start? Let's talk about your build.
Sources