How white-label development works
In a white-label arrangement your agency owns the client relationship and the partner owns the build. You sell the project, run the client meetings and present the work as your own. The partner turns the agreed scope into working software, reports to your project lead and hands everything back to you.
It differs from passing a project to another agency in one important way: the partner is invisible. Staging URLs, emails, documentation and repository names carry your name or your client's, never the partner's. Your client should not be able to tell where your team ends and the partner begins.
For the partner, the project runs like any other build: discovery with you instead of the end client, a design handoff, weekly demos, a staging environment and a launch. The difference is that every touchpoint goes through your agency.
What agencies usually outsource
- Overflow builds. You won more work than your team can deliver this quarter. A partner takes a whole project or a defined part of one, so you do not turn work away or hire in a hurry.
- Figma-to-Next.js. Your designers own the look. The partner turns approved Figma files into a fast, responsive Next.js site that matches the design closely, with a CMS your client can edit.
- Web apps and SaaS. Client portals, dashboards, booking systems and subscription products that need login, a database, payments and an API, which is beyond what most marketing-site teams build.
- Maintenance and support. Dependency updates, bug fixes, small features and hosting care for sites you launched years ago, so your own team can focus on new work.
Some agencies also bring in a partner for one specialist layer, such as an AI feature, a payments integration or a CI/CD pipeline, while their own developers build the rest.
How confidentiality and branding work
- An NDA before anything sensitive is shared. It should cover your client's identity and data, your pricing, and the partner's promise not to approach your client directly.
- No client contact unless you want it. By default the partner talks only to your team. Some agencies bring the lead engineer into technical calls as part of the agency team. That is your call, made project by project.
- Your branding on deliverables. Documentation, staging URLs, emails and admin screens carry your agency's name or your client's.
- Your accounts. The repository, hosting, domains and third-party services sit in accounts you or your client control, with the partner added as a collaborator.
Agree in writing that intellectual property in the work transfers to you, or straight to your client if your client contract requires it, on payment. Ask your lawyer to check that the partner agreement lines up with what you promised your client. StackWise signs NDAs on request before sensitive information is shared, and hands over the full repository, design files, documentation and account access at the end of a project, with no licensing fees.
How to scope and hand off a project
White-label projects rarely fail in the code. They fail in the gap between what your client signed and what the developer understood. Close that gap before work starts.
- 1Share the signed scope, approved designs and brand guidelines in one place.
- 2Turn each feature into acceptance criteria: what the user can do, what happens on error, which devices and browsers count.
- 3Agree what is out of scope and how change requests are priced, before your client asks for one.
- 4Set a rhythm: a weekly demo on a staging URL you can show your client, plus one shared channel for questions.
- 5Define the handoff: repository, environment variables, deployment steps, a README and a recorded walkthrough or call.
Scope drift is where agency margins disappear. StackWise built ScopeCI, a GitHub App for agencies that checks pull requests against the signed scope (currently on a waitlist), around exactly this problem. Whatever tooling you use, the principle holds: every change should trace back to something the client agreed to.
How to check a partner's code quality
You are putting your agency's name on someone else's code, so check it before your client does. Most of these checks do not need a senior engineer.
- See a live product and its code. Look for TypeScript rather than untyped JavaScript, a consistent structure and a README that explains how to run the project.
- Run a paid pilot. One or two weeks on a small, real task shows how they ask questions, estimate and write pull requests.
- Review pull requests. Small, well-described pull requests with tests are a good sign. One giant commit at the end is not.
- Look for CI. Type checks, linting, tests and a preview deployment on every pull request catch problems before a person has to.
- Test staging yourself. Check mobile layouts, form validation, error pages, page speed and what happens with unexpected input.
- Ask about security. How secrets are stored, how dependencies are updated, and whether card data ever touches the server. It should not.
Risks and how to manage them
| Risk | What it looks like | How to manage it |
|---|---|---|
| Client poaching | Your client hears from the partner directly | Non-solicitation clause; all contact through your channels |
| Scope creep | Small tweaks pile up and the timeline slips | Acceptance criteria and a priced change-request process |
| Quality gap | Your client finds bugs before you do | Pull request reviews, CI checks and staging sign-off before demos |
| Lock-in | Code or hosting sits in the partner's accounts | Your repository, your hosting, a documented handoff |
| Key-person risk | One developer leaves and nobody knows the code | Documentation, readable code and a README you have tested |
| Time-zone delays | Questions wait a day for answers | A fixed overlap window for calls and written async updates |
If you are comparing partners, the agency partnership page explains how StackWise works with agencies, and how to choose a SaaS development company covers the wider checklist.
Want a number for your project?
Answer a few questions and get a starting price straight away, then a written quote.