Branding
Branding
A pricing table and the paywall wrap around a selling entity's brand, resolved through the
same BrandingResolver the transactional emails use — so the storefront, the checkout, and the
emails a customer receives all carry one consistent identity.
A table names its selling entity in the console. The resolved branding supplies:
- Accent colour (
brand_color) — drives the featured column border, the CTA buttons, and the toggles. Injected as a CSS variable on the page root. - Logo (
logo_url) — shown in the header; when unset, the product name renders as a wordmark. - Legal name + registration number — the footer line of record.
- Support URL / email — the footer links (and the paywall's "maybe later" fallback).
Any field a selling entity leaves unset falls back to the app-level defaults
(config('billing.mail.branding')) — a table with no entity named uses the default seller.
A note on the logo and strict CSP
The page itself loads no external asset. The one reference that can point off-host is a
configured logo_url (an operator-set image). For a strict Content-Security-Policy, either serve
the logo from the same origin as the table, use a data: URI, or leave it unset (the wordmark is
fully self-contained). The default branding ships no logo, so the default page is self-contained
end to end.