Customize your organization's logo
Goal
You'll replace the default MeasuredCloud wordmark in the sidebar with your own organization's logo, so everyone in your org sees your brand. You can set a light-theme and a dark-theme variant; the sidebar picks the right one for each viewer's theme.
Prereqs
- You're an organization admin (super admin / owner). The Branding settings page and the upload endpoint are gated to the org-admin tier — a workspace admin, technical admin, editor, or viewer can't change the logo (they still see it).
- A logo image, 256 KB or smaller, in one of: PNG, JPEG, or SVG.
- Optionally, a second variant tuned for dark backgrounds.
Steps
-
Navigate to Settings → Branding. Non-admins don't see this tab; an admin who deep-links a non-admin to it gets a clear "you don't have permission" banner rather than a broken form.
-
Choose a light-theme logo. Click Choose file under "Light theme logo" and pick your image. A live preview appears on a light swatch. The preview swaps the wordmark for your image so you can confirm it before saving.
-
(Optional) Choose a dark-theme logo. Do the same under "Dark theme logo" — the swatch is dark so you can check contrast. If you skip this, the sidebar uses your light variant in dark mode too (and vice-versa); only when neither variant is set does it fall back to the MeasuredCloud wordmark.
-
Click "Save logo". MeasuredCloud validates each variant's type and size, stores it, and the sidebar updates immediately — no reload.
-
To revert, click Reset to default. This removes both variants and the sidebar goes back to the MeasuredCloud wordmark.
Verify
- The sidebar header shows your logo (top-left), not the wordmark.
- Toggle your theme (the sun/moon control at the bottom of the sidebar) and confirm the right variant shows in each theme.
- Ask a teammate who is not an admin to reload — they see your logo too (the logo is readable by every org member), but their Settings has no Branding tab.
Notes
- No default is stored in the database. "Unset" means the UI falls back to the MeasuredCloud wordmark at render time, so resetting truly returns you to the built-in mark.
- The logo is org-level, not workspace-level — it's the same across every workspace in your organization. (The org id and active workspace id, formerly on the removed Settings → Organization page, now live at the bottom of this Branding page.)
- The image bytes are stored in the
public.org_brandingtable (a light variant, a dark variant, and a per-variant content type for each), capped at 256 KB per variant. The two variants can be different formats — e.g. an SVG light mark and a PNG dark one. Nothing here is secret — the logo is shown to everyone — so it isn't encrypted or redacted. - SVG is allowed and recommended for crisp scaling. Treat it like any uploaded asset and only upload SVGs you trust — the API serves an SVG variant with
X-Content-Type-Options: nosniffand a sandboxed Content-Security-Policy so that even an SVG opened directly can't execute embedded script. - See #647 for the tracking ticket and the API reference (the Branding row) for the endpoint shapes.