# White label your client-facing pages

> Set the practice's display name, logo and colours, the contrast rule they must pass, and where clients see them.

## Goal

Show your clients your own look instead of the product's: the practice's display name, logo, primary and accent colour, and the values wheel colours, on every surface a client sees.

## Prerequisites

- **Admin** of the practice; any Coach can read the branding.

## Where it shows

| Surface | What changes |
| --- | --- |
| Portal | logo, display name, colours |
| Booking pages (also inside your iframe embed) | logo, display name, colours |
| Landing pages | colours, and the logo mark as the favicon |
| Mails to clients (portal link, booking confirmation, payment request, session reminder) | logo and button colour; with an SVG logo, the display name instead |
| Calendar feed | the calendar's name is the display name |

The coach app keeps the product's own look; status colours (positive, pending, negative) never change. Without branding, clients see the product's look.

## 1. Set the name and colours

In the app (Admin, web): **Settings**, **Brand and domain**, **Branding**. Only the fields you change are saved, and clearing a field removes it.

| Field | Rule |
| --- | --- |
| Display name | up to 80 characters |
| Primary colour | `#rgb` or `#rrggbb`; must pass the contrast rule |
| Accent colour | `#rgb` or `#rrggbb` |
| Values wheel colours | exactly five colours for the values wheel's slices |

### The contrast rule

From the primary colour Coaching Toolkit derives a range of shades. Its 600 shade carries text and buttons, so it must reach a contrast of at least **4.5:1** (WCAG AA) against white (`#ffffff`) or ink (`#1e2a4a`). A primary that fails is refused and the app shows the better of the two ratios (for example 3.2); pick a darker or lighter colour. Text on the primary is set to white or ink, whichever reads better. The accent is not checked.

## 2. Upload the logo

Upload it on the same Branding page, up to 2 MB.

- PNG, JPEG or WebP: stored as a PNG up to 512 px wide, plus a 128 px square mark.
- SVG: cleaned of scripts, styles, embedded images and links before it is stored; it is its own mark.

**Remove logo** removes the logo. **Reset to default** removes the logo, display name and colours.

## Verify it worked

Open **Settings**, **Brand and domain**, **Branding**: it shows your display name, colours and logo. Open one of your booking pages, or a client's portal: it shows the logo and colours.

## Failure cases

- **A colour is refused as invalid.** It is not `#rgb` or `#rrggbb`.
- **The primary colour fails the contrast rule.** It misses 4.5:1 against both white and ink; the app shows the better ratio.
- **The logo is refused.** It is not PNG, JPEG, WebP or SVG, is over 2 MB, or is unreadable.
- **The values wheel colours or the name are refused.** The wheel needs exactly five colours, or a field is too long.
- **You cannot save.** Only an Admin of the practice can change the branding.
