What a software development contract includes
Most software deals use two or three documents: a master services agreement (MSA) with the legal terms, a statement of work (SOW) for each project, and an NDA. Small projects often combine them in one agreement, which is fine if every clause below is covered. If they are separate, check which document wins when they conflict.
A contract only protects you if you picked the right vendor. How to choose a SaaS development company covers that step.
The clause-by-clause checklist
Use this table to review a draft or to brief your lawyer.
| Clause | What to look for |
|---|---|
| Scope and deliverables | Features, user roles, platforms and integrations, plus the designs and documentation you receive |
| Exclusions | What is not included, such as content writing, data migration, third-party fees or app store fees |
| Milestones and payments | Payments tied to delivered and accepted milestones, not to dates alone |
| Acceptance criteria | A testing window after each milestone, how defects are reported, and what counts as accepted |
| Change requests | Changes raised in writing, estimated for cost and time, and approved before work starts |
| IP assignment | All code, designs and documentation assigned to you, worldwide, and when that takes effect |
| Pre-existing and open-source code | A permanent license to any reusable vendor code, and a list of open-source licenses used |
| Accounts and hosting | Domain, hosting, repository, app store and payment gateway accounts registered in your name |
| Confidentiality and NDA | What counts as confidential, how long the duty lasts, and return or deletion of your data at the end |
| Data protection | How personal data is secured, in line with laws that apply to you, such as India's DPDP Act, 2023 |
| Warranty and bug fixes | A defined period after launch when defects in the agreed scope are fixed at no cost |
| Support and maintenance | What follows the warranty: scope, response times and monthly cost |
| Termination | Notice period, payment for work done, and your right to everything built so far |
| Handover | Source code, credentials, documentation and data exports delivered, with time for questions |
| Liability and indemnity | A cap on liability, and who covers third-party claims such as IP infringement |
| Governing law and disputes | Which law applies, which courts or arbitration seat, and an escalation step before either |
Scope, acceptance criteria and change requests
Most disputes start here, because "done" was never defined. Write acceptance criteria as checks anyone can run. "Users can reset their password by email, and the link expires after one hour" is testable. "A user-friendly login" is not.
Look for a clear line between a defect (it does not work as agreed) and a change (you now want something different). Some contracts treat a milestone as accepted if you do not respond within the testing window, so put those dates in your calendar.
For comparison, at StackWise minor additions under 10% of scope are absorbed, and larger changes get a quote and timeline adjustment within 24 hours.
IP, code ownership, accounts and NDA
In many countries, including India, a contractor who writes code for you can own its copyright until it is assigned to you in writing. Paying the invoice is not the same as owning the work. Check when the assignment takes effect: on signing, on each payment or on final payment.
Under Indian copyright law, an assignment that does not state its duration or territory is treated by default as lasting five years and covering only India, so look for worldwide wording for the full term of copyright. Vendors often keep their own reusable tools, which is reasonable if you get a permanent, royalty-free license to use them. Ask for a list of open-source licenses, since some, such as the GPL, attach conditions when you distribute the software.
Accounts matter as much as code: the vendor should be a user on your domain, hosting, repository and payment gateway, not the owner. Sign the NDA before you share anything sensitive, and check that it covers your data, not just your idea.
StackWise signs NDAs on request before sensitive information is shared, and hands over the full repository, design files, documentation and access to every account, with no licensing fees or lock-in.
Warranty, support, termination and handover
- Warranty. Set response times by severity: a broken checkout needs a faster fix than a typo. New features and problems caused by someone else's changes sit outside it.
- Support. After the warranty, a retainer needs its own scope, response times and price; see what maintenance and support can cover. StackWise includes one to three months of support, depending on the plan, then an optional monthly retainer.
- Termination. Look for a notice period, payment for work completed to that date, and delivery of everything built so far, including unfinished code.
- Handover. Name the deliverables: repository, credentials, documentation, database exports and a short window for questions, so another team could pick up the work.
Governing law and dispute resolution
The contract should name the law that applies and where disputes are heard: specific courts or an arbitration seat. Many contracts add an escalation ladder first, such as a meeting between senior people, then mediation. If you and the vendor are in different countries, ask your lawyer whether a judgment or award could be enforced where the vendor is based.
In India, agreements are generally subject to state stamp duty, and electronic signatures are recognized under the Information Technology Act, 2000. Your lawyer can confirm the stamping and signing steps for your agreement. Hiring from abroad? See outsourcing software development to India.
Want a number for your project?
Answer a few questions and get a starting price straight away, then a written quote.