White-label SaaS adds a brand layer above tenant isolation. The architecture must automate custom domains and TLS certificates, isolate theming and content at both the brand and tenant level, and support reseller billing and delegated administration without forking the application.
Custom domains and TLS automation
Custom domains are the visible core of white-label and the most operationally demanding. Each brand, and often each tenant, needs its own hostname with a valid certificate, and these are added continuously by customers rather than by your team.
Automate the full path: verify domain ownership through a DNS challenge, provision the certificate, configure routing and edge caching, and monitor expiry with automated renewal. Platforms that terminate TLS at a provider supporting on-demand certificates remove most of this work.
Handle the failure modes explicitly. Domain verification can fail, certificates can fail to issue, and DNS can point somewhere unexpected. Each needs a clear status visible to the reseller, not a silent failure that produces a support ticket.
- Automate domain verification through DNS challenges.
- Provision and renew certificates automatically with expiry monitoring.
- Surface per-domain provisioning status to the reseller.
- Support apex and subdomain hostnames consistently.
Modelling brand above tenant
Introduce brand as an entity above tenant. A brand has a name, logo, colour palette, typography, email templates, legal documents, support details and a reseller administrator who can manage its own tenants.
Delegated administration must be scoped: a reseller administrator sees their brand's tenants and nothing else, and cannot escalate to platform-level privileges. This is a tenancy boundary that must be enforced in the same way as tenant isolation.
Reseller billing adds a layer. The platform bills the reseller, and the reseller bills their tenants, often with their own markup. Support both models: platform-to-reseller invoicing, and either direct tenant billing or reseller-billed with usage reporting back to the platform.
| Layer | What is configured | Isolation requirement |
|---|---|---|
| Platform | Core application, billing, security | Central, not tenant editable |
| Brand | Domains, theme, legal, support | Strict isolation between brands |
| Tenant | Users, data, configuration | Strict isolation between tenants |
| Role | Permissions and delegated admin | Scoped to brand or tenant |
| Content | Emails, templates, documentation | Per brand with tenant overrides |
Theming and content isolation
Theming should be driven by design tokens rather than by per-brand stylesheets. A brand supplies token values, and the shared component library renders them. This keeps one codebase and makes brand onboarding a configuration exercise.
Where brands require layout-level differences, provide a bounded set of layout variants rather than allowing arbitrary template editing. Unbounded template access turns every brand into a maintenance obligation and makes platform upgrades risky.
Email templates, legal documents, notification content and help content all need brand scoping with defined override precedence, so the platform default applies unless the brand or tenant overrides it.
- Drive theming from design tokens, not per-brand stylesheets.
- Offer bounded layout variants rather than arbitrary templates.
- Define override precedence for content: platform, brand, tenant.
- Version brand configuration so changes are auditable.
Keeping upgrades safe
The purpose of resisting per-brand forks is upgrade safety. A single codebase with configuration and extension points can be upgraded once for everyone, whereas forked brands must each be migrated and tested, and the cost grows with every brand added.
Where genuine extension is needed, provide stable extension points such as webhooks, a scoped plugin interface or a documented integration API, and version them so changes can be rolled out with deprecation windows.
Operationally, monitor per brand: error rates, latency and provisioning failures. A problem affecting one brand's custom domain configuration should be visible as such, because brand-specific incidents look like platform incidents to that brand's customers.
- Maintain one codebase and upgrade once for all brands.
- Expose versioned extension points instead of code forks.
- Monitor error rates and latency per brand.
- Deprecate extension point versions with notice.
Frequently asked questions
How do white-label platforms handle custom domains at scale?
By automating the whole path: DNS-based domain verification, automatic certificate provisioning and renewal, routing configuration and visible per-domain status. Manual domain setup does not scale past a handful of brands.
Should each white-label brand get its own codebase?
No. Forks multiply maintenance and make upgrades unsafe. One codebase with design-token theming, bounded layout variants and versioned extension points keeps brand onboarding a configuration exercise.
How does reseller billing differ from direct billing?
In reseller billing the platform invoices the reseller, who invoices their own tenants, often with a markup. That requires usage reporting to the reseller and either direct tenant billing or consolidated reseller invoicing.
References
Engineer your next strategic platform
Estimate your project investment and delivery timeline instantly, or schedule an architectural discovery call with our engineering leadership.