White-label: make the platform yours
White-labeling lets an agency run Mass as its own product — its name, its logo, its colors, on its own domain. Branding flows into every public surface, a host-aware resolver maps your domain to your tenant, your clients log in to your brand, and a credit markup lets you resell platform credits at the margin you choose. This guide covers exactly what you can brand and how the routing works.
14 min read · The complete white-label guide
What white-label means here
Your brand, your domain, your pricing — on top of the platform's engine.
White-label is a per-tenant set of branding and routing settings that replace Mass's identity with yours across the surfaces your clients see. Instead of a generic platform, your customers experience your company name, your logo and favicon, your color palette, and your support contacts — served from your own domain. The underlying engine is unchanged; only the skin and the entry point change.
It's an agency capability: the feature flags that unlock white-label, custom domains, and removing platform branding live on the Agency and Black Label tiers. Once enabled, white-label settings are the single source of truth the public surfaces read their brand from.
- Per-tenant identity — name, logo, favicon, colors, custom CSS, and support links replace the platform's defaults for your clients.
- Your domain — a subdomain or a fully custom domain becomes the entry point your customers use.
- Agency capability — white-label, custom domains, and remove-branding unlock on the Agency and Black Label tiers.
- Single source of truth — public surfaces read brand from white-label settings, so changing it once updates everywhere.
Branding settings
Everything that makes a surface look like yours, in one place.
White-label settings hold the brand: a company name, a logo and favicon, primary and secondary colors, optional custom CSS for fine control, and support email and URL so help links point at you. They also carry the routing identifiers — your subdomain and custom domain — and operational fields like the credit markup percentage, a cap on sub-tenants, and an active flag that turns the whole thing on or off.
Tenants edit their own branding through the white-label settings screen and API; super-admins can also create and configure white-label tenants centrally. Because the brand is data, it can be applied consistently to the showcase, the changelog, auth screens, and other public surfaces without per-page styling work.
- Visual identity — company name, logo, favicon, primary/secondary colors, and optional custom CSS.
- Support links — your support email and URL so every help affordance points back to you.
- Routing identifiers — subdomain and custom domain fields that map traffic to your tenant.
- Operational fields — credit markup percentage, max sub-tenants, and an active toggle for the whole white-label.
Host-based routing & context resolution
The platform figures out whose brand to show from the domain the visitor arrived on.
Routing is resolved from the inbound host. For the main app domain, the platform shows its own public context. For any other host, a resolver normalizes the hostname (lowercased, port and leading www stripped) and looks it up in white-label settings — first by exact custom-domain match, then by subdomain. A match resolves the request to that agency's tenant and brand; a miss falls through to the public context safely.
For tenants that haven't pointed DNS yet, a path-based agency link resolves the same context from an agency slug, so the branded surface works (and can be previewed) before a custom domain is live. Once the custom domain is configured, the domain version takes over and the path link becomes a shareable preview.
- Host normalization — the hostname is lowercased with port and leading www stripped before lookup, matching the middleware.
- Custom domain first — an exact custom-domain match resolves straight to the owning tenant and its brand.
- Subdomain fallback — if no custom domain matches, the leading subdomain label is looked up next.
- Path-based preview — an /a/[agencySlug] route resolves the same context before DNS lands, then becomes a preview link.
Fail-safe by design
Any host that doesn't resolve to a white-label tenant falls through to the public MASS context rather than erroring — an unconfigured or mistyped domain degrades to the default surface instead of breaking.
White-label auth
Your clients sign up and sign in to your brand, on your domain.
Authentication respects the white-label context too. When a visitor arrives on an agency's domain, the auth surfaces carry that agency's brand, and the platform's API routes accept a dual-auth pattern — session cookies or a bearer token — so white-label clients work whether they're on the agency domain or calling the API. The end result is that a client never sees the platform's identity in the flow that matters most: creating and accessing their account.
Because the brand and tenant are resolved from the host before the page renders, the login and signup experience is consistent with the rest of the agency surface — same name, logo, and colors — rather than bouncing the user to a generic platform login.
- Branded sign-in/up — auth surfaces inherit the agency's brand resolved from the host.
- Dual auth — API routes accept cookies or a bearer token so white-label clients work on-domain and via API.
- No platform leak — clients authenticate into your brand, not a generic platform login screen.
Credit markup: reselling at your margin
Set a markup and resell platform credits to your clients at the price you choose.
White-label settings carry a credit markup percentage, and the credit cost engine is markup-aware. When a white-label tenant owns the API key, the base provider cost is zero to the platform — the agency paid the provider — so the agency is charged the admin markup plus the platform fee, and the agency in turn charges its own clients the marked-up rate. The markup can be set globally or per provider (OpenAI, Anthropic, DeepSeek, fal, Replicate, ElevenLabs), so different model families can carry different margins.
This is the mechanism that turns white-label from a cosmetic skin into a business: your clients consume credits at your price, the difference between your cost and your price is your margin, and every credit movement is still recorded on the same auditable ledger. Combined with sub-accounts and SaaS Mode, the markup is how an agency runs the platform as its own paid product.
- Markup percentage — a per-tenant margin applied on top of base cost — global or per-provider overrides.
- Key-source aware — when the agency owns the key, base is zero and clients are charged markup + platform fee.
- Per-provider control — set different margins for different model families to match their cost and value.
- Still auditable — marked-up usage is recorded on the same ledger, so resale is transparent end to end.
Branded public surfaces
One brand record, applied across every surface a client touches.
Once branding is set and a domain resolves, the agency's identity is applied across the public surfaces: the marketplace showcase renders in the agency's brand and shows their listings, the changelog can carry agency branding, and the auth and client-facing pages follow suit. Because all of them read the same white-label settings, brand changes propagate everywhere at once.
The practical effect is a coherent, end-to-end branded product: a client lands on your domain, sees your name and colors, signs in to your brand, browses your storefront, and spends credits at your price — without any of it betraying the platform underneath.
- Showcase — the marketplace storefront renders in your brand and shows your published listings.
- Changelog — release notes can carry your branding for clients who follow your updates.
- Client pages — auth and client-facing surfaces inherit the same name, logo, and colors.
- Propagates at once — all surfaces read one white-label record, so a brand change updates everywhere together.