**Branding** makes the hosted identity experience look like your product: _"Customize themes, copy, and visuals for your application's identity experience."_

![Branding theme](/content/console/branding.theme.png)

The rail has four tabs — **Assets**, **I18n**, **Theme**, and **Preview** — plus a **RELATED** link across to [Redirects](/docs/console/redirects).

Most controls carry a **Global** badge, meaning the value applies to every hosted view. Layout is the exception: it is set per view.

## Assets

Upload the images the hosted pages use — your logo, a favicon, and any background or illustration artwork. Assets are stored per environment, so a staging environment can carry a visibly different mark to keep testers from confusing it with production.

## I18n

Copy overrides per language. The hosted UI ships translated strings; this tab is where you replace individual pieces of wording — a heading, a button label, a legal note — for the locales you support.

Which language a visitor sees is decided by the **Localization** feature in [Authentication > Features](/docs/console/authentication), which matches the browser language and falls back to a language you nominate.

## Theme

The main styling surface, with an **Auto save** toggle in the header.

### Fonts

_"Apply typography presets that match your brand."_ Pick a **Header font** and a **Body font** (default: Inter for both). A live preview renders both below the selectors.

### Hosted page colors

_"Optional overrides per appearance (hex, rgb, or hsl). Leave a field blank to keep the built-in default for that token."_

Switch between **Light theme** and **Dark theme** and set eight tokens per appearance:

| Token | Applies to |
|-------|-----------|
| **Page background** | The page canvas |
| **Main text** | Body copy |
| **Muted text** | Secondary and helper text |
| **Card surface** | The sign-in card |
| **Borders** | Card and input outlines |
| **Links** | Inline links |
| **Primary actions** | The main button fill |
| **Text on primary** | Label colour on that button |

The tabs are independent, and the page says so: light overrides are used for light mode only, and dark mode keeps its built-in theme unless you set dark overrides. Each field has a reset control to drop back to the default.

### Layout

_"Choose how each identity view is rendered."_ Switch the preview to **Sign in**, **Sign up**, or **Account** to edit that view's layout, then choose a shape:

| Layout | Renders as |
|--------|-----------|
| **Frame** | Card with borders |
| **Frameless** | Full bleed, no borders |
| **Minimal** | Card-less, centered |
| **Split (Left)** | Two-column layout |
| **Split (Right)** | Two-column layout |

### Branding

_"Control Authdog branding visibility on hosted identity pages."_ **Hide Authdog branding** removes the Authdog badge from hosted pages.

### Dark Mode

**Enable dark mode** lets users toggle between light and dark appearance; **Default to dark theme** shows dark mode for first-time sessions.

## Preview

Renders the hosted pages with your current settings so you can check contrast and layout before saving. Combine it with the Sign in / Sign up / Account switcher in the Theme tab to review each view.

> **Tip**
>
> Set your palette on the **Light theme** tab first, then check the **Dark theme**
> tab before shipping. Leaving dark overrides blank is a valid choice — the
> built-in dark theme is designed to be legible — but a half-filled dark palette
> is how contrast bugs get shipped.

## Related

| Read | To learn how to |
|------|-----------------|
| [Authentication](/docs/console/authentication) | Enable the hosted UI and localization |
| [Domains](/docs/console/domains) | Serve the hosted pages from your own hostname |
| [Redirects](/docs/console/redirects) | Set where hosted flows send people afterwards |
| [Custom flows](/docs/custom-flows) | Replace the hosted UI with your own screens |
| [Components](/docs/components) | Embed prebuilt identity components in your app |
