Theming
White-label the AuthenSee UI to match your brand with colors, fonts, logos, and copy overrides.
Theming
AuthenSee's built-in UI components are fully white-labelable. Customize colors, fonts, logos, button styles, and copy to match your brand so users never feel jarred by a third-party flow.
The default theme uses the AuthenSee brand — warm orange primary on a near-black surface — so you get a polished UI out of the box. Override any subset of fields and the rest fall back to the defaults.
The co-brand model
On the hosted flow (hosted-page redirects and the popup drop-in), AuthenSee owns the frame and you contribute a small, consistent identity. A provider supplies:
- A logo (URL) — with a graceful fallback chain:
logo→displayName→ the AuthenSee wordmark - A display name — co-branded into the frame
- One brand color — drives both the primary action and the accent
- One copy line — a tagline
- A light or dark surface
The frame stays constant (a provider mark in the nav, a fixed "Secured by AuthenSee" footer), so the experience reads as AuthenSee-secured while still feeling like your brand. You configure this on the Brand identity page of the admin dashboard; AuthenSee projects it onto an AuthenSeeTheme and delivers it to the hosted pages on the session.
For your own SDK integration you still have the full theme below — the co-brand fields (displayName, accent, mode) are part of AuthenSeeTheme and work everywhere.
The AuthenSeeTheme type
Default theme
Two ways to set the theme
Web (React) — use <AuthenSeeProvider>:
The provider forwards the theme to both the SDK config and the underlying AuthenSeeThemeProvider, so all built-in components pick it up.
Headless / native — pass it to AuthenSee.init():
CSS variable mapping
The theme colors map to CSS custom properties on the SDK's UI components:
| Theme property | CSS variable |
|---|---|
colors.primary | --authensee-primary |
colors.primaryForeground | --authensee-primary-foreground |
accent | --authensee-accent |
colors.background | --authensee-background |
colors.foreground | --authensee-foreground |
colors.muted | --authensee-muted |
colors.mutedForeground | --authensee-muted-foreground |
colors.error | --authensee-error |
colors.success | --authensee-success |
colors.border | --authensee-border |
When you don't set accent, --authensee-accent falls back to colors.primary, so customizing just your brand color carries through to the accent automatically.
Co-brand fields
These three fields drive the co-brand model and are also valid anywhere AuthenSeeTheme is accepted.
displayName
Your provider name, co-branded into the AuthenSee frame. It also serves as the wordmark/initials fallback when no logo is set. Keep it short (≤ 50 chars).
accent
A single accent color your brand contributes to the co-branded surface (highlights, focus rings, the "secured by" mark). It is distinct from colors.primary, which drives the primary action button. Defaults to colors.primary when omitted.
mode
The light/dark surface for the AuthenSee frame.
'dark'— AuthenSee's native dark surface (default).'light'— a light surface (white background, near-black text).'auto'— follows the visitor'sprefers-color-scheme.
The theme provider stamps data-authensee-mode on its wrapper so light/dark token sets switch accordingly.
On the admin dashboard's Brand identity page, only Light and Dark are offered for hosted pages;
'auto'is available when you set the theme yourself via the SDK.
Font customization
Fonts must be loaded by your application. The SDK applies the font family names via CSS but does not load font files.
Button styles
Copy overrides
Replace default UI text to match your product language:
Provider examples
Fintech / banking app
Consumer app with rounded style
Dark mode
The SDK supports light and dark mode. Pass appropriate color values for each mode based on your app's current theme:
Headless mode
If the built-in UI does not meet your needs, set headless: true to disable it entirely and build your own:
When using headless mode, subscribe to events to track the authentication lifecycle and update your custom UI accordingly.