Web Design Contract Red Flags: Six Clauses to Check Before You Sign
This page is general information, not legal advice.
A web design or development contract decides who owns the finished site, how much work fits in the price, when money changes hands and who controls the accounts the site runs on. Usually only one side drafts it, either the agency's template or the client's procurement form, so the other side starts at a disadvantage. This page covers six clauses that often move risk onto either the freelancer or the client. For each one you get an illustrative example, why it matters, and wording you can propose. Most of these terms can be negotiated, and how they are read and enforced varies by jurisdiction.
The example clauses below are illustrative. They are not taken from any real company's contract.
1. Ownership of the site and code
A typical clause might read: "All work product, including designs, code, frameworks, tools and materials used in the Project, shall be the sole property of Client upon creation."
Why it works against you
For a freelancer, "tools and materials used" can sweep in your reusable code libraries, starter themes and design systems, so you can't reuse your own work on the next project. Ownership "upon creation" also passes before you've been paid. For a client, the reverse version is the risk: a clause that keeps ownership with the developer and gives you only a vague license can leave you unable to move or change your own site. See IP assignment clauses explained.
What to ask for instead
Sample wording to propose: "On full payment, Client owns the final deliverables created specifically for this Project. Developer keeps ownership of pre-existing tools and code, and grants Client a perpetual, non-exclusive license to use them as part of the website. Third-party software remains subject to its own license."
2. Unlimited revisions and open-ended scope
A typical clause might read: "Developer will make all revisions requested by Client until Client is fully satisfied with the website."
Why it works against you
"Until fully satisfied" has no end point. A fixed fee can turn into months of unpaid work as new pages, features and redesigns pile up. Clients lose out too, because vague scope leads to disputes over what was actually promised. See freelance contract red flags.
What to ask for instead
Sample wording to propose: "The fee covers the deliverables listed in Schedule A and up to [two] rounds of revisions per design stage. Additional work will be quoted in writing and starts only after Client approves the quote."
3. Payment only on launch or "acceptance"
A typical clause might read: "Payment in full is due within 60 days after the website launches and is accepted by Client in its sole discretion."
Why it works against you
The client controls the launch date and decides whether to accept, so the developer may wait indefinitely for any payment. If the client stalls on content or approvals, the site never launches and the invoice never comes due. See contractor payment terms red flags.
What to ask for instead
Sample wording to propose: "Client will pay a [deposit] on signing and the balance in milestones per Schedule B, each due within [14] days of invoice. A deliverable is deemed accepted if Client does not give specific written objections within [10] business days of delivery."
4. Developer control of hosting, domain and accounts
A typical clause might read: "Developer will register the domain and host the website under Developer's accounts. Transfer of the domain or files is available on request for a transfer fee set by Developer."
Why it works against you
This one mostly hurts clients. If the domain, hosting and admin logins sit in the developer's name, you depend on them to make changes, renew the domain or leave. A transfer fee with no cap or deadline can trap you. Watch for hosting or maintenance plans that renew automatically, too.
What to ask for instead
Sample wording to propose: "The domain and hosting accounts will be registered in Client's name. Developer will hand over all logins, source files and databases within [7] days of final payment or termination, at no extra charge."
5. Unlimited liability for content, plugins and security
A typical clause might read: "Developer shall indemnify Client against all claims, losses and damages arising from the website, including any data breach, downtime or infringement."
Why it works against you
A freelancer can end up responsible for problems they didn't cause: content and images the client supplied, flaws in third-party plugins, hosting outages or a breach years after handover. With no cap, a small project can carry a very large exposure. See indemnification clauses explained and limitation of liability clauses explained.
What to ask for instead
Sample wording to propose: "Each party is responsible for materials it supplies. Developer is not responsible for third-party software, hosting or changes made by others after handover. Developer's total liability is limited to the fees paid under this Agreement."
6. Termination with no payment for work done
A typical clause might read: "Client may terminate this Agreement at any time for any reason. Upon termination, no further fees shall be payable."
Why it works against you
The client can cancel mid-project, after weeks of design and build work, and owe nothing for it. They may also keep whatever drafts have already been delivered. See termination for convenience clauses explained.
What to ask for instead
Sample wording to propose: "Either party may terminate on [14] days' written notice. Client will pay for all work completed and approved expenses up to the termination date, plus a kill fee of [X]% of the remaining fee. Deliverables transfer on that payment."
Also worth a look
Check who has to keep information confidential and for how long, whether you can show the site in your portfolio, what warranty or bug-fix period applies after launch, and whether disputes go to a distant court or private arbitration. If the deal includes ongoing maintenance, read it like any service agreement.
Scan your own contract free
Every web project contract is different, and one vague phrase can change who owns the site or who gets paid. Upload your contract as a PDF, DOCX, TXT or MD file, or photograph it, into the ScanMyTerms freelance contract review. In about a minute it lists clauses that work against you, with the risk level, the exact wording, why it hurts and how to change it. The free preview needs no sign-up and shows the risk count and the first two findings. The full report is $5. ScanMyTerms does not use your documents to train AI models, and reports are deleted after 7 days.
This page is general information, not legal advice. Contract rules vary by jurisdiction, so for decisions about a specific agreement, talk to a qualified lawyer where you live.
Sources
- All clause examples on this page are illustrative and written for this guide. They are not quoted from any real company's contract.
Scan your web design contract with a free preview, no sign-up needed →