White Labelling and Branding
Put your own name, logos, palette, and workspace defaults on PressedMail, and see exactly how far the rebrand reaches.
If you build sites for clients, the mail client in their admin should not be advertising someone else's product. White labelling replaces the name, the logos, the palette and the defaults. This page covers what changes, what does not, and who gets it.
Who gets it
White labelling needs an active licence carrying the Ultimate entitlement, which means the Ultimate and Lifetime plans. It is not a hidden feature in the Free build: the branding service and its controllers are excluded from the Free package at build time, and the build fails if the branding route string turns up in the Free JavaScript bundle. On a paid build without the Ultimate entitlement the feature flag resolves to off and the settings tab never appears.
Where the settings live
Settings, then Branding and Appearance, in the admin group. You need the WordPress manage_options capability on top of the licence. Everything is one saved object, so a save either applies in full or comes back with the fields that failed.
What you can rebrand
Identity
- Brand name, up to 80 characters. It replaces the WordPress admin menu entry, the product mark inside the workspace, and the name the installed web app uses on a phone home screen.
- Logo on light surfaces and logo on dark surfaces, picked separately so neither one has to survive both.
- Square mark, which becomes the admin menu icon, the favicon, the apple touch icon, and the 192px and 512px app icons. It must be square and at least 512 by 512.
- Images can be PNG, JPEG, WebP or GIF. SVG is rejected.
- Hide Powered by PressedMail removes the attribution from the workspace status bar, wordmark and version included.
- Support URL and Documentation URL point your users at your help desk instead of ours. Both appear in the status bar and the speed dial menu.
Appearance
- Pick a base theme, then set five colours per mode (primary, secondary, accent, background, foreground) plus a corner radius of subtle, standard or rounded. Those compile into a virtual palette called the Brand Theme.
- A palette whose foreground and background fail WCAG AA at 4.5:1 will not save. Your brand does not get to be unreadable.
- Set the default appearance mode and the default inbox layout, then decide independently whether users may switch theme, mode and layout at all. The layout lock is enforced on the server too, so it holds even against a hand-made request.
- There is a scoped preview card in the tab. Its variables stay inside that card until you save.
What it does not touch
Worth being blunt about the edges:
- Outgoing mail carries no PressedMail credit, in any build. No footer, no link, no mailer header. That is not a paid removal, it never existed, and there are tests that fail if anyone adds one. The "Powered by" switch only affects the in-app status bar.
- The WordPress login screen, the admin footer text, and every admin page that is not PressedMail stay exactly as they were.
- Branding is per site, not per client inside a site. Everyone using that install sees the same identity.
For developers
The whole runtime branding object is handed to the workspace through the pressedmail_whitelabel_data filter. Return your own array from it and you replace the lot, without touching the stored settings. The settings themselves read and write over GET and POST on /wp-json/pressedmail/v1/whitelabel/settings, gated by a REST nonce plus manage_options.
Deactivating the paid features backs up and clears the stored branding, so the workspace falls back to PressedMail rather than to a half-applied identity.