Code ownership — what to demand in your developer contract (Indian… Skip to content
Big Helpers
Hiring Guide

Code ownership — what to demand in your developer contract (Indian SME guide)

More clients lose code than lose money on bad agencies. Here's the contractual checklist to make sure your code is yours from day one — not a hostage to a vendor relationship that goes south.

TL;DR — 6 must-haves in your contract

  1. Source code in your GitHub from day one
  2. IP assignment — written, not implied
  3. All credentials in your accounts (AWS, domain, gateway, email)
  4. No vendor lock-in — no proprietary platforms, frameworks you can't replace
  5. Documentation handover in writing
  6. 30-day post-launch transition if you part ways

The 6 must-haves

1. Source code in YOUR GitHub from day one

Wrong: "We'll give you the code on launch."
Right: "You'll have read+write access to a GitHub repo we create in YOUR organisation. Every commit goes there from day one."

If they refuse, walk. Reason for refusal is always the same: they want leverage to renegotiate later.

2. IP assignment in writing

Indian copyright law: code's first owner is the developer who wrote it, NOT the client paying for it (unlike work-for-hire in some jurisdictions). To transfer IP, you need explicit written assignment.

The clause: "All Intellectual Property rights in deliverables, including but not limited to source code, designs, and documentation, shall vest in [Client Name] upon payment of the applicable milestone, and Developer hereby irrevocably assigns all such rights."

3. All credentials in YOUR accounts

  • AWS / DO / Vercel — your account, your billing
  • Domain registrar — your account
  • Razorpay / Stripe — your account
  • Email (transactional) — your account
  • Database — accessible to you (DB credentials in your hands, not just dev's laptop)

Common scam: agency holds AWS account, charges you 15% markup, locks you in. Your AWS, always.

4. No vendor lock-in via proprietary tech

  • Avoid agency "frameworks" you've never heard of (only they can maintain)
  • Stick to open-source mainstream stacks (Next.js, React, Postgres, etc.)
  • No SaaS dependencies you can't switch (their proprietary CMS, their proprietary payment layer)

5. Documentation handover

Required at end of project:

  • README explaining how to run locally
  • Deployment guide
  • Database schema doc
  • Third-party integrations list with credentials notes
  • Known issues / tech debt list

Without this, even good code is hard to take to a new dev. Demand it.

6. 30-day post-launch transition

If you decide to switch agencies post-launch, the original agency commits to 30 days of: bug fixes (paid hourly, capped), knowledge transfer to new dev, no withholding of access. Bake this into the contract.

Red flags

  • "Our standard contract" with no IP assignment
  • "We host your code on our infrastructure"
  • "You'll get the code on launch" (not from day one)
  • "This is built on our platform" (proprietary CMS / framework)
  • Any pushback on you owning AWS/domain/gateway accounts
Our standard

Big Helpers contract: code in client GitHub day 1, IP fully assigned, all infra in client accounts, no proprietary lock-in, full documentation, 30-day transition clause. Standard, not special. See engagement model →

Last reviewed: 1 April 2026.

Want this built for you?

Talk to Kashvi — 30-min call, honest assessment, no pitch deck.

📬 Practical India-context guides — in your inbox

One useful guide a week from Kashvi. No spam, no marketing fluff. Unsubscribe anytime.

Sources & references

Pricing in this guide is verified as of the article date. Verify with vendors before committing budget — rates change quarterly.

A little help, this way.

Language · भाषा
Reduce motion
Quiet interaction sounds
Gentle haptics

Sound and haptics are optional. Haptics depend on your device and browser. Your device’s reduced-motion setting always takes priority.

The language switch changes available bilingual text. All original language pages remain in the directory.

Find your next step.

Loading the page directory…