Branding and white label
Put your own logo, colours, fonts and browser title on every screen, without editing a single file.
Admin. Open Branding. Everything on this page is stored in the database and in protected storage, not in the source files, so it survives an upgrade untouched.
Logo and favicon
| Asset | Requirements |
|---|---|
| Logo | PNG or JPEG. Square: the width and the height must be equal. Up to 4096 pixels a side. |
| Favicon | PNG or JPEG. Square. Up to 1024 pixels a side. 512 by 512 is a good size. |
The file type is detected from the content, not from the file name, so an image with the
wrong extension is still accepted and something that is not an image at all is refused. Both
files are stored under storage/private/branding and served through the
application, never as a public file with a guessable name.
Colours
Seven colours, each a six-digit hex value such as #0F766E. The picker and the
text box stay in step, so you can paste a value from a brand guide.
| Colour | Used for | Default |
|---|---|---|
| Primary | Buttons, links, the selected item in the navigation, the ring around a focused field, and every other accent tint. | #0F766E |
| Primary hover | The same elements under the pointer. Keep it darker than the primary. | #0B5C56 |
| Navigation | The administration navigation bar. | #172033 |
| Text | Body text. | #1F2937 |
| Muted | Secondary text, help text, table headers. | #667085 |
| Background | The page behind the content. | #F7F8FA |
| Surface | Cards, panels and tables. | #FFFFFF |
Keep the contrast. Text on surface and text on background both need to stay readable. A pale primary colour on a white surface makes buttons hard to see, and there is no separate button-text colour to compensate with.
Every accent in the interface is mixed from the primary colour rather than stored separately, so one value changes the buttons, the selected navigation item, the focus ring and the page washes together. Until an installation saves this screen once it uses the shipped palette, which is why a fresh installation looks teal.
Fonts and sizes
Three font families ship with the product and are the only ones offered, because they are bundled locally rather than fetched from a font service and they cover Latin, Cyrillic and Greek.
- Noto Sans, the default for body and headings.
- Montserrat, a geometric sans for headings.
- Noto Serif, if your certificates and screens should look traditional.
Body size is 12 to 20 pixels, heading size 24 to 56. Values outside those ranges are refused rather than silently clamped.
Browser title
Up to 90 characters. It is what appears in the browser tab and in a bookmark, on public pages as well as inside the administration area.
What branding does not change
- Certificate layouts. A certificate looks like its template, not like the interface. Design those under Certificate templates; see core workflows.
- Email wording. That is the email templates screen, on the email page. Email previews do use your branding.
- The product name in the interface. Set
APP_NAMEin.env, and the visible organisation name through the translation screen.
White labelling completely
- Set
APP_NAMEto your own name in.env. - Upload your logo and favicon, set the seven colours and the browser title.
- Open Translations as an Admin and set the organisation name, which is what public pages and certificates show as the issuing body.
- Check a public certificate page and one email preview. Those are the two surfaces an outsider sees.
Nothing in the interface, the emails or the certificates names the product author, so a finished installation carries your identity only.