White label logging for agencies and MSPs
If you run logging and monitoring for clients, their team signs in to see their own data. Out of the box, that sign-in page shows ZipLogger's name, ZipLogger's product tour and links to ZipLogger's pricing. For an agency, a consultancy or an MSP, that is the wrong message. The client hired you, not a tool.
Workspace branding makes a workspace look like the client's own product on the workspace's own address. This post covers where it applies, what you can set, what white label adds on top of custom branding, which plans include each, and the places that still say ZipLogger.
It only applies on the workspace's own address
Every workspace has its own address, https://<slug>.ziplogger.ai. The slug is made from the organization name when the workspace is created: Acme Corporation becomes acme-corporation, and if that is taken, acme-corporation-2. It cannot be changed later, so choose the organization name with the address in mind when you set up a client.
The look is decided from the hostname and nothing else:
acme-corporation.ziplogger.aishows Acme's look to everyone, on the sign-in page and after sign-in.app.ziplogger.aialways shows the ZipLogger look, including to Acme's own members.
Sessions belong to one address as well. Signing in at app.ziplogger.ai does not sign you in at the workspace address, and ZipLogger does not currently move people from one to the other after sign-in. Give the client the workspace address and ask them to bookmark it.
What you can set
A workspace Admin opens Settings → Branding (/settings/branding). Editors and Viewers can open the page but only see a note that administrators make these changes.
| Setting | Where it shows | Rules |
|---|---|---|
| Display name | Browser tab, the sign-in heading, the sidebar when there is no logo | Up to 80 characters. Blank uses the workspace name |
| Logo | Sidebar, sign-in page header, password pages | PNG, JPEG or WebP, up to 1 MB, up to 4096 px a side |
| Dark-mode logo | Replaces the logo on dark surfaces: pages on the dark theme, and a sidebar with a dark navigation colour | Same as the logo |
| Favicon | Browser tab | PNG or ICO, up to 256 KB, up to 512 px a side |
| Primary | Buttons, the active navigation item, focus rings | Six-digit hex, such as #1e40af |
| Accent | Links and highlights | Six-digit hex |
| Navigation | The sidebar's background | Six-digit hex. The sidebar text turns light or dark to match |
| Default theme | What people see before they pick a theme | Follow the device, Light or Dark. A person's own choice always wins |
You pick the colours. ZipLogger works out the text that goes with them. Text on a primary button is white or near-black, whichever reads better. When a colour is used as text, for example a pale accent used for links on a white page, it is darkened (or lightened on the dark theme) until it reaches a 4.5:1 contrast ratio. Leave a colour blank to keep ZipLogger's. Charts keep ZipLogger's own series colours.
That is the whole list. There is no custom CSS, no custom HTML or script, and no font choice. Everything you set is plain text, a six-digit colour, or an image the server has checked.
Images
An image is stored as soon as it uploads, because the server has to check the file before it can be shown anywhere, including in the preview. The server decides what a file is from its first bytes, not from the file name or the type the browser reports.
- SVG is refused. An SVG is a document that can carry scripts and links to other files, and a logo appears on every member's sign-in page. The error asks you to export a PNG instead.
- GIF is refused, and so is anything that is not a PNG, JPEG, WebP or ICO file.
- Size and pixels are both checked. A file over the byte limit is refused, and so is one over the pixel limit. A 20,000 × 20,000 PNG can be small on disk and still be far too much for a browser tab to decode.
The page suggests a transparent PNG about 4:1 for the logo, and a square PNG of 64×64 or larger, or an .ico, for the favicon.
The images are kept in ZipLogger's database, next to the workspace's other settings. They are public on the workspace address, because the sign-in page needs them before anyone has signed in. Each image URL contains a SHA-256 hash of the file, so browsers can cache it for a year and a replacement always gets a new URL. Don't upload anything you would not put on a public web page.
Saving and the preview
The right side of the page is a live preview: browser tab, sign-in card, sidebar, header, buttons, links and a card, with a Dark / Light switch. It shows the form as you type.
The name, colours and theme reach visitors when you click Save changes. Discard changes puts the form back. Reset to ZipLogger defaults deletes the name, colours, theme and all three images, and cannot be undone. Each image has its own Upload…, Replace… and Remove buttons.
You can do all of this while signed in at app.ziplogger.ai. The page shows which address the look appears on. Every change is written to the workspace audit log, with each image's type, size, pixel size and the start of its hash, but never the image itself.
Custom branding and white label
These are two separate plan features:
| Plan | Custom branding | White label |
|---|---|---|
| Free | no | no |
| Pro | no | no |
| Team | yes | no |
| Business | yes | yes |
| Enterprise | yes | yes |
Custom branding is everything above. White label adds one setting: the checkbox in the Attribution card labelled Show “Powered by ZipLogger” on the sign-in page and in the sidebar. On Team the box is locked on. On Business or Enterprise, unticking it removes that line, and the sign-in page drops the rest of ZipLogger's own material with it:
| On the sign-in page | No branding | Custom branding | White label, attribution off |
|---|---|---|---|
| Top left | ZipLogger wordmark | Your logo, or your name | Your logo, or your name |
| Home, Product, Documentation and Pricing links | shown | hidden | hidden |
| Heading | Sign in to workspace name | Sign in to display name | Sign in to display name |
| Other workspaces link | shown | shown | hidden |
| Product tour beside the form | shown | shown | hidden |
| Help line | Trouble signing in? Check platform status | same | Trouble signing in? Contact your workspace administrator. |
| Powered by ZipLogger | not shown | shown | hidden |
The row that matters most is the product tour. On Team, the panel next to the sign-in form is still ZipLogger's tour, with ZipLogger screenshots and the ZipLogger name on every slide. If the client should not see ZipLogger on the sign-in page at all, Team is not enough.
Inside the app, after sign-in, the only difference between the two is the "Powered by ZipLogger" line at the bottom of the sidebar.
On Free and Pro you can still open Settings → Branding and use the form. The preview shows a sample look until you type, then your own. Save changes and the upload buttons are disabled, the page says "Custom branding is available on Team and above.", and there is an Upgrade plan button. The server enforces the same rules for direct API calls. A change without custom branding gets 403 branding_not_entitled, and hiding the attribution without white label gets 403 white_label_not_entitled.
What still says ZipLogger
Even on a white-labelled workspace:
- The address. It is always
<slug>.ziplogger.ai, and the sign-in page prints it under the heading. - Emails. When an Admin adds a member, the email subject is "You've been added to Acme Corporation on ZipLogger" and the button says Sign in to ZipLogger. The password reset email's subject is "Reset your ZipLogger password". Both come from ZipLogger, carry the ZipLogger wordmark, and link to
app.ziplogger.ai, which shows the ZipLogger look. - Chat messages. Incident messages in Slack have a View in ZipLogger button. Buttons in Slack, Microsoft Teams and WhatsApp open
app.ziplogger.ai, not the workspace address. - The sidebar. Community opens ZipLogger's help forum, Billing lists ZipLogger's plans and invoices, and a Platform status link points at
status.ziplogger.ai. - Sign in elsewhere. The sign-in page keeps "Not a member of Acme Corporation? Sign in elsewhere →", which goes to
app.ziplogger.ai. - Your client's code. The SDK packages are ZipLogger's (for example
@ziplogger/browser), and applications send their data toapp.ziplogger.ai. Developers on the client side will see the name.
One small trap: set a display name, or upload a logo. The forgot-password page has no workspace name to fall back on, so a branded workspace with neither shows "ZipLogger" there.
What it does not do
- No custom domains. You cannot put a workspace on
logs.yourcompany.com. The workspace address is always underziplogger.ai. - No branded emails. Covered above.
- No custom CSS, HTML, scripts or fonts. Only the settings in the table.
- No SVG or GIF images.
- One email address, one workspace. A ZipLogger user belongs to exactly one workspace, and an email address can only be used once across all of ZipLogger. Someone at your agency who works on three client workspaces needs three sign-ins with three email addresses.
A downgrade keeps the settings
If a workspace moves to a plan without custom branding, visitors to its address get the ZipLogger look and the image URLs return 404. Nothing is deleted. The Admin still sees the saved settings in Settings → Branding, and Remove and Reset to ZipLogger defaults still work. Moving back to a plan with branding restores the look as it was.
Moving from Business to Team brings "Powered by ZipLogger" back. The choice to hide it is kept, and applies again on a plan with white label.
Next step
Custom branding comes with Team and white label with Business. Compare them on the pricing page. For an Enterprise contract with white label and single sign-on, contact us.