Software Development Contracts: 12 Clauses You Should Not Sign Without

Software Development Contracts: 12 Clauses You Should Not Sign Without

Quick summary

The most dangerous clause in a software contract is the missing one. The three that matter most: explicit source-code ownership — because without express wording, rights generally stay with whoever wrote the code rather than whoever paid; whose name the accounts use — domain, hosting, store; and acceptance criteria — how everyone knows delivery is done without argument. This is a practical guide for project owners, not legal advice.

The twelve clauses

#ClauseWhat it protects you from
1Written scope listing what will and will not be built"I assumed that was included" — the most common dispute
2Source-code ownership with an express assignment to youOwning an app but not its code
3Accounts in your name: domain, hosting, store, databaseYour product becoming hostage to a disagreement
4Payments tied to deliverables, not dates alonePaying for elapsed time with no result
5Acceptance criteria — how delivery is tested and who signs off"It's done" versus "it isn't" with no reference
6Warranty period after launch and its scopePaying twice to fix an original defect
7Change-request process and its pricingSilent scope creep from both sides
8Handover and documentation — literally what is deliveredReceiving "an app" without what runs it
9Confidentiality and customer-data protectionA leak with unclear responsibility
10Right to showcase the project — or to forbid itYour project appearing publicly before launch
11Early termination: what happens to payments and work doneLosing everything if work stops
12Dispute resolution and governing termsA disagreement with no path forward

The clause that matters most: ownership

Many owners assume paying means owning. That is a dangerous assumption. As a general principle of copyright, rights arise with the creator, and transferring them to the client requires express wording. Without it you may own a working copy but not the right to modify it or move it to another developer.

And ownership is broader than the word "code". Name it explicitly: the source and its change history in a repository you own; editable design files, not exported images; store, domain, hosting and database accounts; keys and secrets with an obligation to rotate them at handover; and the right to modify, derive and move the work without permission.

A fair exception you should accept: the vendor may retain the right to reuse generic components they built before you and use with others. That is legitimate — what matters is that it is stated clearly and does not cover what was built specifically for you.

Payments: tie them to delivery

PaymentAgainst whatTypical share
FirstStart of work and an approved written scope25 – 30%
SecondApproved, testable design20 – 25%
ThirdA working beta you use yourself25 – 30%
FinalLaunch, full handover and documentation20 – 25%

The final payment comes after handover, not before. Paying 100% up front is not trust — it is risk with nothing in return.

Acceptance criteria

"Delivered" carries two readings. Make it measurable: the app runs on named devices, the functions listed in the scope pass a test both parties attend, and a defined review window (say five days) in which feedback must be raised or delivery is deemed accepted. That last part protects both sides — you from incomplete delivery, the vendor from endless review.

We work to a written contract and scope on every project — see custom business systems.

Note: this is practical guidance for project owners, not legal advice. Have final wording reviewed by a lawyer, especially ownership, liability and dispute clauses.

Frequently asked questions

Do I need a contract for a small project?
Yes, sized to the project. One page suffices for a SAR 5,000 job: scope, price, payments, ownership, warranty period. A contract is not a formality but a reference when views differ — and a small project without one becomes a dispute its own size.
Who owns the code if the contract is silent?
As a general principle, copyright arises with the creator and transfer requires express wording. Silence tends to favour the vendor, not you. Do not rely on custom or goodwill — ask for the clause.
How should I handle change requests mid-project?
Change is normal and should be organized rather than forbidden: anything outside scope is estimated in time and cost and approved in writing before it is built. Projects that slip by months usually did not refuse change — they accepted it unpriced until it accumulated.
Should I ask for a warranty after launch?
Yes, and distinguish two things: fixing defects in what was delivered should be free within a defined period, while new development is a separate agreement. Confusing the two is what makes some projects feel like they never end.

Working on something like this? See our Mobile App Development service — scope, timeline and real pricing.

Ready to start your tech project?

Horizon Tech turns your idea into a powerful digital product.

Contact us now  See our work