Blog Workspaces and access

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.ai shows Acme's look to everyone, on the sign-in page and after sign-in.
  • app.ziplogger.ai always 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.

SettingWhere it showsRules
Display nameBrowser tab, the sign-in heading, the sidebar when there is no logoUp to 80 characters. Blank uses the workspace name
LogoSidebar, sign-in page header, password pagesPNG, JPEG or WebP, up to 1 MB, up to 4096 px a side
Dark-mode logoReplaces the logo on dark surfaces: pages on the dark theme, and a sidebar with a dark navigation colourSame as the logo
FaviconBrowser tabPNG or ICO, up to 256 KB, up to 512 px a side
PrimaryButtons, the active navigation item, focus ringsSix-digit hex, such as #1e40af
AccentLinks and highlightsSix-digit hex
NavigationThe sidebar's backgroundSix-digit hex. The sidebar text turns light or dark to match
Default themeWhat people see before they pick a themeFollow 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:

PlanCustom brandingWhite label
Freenono
Pronono
Teamyesno
Businessyesyes
Enterpriseyesyes

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 pageNo brandingCustom brandingWhite label, attribution off
Top leftZipLogger wordmarkYour logo, or your nameYour logo, or your name
Home, Product, Documentation and Pricing linksshownhiddenhidden
HeadingSign in to workspace nameSign in to display nameSign in to display name
Other workspaces linkshownshownhidden
Product tour beside the formshownshownhidden
Help lineTrouble signing in? Check platform statussameTrouble signing in? Contact your workspace administrator.
Powered by ZipLoggernot shownshownhidden

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 to app.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 under ziplogger.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.

Enterprise SSO with Microsoft Entra ID

Connect a ZipLogger workspace to Microsoft Entra ID, test it, require it for everyone, keep recovery codes, and know what enforcement does not reach.

Separate staging and production logs

Keep Staging and Development telemetry apart from Production inside one ZipLogger workspace, with one ingest key per environment and alert rules that only count their own data.

Create GitHub, Jira or Linear issues from errors

Open a GitHub, Jira Cloud or Linear issue from a ZipLogger Issue, or link one you have. What gets sent, what never does, setup per tracker, and the limits.

Try it on your own logs

There is a free plan and no sales call. Install an SDK, send a few log lines, and search them.