mirror of
https://github.com/hanzoai/base.git
synced 2026-10-21 03:41:50 +00:00
base.hanzo.ai showed a rounded-square "B" — a placeholder, not Hanzo's logo — in the tab and in the app, which renders it from icon.ts in __root and login. The real marks already exist and are already served per brand at /brands/<brand>/logo.svg. They are carried here rather than linked cross-origin, and they draw in currentColor, so they take the surface's own colour instead of shipping a second palette. ONE map from host to brand, in index.html, resolved before the bundle loads and left on window for the app to read. The alternative was that map plus a copy in the bundle, and two answers to "which brand is this host" is exactly how a page ends up titled Hanzo over somebody else's logo. Title, favicon and in-app mark now come from the same answer and cannot disagree. Checked from the built output across every host the fleet serves: base.hanzo.ai / superbase / recipes.base Hanzo Base + hanzo mark lux.id, base.lux.network Lux Base + lux mark zoolabs.id, base.zoo.ngo Zoo Base + zoo mark localhost Base + generic glyph An unknown host keeps the unbranded glyph, and the patterns anchor to the registrable domain: evil-hanzo.ai.attacker.com and zoolabs.id.attacker.com are handed no mark of ours at all. Co-authored-by: Hanzo Dev <[email protected]>