Business brand configuration: icon image, design-system seed values, and server-computed theming tokens. The expander in @sessions-internal/core/branding fills every leaf the business hasn't explicitly set, so an unconfigured business gets sensible defaults.
Fields
iconImageSquare icon image for the business, or null if not set.
faviconImageOperator-provided favicon override shown in browser tabs on the business's public pages. When null, the favicon is auto-generated from the brand (the icon over the brand gradient, or the business initials).
touchIconImageOperator-provided apple-touch-icon override used by iOS home-screen bookmarks of the business's public pages. Same auto-generated fallback as favicon.
faviconUrlURL!Absolute URL of the favicon served on this business's public pages — the uploaded override, or the icon generated from the brand. For a private business the URL carries an unguessable capability signature that unlocks the brand imagery (without it the endpoint serves the platform icon, indistinguishable from a nonexistent handle); it reaches viewers only through queries that already hide private businesses from anyone without access.
touchIconUrlURL!Absolute URL of the apple-touch-icon for this business's public pages. Same signing behavior as faviconUrl.
colorSchemeColorScheme!Light vs dark scheme. Drives the <html data-color-scheme> attribute on the business's public pages and the lightness values used when deriving any unset surface colors.
primaryColorStringConvenience shortcut for the OKLCH string of colors.surfaces.primary.background.
accentColorStringConvenience shortcut for the OKLCH string of colors.accent.value.
colorsBrandColors!Color roles — three stacked surfaces (primary/secondary/tertiary) and three action colors (accent/critical/positive). Every leaf is filled by the server-side expander.
typographyBrandTypography!Typography settings (font family stack, heading family override, base size, scale).
radiiBrandRadiiScale!Design-system scale definitions. Components reference these scales by step name (e.g. button.borderRadius = "lg"), and the resolved value is looked up here.
spacingBrandSpacingScale!shadowsBrandShadowsScale!componentsBrandComponents!Per-component overrides applied to the design system primitives. Every leaf is filled with the project default when the business hasn't explicitly set it.
theming[ThemingToken!]!CSS custom property tokens in the public --sessions-* namespace. These are what the embed reads from its host page, what the editor's live preview projects into the embed wrapper, and what the admin app consumes via the --sessions-* → --qui-* mapping in browser.css.
integrationCssString!Server-rendered CSS snippet a customer can paste onto their site to brand the embedded <sessions-schedule> element. Wraps the full --sessions-* set in a sessions-schedule { ... } block.
configurationStatusBrandConfigurationStatus!Whether the brand has any of icon, colors, typography, or component overrides set.