A contract is where good intentions either get written down or quietly stay assumptions. Six things worth checking before you sign anything.
What should be explicit
- Scope of work — specific screens, features and what "done" means, not a paragraph of adjectives.
- IP ownership — who owns the code, when ownership transfers, and whether it's per-milestone or only at final delivery.
- Payment schedule — tied to milestones, not front-loaded. Full payment upfront removes your leverage entirely.
- Change-request process — how a scope change gets quoted and approved, so it doesn't become an argument later.
- Termination terms — what happens, and what you keep, if either side ends the engagement early.
- Post-launch support — what's covered after go-live, for how long, and what counts as a bug versus a new feature.
What it means if one is missing
Not necessarily bad faith — but it's a gap you're expected to accept on trust, and trust isn't a contract term. Ask for it in writing before you sign; a reasonable agency will add it without pushback. Our own terms, including the refund guarantee, are published rather than something you have to ask us to add.