Branding config
The admin dashboard and customer-facing UI elements are brand-configurable per tenant.
Env vars / admin API
Section titled “Env vars / admin API”TAPPASS_BRAND_NAME="Acme Governance"TAPPASS_BRAND_LOGO_URL="https://cdn.acme.com/logo.svg"TAPPASS_BRAND_PRIMARY="#003366"TAPPASS_BRAND_EMAIL_FROM="governance@acme.com"TAPPASS_BRAND_SUPPORT_URL="https://support.acme.com"These are also configurable at runtime via POST /api/v1/admin/branding — see tappass/tappass/api/routes/admin/branding.py for the schema.
What changes
Section titled “What changes”- Dashboard logo, page title, accent colour, favicon
- Transactional email templates (use
{{ brand_name }}variables) - CLI output:
tappass --helpshows OEM name - Customer-facing invoice / receipt templates
What doesn’t change
Section titled “What doesn’t change”- HTTP API surface — the endpoints, schemas, and headers stay TapPass-branded internally. OEM partners can proxy through their own API gateway if they need rebranded URLs.
- Error messages in audit events — these have a stable format for compliance reasons.
Multiple OEMs on one deployment
Section titled “Multiple OEMs on one deployment”Each tenant gets its own branding config. The same TapPass cluster can host:
- Tenant
acmewith Acme branding - Tenant
globexwith Globex branding - Tenant
tappass-directwith TapPass branding (our direct customers)
The admin UI detects tenant from subdomain (acme.app.tappass.ai, globex.app.tappass.ai, app.tappass.ai).
Assets we need from the partner
Section titled “Assets we need from the partner”- SVG logo (light and dark variants)
- Primary + secondary brand colours (hex)
- Favicon (SVG preferred, PNG 32×32 fallback)
- Email from-address (must be a domain they own; they set up DKIM + SPF)
- Terms of service URL
- Privacy policy URL
- Support URL
QA before go-live
Section titled “QA before go-live”- Preview tenant in staging under their subdomain
- Email template rendering tested with live recipient (not just screenshot)
- Invoice template rendered with a realistic amount + VAT
- Logo doesn’t clash with dashboard nav on either theme
- Partner has signed off on a walkthrough