Back to articles

Who owns your mobile app's source code

When an agency builds your app, who owns the code, how to get it, and why you must demand a clear IP assignment in the contract before signing.

Youssef Attia
Youssef Attia

Fondateur d'Inyka

Published on July 9, 2026

5 min

Short answer

By default in most jurisdictions, the code written by an agency or a freelancer belongs to them, not to you. You only become the owner if the contract explicitly assigns the copyright and IP rights. Without a clear clause, you're paying to use an app whose code you don't own, which makes you dependent on that provider for life. Always demand a full, written assignment before you sign.

The trap of unassigned intellectual property

A lot of founders assume "I paid for the app, so the code is mine." In most jurisdictions, that's simply not true.

Source code is protected by copyright. The author, by default, is the person who wrote the code. When that person works for an agency or as a freelancer, it's them or their company that holds the rights, unless those rights are explicitly assigned to the client.

Practical consequence: if you pay €25,000 for an MVP with no assignment clause in the contract, you get a license to use it, not ownership. You can't:

  • Hand the code to a different provider to develop it further.
  • Have the code freely audited by a third party.
  • Sell it in an acquisition or use it in a fundraise without the provider's consent.
  • Publish it as open source.
  • Fork it for another product.

These restrictions are almost never explained to the client at the start of the engagement. They resurface when you want to switch providers, or when a potential acquirer runs due diligence.

Why some agencies won't hand over the code

Three reasons, some more legitimate than others:

A retention business model. If the code stays their property, you come back to them for every change. That's an annuity.

Reuse of internal components. Some agencies build an in-house framework they refuse to assign. They want to rent you access to that framework, project after project.

Commercial protection. They don't want you taking their code to a competitor who could assess or copy it.

None of these reasons work in your favor as a client. All of them put you at a disadvantage.

What the assignment clause needs to say

A clear, complete assignment clause should specify, at a minimum:

  • A full and exclusive assignment of the copyright on the code specifically developed for the project (excluding third-party open source or commercial libraries).
  • For all forms of exploitation: reproduction, display, adaptation, translation, modification, distribution, making available to the public.
  • For the full legal term of the rights (life of the author plus 70 years in most jurisdictions).
  • For all territories.
  • Definitively, from delivery or full payment.
  • With no extra fee: the assignment is included in the price of the engagement.

The clause should also state what is not assigned: open source components (which stay under their own license), third-party proprietary components (Stripe SDK, Expo modules), and any internal frameworks of the provider that are explicitly listed in an appendix.

Open source libraries: don't get this wrong

A question comes up a lot: "If the app uses open source libraries like React Native, do I also need the rights to React Native assigned to me?"

No. Open source code stays under its original license (MIT, Apache, GPL, and so on). You don't own it and you don't need it assigned. What must be assigned is the code written specifically for your project by the agency or freelancer.

That's why a good clause separates the two: "project-specific code assigned to the client" versus "third-party components kept under their original license."

The practical minimum to demand at handover

Beyond the assignment clause on paper, demand concrete deliverables:

  • Full access to the Git repository (GitHub, GitLab, Bitbucket) with ownership of the repo transferred to your account or organization.
  • Apple Developer and Google Play accounts under YOUR organization name, not the agency's. If the app was published under the agency's account, ask for the app transfer.
  • Access to third-party services: Supabase, Firebase, AWS, Vercel, OneSignal, Stripe. The accounts should be in your company's name, paid from your card.
  • Technical documentation: an up-to-date README, build instructions, secrets and environment variables listed, the database schema.
  • CI/CD account: if EAS Build is used to ship the app, your Expo account should own the project.

Without these, even with a perfect assignment clause, switching providers will be a nightmare.

How to check whether your current contract protects you

If you already have a project underway or delivered, pull up your contract and look for these terms:

  • "Assignment" or "transfer" of copyright / IP rights.
  • "Source code" and "intellectual property."
  • A statement that the price paid includes the assignment.

If these terms are missing or vague ("the provider grants a license to use"), you're not the owner. Ask your provider for a written amendment that formalizes the assignment.

If the agency refuses, or ties the assignment to a significant extra payment, that's a clear signal: they were counting on your dependency to generate recurring revenue.

The escrow trap

Some agencies propose a compromise: the code stays their property, but they deposit it with a third party (an escrow agent). You get access if they disappear or in case of a dispute.

That's not enough. You only end up owning the app if the provider fails. As long as they exist, they keep control. The only real protection is a full, immediate assignment.

How Inyka handles it

At Inyka, full assignment of the code to the client is in the standard contract, with no option and no extra charge. At the end of the engagement:

  • The Git repository is transferred to your GitHub account or organization.
  • The Apple Developer, Google Play, Expo, and third-party service accounts are in your name from the start, or transferred at the end.
  • The documentation and build instructions are handed over and explained.
  • You can switch providers the day after delivery without asking us for anything.

It's one of the main things that sets us apart from more established agencies, which often keep nothing more than a license to use.

Youssef Attia

About the author

Youssef Attia

Youssef Attia est le fondateur d'Inyka, studio spécialisé dans les applications mobiles React Native pour iOS et Android. Il accompagne les porteurs de projet du cadrage jusqu'à la publication sur les stores, avec un prix fixe annoncé avant signature.

Read next