Brand — shields, lockups and the app registry
Every app's shield, wordmark and colour comes from one registry. Rendered from the package at request time, so this page cannot drift from what consumers get.
The registry — 16 apps
allAppKeys() at render time. Adding an app is a registry entry plus an SVG; nothing here is hardcoded in this page.
Anshin Health Solutions
anshin-ahs
Anshin Anna
anshin-anna
Anshin Knowledge Wiki
anshin-knowledge
Anshin Connect
anshin-connect
Anshin Platform Console
anshin-console
Anshin Comply
anshin-comply
Anshin SecureDocs
anshin-securedocs
Anshin Accelerate
anshin-accelerate
Anshin Orchestrate
anshin-orchestrate
Anshin Predict
anshin-predict
Anshin Admin Portal
anshin-admin
Anshin Support
anshin-support
Anshin Aegis
anshin-aegis
Anshin ETL
anshin-etl
Anshin Knowledge Wiki
anshin-knowledge-wiki
Anshin CLIF
anshin-clif
Lockup variants
The composed mark. sidebar-collapsed is the one that matters most — it is what a 64px rail shows, and it was invisible until 5.3.1 because the brand colour token had no Tailwind utility generated for it.
sidebarANSHINAnnasidebar-collapsedloginANSHINAnnamarkShield sizes & wordmark
Shields are SVG and scale cleanly; they take their colour from the registry entry, not from a prop.
Unregistered app — the fallback, shown
resolveApp('anshin-not-a-real-app'). It returns the AHS default and warns once on the console. It does not throw and does not render nothing — a blank shield would be indistinguishable from a styling bug.
Anshin Health Solutions
Which prop renders the brand — currentAppKey vs brandApp
With the app switcher mounted, currentAppKey takes precedence over brandApp. A correct brandApp does not protect you. With the switcher off, currentAppKey is ignored entirely. Three apps shipped the wrong shield because the SDK's own doc comment said the inverse — fixed in 5.3.12.
| brandApp | currentAppKey | Switcher | Key that renders | Result |
|---|---|---|---|---|
anshin-comply✓ | complyunregistered | mounted | complyoverrides brandApp= anshin-comply | unregistered → falls back to Anshin Health Solutions |
anshin-comply✓ | complyunregistered | off | anshin-complycurrentAppKey ignored (switcher off) | Anshin Comply |
anshin-comply✓ | anshin-comply | mounted | anshin-comply | Anshin Comply |
anshin-knowledge✓ | knowledgeunregistered | mounted | knowledgeoverrides brandApp= anshin-knowledge | unregistered → falls back to Anshin Health Solutions |
— | anshin-clif | mounted | anshin-clif | Anshin CLIF |
— | anshin-clif | off | anshin-ahscurrentAppKey ignored (switcher off) | Anshin Health Solutions |
anshin-clif✓ | — | mounted | anshin-clif | Anshin CLIF |
Rows 1 and 4 are the real defects found on 2026-10-02 in anshin-comply and anshin-knowledge-wiki. Both had registered correctly. Row 3 is the one-word fix. The wiki case needs a split rather than a rename: the same field also feeds Connect's ?app= and the session cookie name, so renaming it in place signs out every user.