Runbooks/Appearance

Appearance & Branding

Operator runbook for the organization theme: the product name, logo, colours and navigation labels that the IdentityMesh console shows to everyone in your organization, and the role filter that decides who sees which navigation entry.

With nothing saved the console looks exactly as shipped. Every setting below is optional.

Where it lives

Console → Settings → Appearance tab. The tab is visible to anyone holding the roles.write permission.

What can be themed

SettingWhere it shows
Product nameSidebar header, login card, browser tab title (Page · Product; the login page shows the product name alone)
Short nameCollapsed sidebar header, shown only when no logo is set. The default IM keeps the shipped icon
LogoSidebar header, including the collapsed sidebar. The login page does not show the logo
Sidebar colourThe navigation sidebar
Accent colourButtons, links and highlights
Header bar styleLight, match the sidebar, or dark

Each navigation entry can also be customised:

Defaults are the shipped look.

Who sees a navigation entry

The role filter sits on top of permissions. It never grants anything. A person sees an entry when both of these hold:

  1. They hold the permission the entry requires.
  2. Visible to is not set, or any of their roles is listed there. Role names are matched case-insensitively.

Things to know:

Lock-out guard

The Settings entry stays visible to anyone holding roles.write, whatever its “Visible to” says. You cannot hide the Appearance tab from the people who manage it, so a mistaken filter can always be corrected.

Unknown roles

A theme can name a role that no longer exists, for example after a group mapping is renamed. That never blocks saving. The editor shows the name as an unknown role chip, and it matches nobody. Remove the chip, or recreate the role, to clear it.

Logo upload and removal apply immediately. They are not part of Save, and Save does not need to be pressed for a new logo to take effect.

Saving and resetting

Both actions are recorded in the admin audit trail.

Before sign-in

The theme is readable before sign-in so the login page carries your product name. The anonymous endpoint returns display names, colours and role names only. It carries no identity data and no permissions. The logo image is also served anonymously.

If your organization treats role names as sensitive, keep that in mind when naming roles in “Visible to”.

Upgrading an existing installation

The theme is stored in a new database table, IM_AppearanceSettings. The installer creates it. Follow the normal upgrade procedure; the MSI’s database step adds the table and there is nothing extra to do for this feature.

If your database is updated outside the installer, run the database step before the upgraded Admin API starts. See Running the database step yourself.

How to tell the table is missing. After the upgrade the Appearance tab shows the shipped look and Save reports an error. Run the database step, then restart the Admin API service.

API summary

For integrators. Everything under /api/appearance:

Method and pathAccessPurpose
GET /api/appearanceAnonymous, ETagRead the theme
GET /api/appearance/logoAnonymousRead the logo image
GET /api/appearance/catalogroles.readIcons and roles the editor offers
PUT /api/appearanceroles.writeSave the theme
POST /api/appearance/logoroles.writeUpload the logo
DELETE /api/appearance/logoroles.writeRemove the logo
DELETE /api/appearanceroles.writeReset to defaults

Every change is admin-audited.