White-Label

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 identityname, logo, favicon, colors, custom CSS, and support links replace the platform's defaults for your clients.
  • Your domaina subdomain or a fully custom domain becomes the entry point your customers use.
  • Agency capabilitywhite-label, custom domains, and remove-branding unlock on the Agency and Black Label tiers.
  • Single source of truthpublic 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 identitycompany name, logo, favicon, primary/secondary colors, and optional custom CSS.
  • Support linksyour support email and URL so every help affordance points back to you.
  • Routing identifierssubdomain and custom domain fields that map traffic to your tenant.
  • Operational fieldscredit 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 normalizationthe hostname is lowercased with port and leading www stripped before lookup, matching the middleware.
  • Custom domain firstan exact custom-domain match resolves straight to the owning tenant and its brand.
  • Subdomain fallbackif no custom domain matches, the leading subdomain label is looked up next.
  • Path-based previewan /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/upauth surfaces inherit the agency's brand resolved from the host.
  • Dual authAPI routes accept cookies or a bearer token so white-label clients work on-domain and via API.
  • No platform leakclients 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 percentagea per-tenant margin applied on top of base cost — global or per-provider overrides.
  • Key-source awarewhen the agency owns the key, base is zero and clients are charged markup + platform fee.
  • Per-provider controlset different margins for different model families to match their cost and value.
  • Still auditablemarked-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.

  • Showcasethe marketplace storefront renders in your brand and shows your published listings.
  • Changelogrelease notes can carry your branding for clients who follow your updates.
  • Client pagesauth and client-facing surfaces inherit the same name, logo, and colors.
  • Propagates at onceall surfaces read one white-label record, so a brand change updates everywhere together.