Back to journal
Freelancing 7 min read

The freelance contract clauses I always insist on (and why)

Eight years of freelance work distilled into the exact contract clauses I never sign a project without. Written for founders who want to hire freelancers the right way.

D
Deepak Mishra
May 5, 2026

Every freelance disaster I have watched unfold from a distance started as a contract that was too generous, too vague, or too one-sided. Below are the exact clauses I insist on before any paid engagement — as much for the client's protection as mine.

1. Milestone-based payment with a real deposit

The standard split is 40% at kick-off, 30% at architecture sign-off, and 30% at launch. That deposit signals real commitment on both sides. Anything under 30% up front is a red flag — for the freelancer and for the client.

2. IP assignment on payment, not before

Every line of code I write is assigned to the client — but only once the invoice covering that milestone is paid. Not before. This clause protects both parties: the freelancer keeps leverage, and the client gets a clean transfer of ownership without a "who owns this code" argument two years later.

3. Scope change protocol

Every fixed-scope contract names a Change Order process. Small adjustments (under X hours) are absorbed inside the sprint at no cost. Anything larger gets a written impact estimate before any code moves. This is the single most valuable clause in the contract — it prevents both scope creep and scope disputes.

4. Kill clause with a defined settlement

Either side can terminate for cause with 14 days notice. Payment on termination is pro-rated to completed work, and code shipped up to that point transfers to the client. This gives both sides a graceful exit if fit turns out to be wrong — no lock-in, no war.

5. Reference and portfolio rights

I retain the right to mention the client and describe the engagement in general terms on my portfolio. If specific details are sensitive, we name them in an NDA schedule. Otherwise, generic descriptions are fair game — six months after launch, most clients are proud of the work anyway.

6. Warranty period

Every fixed-scope build ships with a 30-day post-launch defect warranty. Anything that behaves differently from the agreed spec, I fix at no charge. Anything outside the spec is a Change Order. This clause forces the spec to be written clearly — which is a feature, not a bug.

7. Third-party costs pass through

Hosting, API subscriptions, licenses, and stock imagery are the client's costs, invoiced on their accounts. I do not want to mark up your Vercel bill and you should not want me to.

8. Confidentiality with an expiry

NDA obligations last for three years after the engagement ends. Perpetual NDAs are unenforceable in most jurisdictions and a signal of unclear thinking. Three years is enough to protect real trade secrets and short enough for both sides to keep track of.

The best clients push back on maybe two of these. Every clause exists because a specific past project made it necessary. If you are hiring a freelancer and none of these are in the contract, you are trusting good will where a document should be doing the work.

Something you need shipped
this quarter?

Send a two-line brief with the outcome you're after — a build, an audit, a rescue, a second opinion. I read it personally and reply within one business day. No agency middle-layer. No sales funnel.