- Scope of work and app specifications
- Development milestones and timeline
- Variations and additional services
- Acceptance testing
- Payment terms
- Intellectual property ownership
- Confidentiality
- Privacy obligations
- Optional and situational clauses
- How Artificer Legal can assist with your app development agreement
- The intellectual property clause protects your work until payment
You have landed a client who wants you to build them an app. They have a vision, you have the technical skills, and somewhere in the middle is a project that needs to get done on time and on budget. Before you write a single line of code, you need a signed agreement.
An app development agreement (AD Agreement) is a commercial contract between you — the developer — and your client. It sets out what you will build, when you will deliver it, how you will be paid, and who owns what at the end. Unlike a simple services contract, an AD Agreement has to accommodate a moving target: requirements change, timelines slip, and what the client said they wanted in week one rarely matches what they are asking for in week eight. A well-drafted AD Agreement handles that reality without leaving either party exposed.
Scope of work and app specifications
This is the foundation of every other clause in the document. The scope clause describes the application you are building: its platforms, features, integrations, technical specifications, and any third-party services it will rely on. The more precise, the better.
- Get the client to sign off on a written specification document and attach it as a schedule to the AD Agreement.
- Name specifically what is out of scope — support for operating systems you are not targeting, languages you are not localising for, post-launch maintenance.
- State what happens if the client's instructions are ambiguous or contradictory.
The trap here is an overly vague scope. "A mobile application with social features" is not a specification — it is a dispute waiting to happen. If the specification document is not ready at signing, build in a mechanism for the client to approve a finalised specification before development begins.
Development milestones and timeline
After agreeing on what you are building, you need to set out when each part of it will be ready. A milestone schedule breaks the project into phases — design, back-end build, front-end integration, testing — and assigns a target completion date or turnaround period to each.
This clause matters for two reasons. First, it gives you a contractual basis to invoice progressively rather than waiting until the end of the project. Second, it gives the client visibility over progress and a clear mechanism to raise concerns before they become disputes.
Include a provision that addresses what happens if milestones slip — whether due to your delays, the client's delays in providing feedback, or circumstances outside either party's control. Clients regularly underestimate how much of your timeline depends on them responding promptly.
Variations and additional services
Scope creep is the single biggest commercial risk in app development. The client will ask for things that are not in the specification — sometimes small, sometimes substantial. A variation clause gives you a structured way to deal with those requests without derailing the project or working for free.
The key elements of a sound variation clause:
- The client must submit variation requests in writing.
- You have the right to assess whether to accept or decline the request.
- If you accept, a variation order records the additional work, revised timeline, and adjusted price — and the client signs it before you start.
- Work carried out outside a signed variation order is done at your own risk.
Without this clause, you may find yourself in a dispute over whether certain features were included in the original scope or were extras. A signed variation trail is your best evidence.
Acceptance testing
Acceptance testing is the process by which the completed application (or a phase of it) is reviewed against the agreed specification. This clause determines who conducts the testing, how defects are classified, what counts as a pass, and what remediation rights either party has.
Key drafting decisions:
- Who tests? Will you test in-house, or will the client conduct user acceptance testing (UAT)? Both is common for larger projects.
- When does testing occur? After each milestone, after the final build, or both?
- What is the pass standard? The application should, at minimum, perform in accordance with the specification. Define how material defects are distinguished from cosmetic issues.
- What is the remediation period? If the client identifies defects, how long do you have to fix them before they can reject the deliverable?
The trap is acceptance clauses that allow the client to reject a deliverable on subjective grounds. Tie acceptance to the written specification, not to the client's general satisfaction.
Payment terms
Payment terms are the most commercially critical clause in the AD Agreement. They should cover:
- Pricing structure: Fixed fee, time-and-materials, or a hybrid milestone-based model.
- Invoicing schedule: When each invoice is issued (typically upon milestone completion or sign-off on a deliverable).
- Payment period: How many days the client has to pay. Fourteen to thirty days is common.
- Late payment: What interest or fees accrue on overdue invoices, and whether you can suspend work if payment is not received.
- Debt recovery: Your right to engage debt collection services or pursue the client through a tribunal or court.
- Deposit: Whether a deposit is payable upfront before work commences, and whether it is refundable.
A common trap is drafting an open-ended milestone payment structure without a deposit or payment upon commencement. If the client delays sign-off on milestones, you can find yourself months into a project without payment. Require at least a deposit — and make clear that the IP assignment clause (below) is conditional on receiving it.
Intellectual property ownership
Copyright in software vests in its creator — unless it is assigned by written agreement. Under s 35 of the Copyright Act 1968 (Cth), an independent contractor retains ownership of the work they create unless the parties agree otherwise. If you want to assign the copyright to your client, that assignment must be recorded in writing and signed.
A well-drafted IP clause will address:
- Assignment on payment: You agree to assign all intellectual property rights in the final deliverable to the client, but only once all invoices are paid in full. Until then, you grant the client a limited licence to use the work.
- Pre-existing IP: Tools, frameworks, libraries, or code modules you bring to the project remain yours. The client gets a licence to use them as embedded in the final product, but not a transfer of ownership.
- Rejected work: Work you create that the client rejects or that does not proceed remains your intellectual property.
- Third-party components: Identify any open-source or licensed third-party components included in the application, and confirm the client understands the terms under which those components are licensed.
The trap is a poorly sequenced IP clause that transfers rights before payment is confirmed. This is one of the main levers you have to enforce payment — don't give it away early.
Confidentiality
App development involves genuine exposure of confidential information on both sides. Your client will share business plans, customer data, technical infrastructure, and competitive strategy. You may share proprietary methodologies, development tools, or internal processes.
A mutual confidentiality clause:
- Defines what constitutes confidential information (usually broadly, but with standard carve-outs for information that is publicly available or that the receiving party already knew).
- Prohibits both parties from disclosing confidential information to third parties without consent.
- Limits use of the information to the purpose for which it was disclosed.
- Survives termination of the AD Agreement — typically for two to five years.
If you are working with a client in a regulated sector (finance, health, legal), the confidentiality clause may need to be supplemented by sector-specific data handling obligations.
Privacy obligations
If your application collects, uses, or discloses personal information from end users, privacy compliance is not optional. Under the Privacy Act 1988 (Cth), APP entities — broadly, businesses with annual turnover above $3 million, and certain categories of business regardless of turnover — must comply with the Australian Privacy Principles (APPs). APP 1 requires an APP entity to have a current, clearly expressed privacy policy.
In the AD Agreement context, the IP clause should address:
- Who is responsible for building privacy-compliant features into the application (e.g., consent mechanisms, data deletion functions).
- Whether the developer will handle end-user data during testing, and how it must be treated.
- Each party's obligations if a data breach occurs.
Even if your current business falls below the Privacy Act threshold, building privacy-compliant applications is good practice — clients may be subject to the Act regardless of your own turnover, and the threshold does not apply to all categories of data.
Optional and situational clauses
Depending on the nature of the project, you may also need:
- Limitation of liability: Caps your exposure for indirect or consequential loss — particularly important if the application handles financial transactions or critical business processes.
- Indemnity: Allocates responsibility if a third party makes a claim arising from the client's instructions (e.g., the client provides content that turns out to infringe a third party's copyright).
- Termination for convenience: Either party's right to end the engagement on notice, and the payment consequences (you should be paid for work completed to date).
- Dispute resolution: A staged process — negotiation, then mediation, before litigation — which reduces costs and preserves the relationship where possible.
- Post-delivery support: A separate, time-limited support and maintenance period with its own fee structure, distinct from the development engagement.
How Artificer Legal can assist with your app development agreement
App development agreements combine several areas of law — contract, intellectual property, privacy — and the interactions between them are where disputes most often arise. At Artificer Legal, we review and draft AD Agreements for Australian developers and technology businesses, with a focus on the clauses that matter most commercially.
In practice, that means:
- Reviewing a client-supplied contract before you sign it, identifying clauses that could leave you unpaid or IP-exposed.
- Drafting a bespoke AD Agreement tailored to your development model — fixed-fee, time-and-materials, or milestone-based.
- Advising on IP assignment mechanics so that the transfer of rights is conditional on full payment and properly executed.
- Negotiating variation clauses and acceptance testing regimes that reflect how software projects actually work, not how clients imagine they will.
If you are working from a template you found online, having it reviewed by a practitioner before your next project begins costs a fraction of what a dispute over unpaid invoices or contested IP ownership will.
The intellectual property clause protects your work until payment
The intellectual property clause is the most commercially powerful clause in an app development agreement — and the most frequently misdrafted. Developers routinely assign copyright to clients either upfront (before payment is secured) or informally (with no written assignment at all). Both positions are legally precarious.
The correct approach is straightforward: copyright vests in you as the creator; you agree to assign it in writing upon full payment; until then, the client has a limited licence only. That sequence gives you a genuine enforcement mechanism if the client delays or refuses to pay. Without it, you may find yourself with a completed application, a client who has taken possession of it, and no practical leverage to recover your fees.
In summary, a well-drafted app development agreement should clearly define the scope of work and any variation process, set out a milestone-based payment schedule, retain IP with the developer until payment is complete, include mutual confidentiality obligations, address acceptance testing criteria, and deal with privacy compliance responsibility where the application handles personal information.