Brand theming & the watermark
Every embedded polst carries the brand’s identity, not ours. A single Branding page in the dashboard controls it, and one save propagates to every embed.
What a brand can theme
Section titled “What a brand can theme”A single Branding page in the dashboard controls the whole look:
- Colours — accent, background, text, buttons
- Shape — corner radius and density
- Typography — system fonts, a serif, or the brand’s own custom font
- Logo — light and dark variants, plus favicon
- Advanced CSS — a sanitised escape hatch for designers who want fine-grained control
These map directly onto the resolved
BrandTheme DTO that renderers
consume.
Live preview
Section titled “Live preview”The Branding page renders a real polst alongside the form. Every edit updates the preview instantly, so the user sees the exact result before saving.
Applies everywhere on save
Section titled “Applies everywhere on save”One save propagates the new theme to every embed — iframes on third-party sites, widgets on the brand’s own pages, native views inside the mobile app — within roughly a minute. No redeploy, no republish.
Each save bumps the theme version, which is the stable cache key renderers use
to revalidate via the ETag flow. The
theme row is updated with PATCH /brands/me/theme — see the
REST API reference.
The “Powered by Polst” watermark
Section titled “The “Powered by Polst” watermark”Every embedded polst shows a small “Powered by Polst” mark in the corner by default, subtly themed to match the brand’s accent colour.
- Free plan: watermark is always visible. Doubles as attribution and an acquisition channel.
- Premium plan: brands can toggle it off from the Branding page.
On the free plan the toggle is disabled with a “Contact sales” prompt. Grants are admin-issued for now; self-serve upgrade lands with the separate billing project later.