Dynamic whitelabeling
Every branding surface is configurable at runtime from the Admin Panel. No rebuild required — change a logo, accent color or platform name and the next page load reflects it.
What you can change
| Surface | Example |
|---|---|
| Platform name and tagline | Header, footer, emails, meta tags |
| Logo URLs | Header, footer, invoices |
| Accent theme | Emerald / Indigo / Amber via CSS variables |
| Border radius and font | Design tokens |
| Navigation links | Site header and sitemap |
| Email templates | Worker email rendering |
| Custom domains | Edge routing per tenant |
| Module toggles | Feature flags in the UI |
How it works
- Admin Panel writes a
WhitelabelConfigrow in PostgreSQL. GET /api/whitelabel?organization=<slug>reads Redis (300s TTL), falls back to PostgreSQL.- The website fetches this and deep-merges over the static default.
WhitelabelProvidersetsdata-accenton<html>, activating CSS variables.
First paint uses the static JSON — zero layout shift.
Quick links
- Whitelabel API — endpoints, email templates, custom domains
- Theming — CSS tokens, accent colors, design system
See also: Admin panel, Backend.