RelayCTX Creative briefsAUDIT.brand-identity-2026-07.md
RelayCTX Creative · Document

AUDIT: Brand Identity — visual + verbal system consistency

1,020 words · 5 min View raw Source History

AUDIT: Brand Identity — visual + verbal system consistency

Purpose: check the live brand system (tokens, mark, wordmark, vocabulary) for internal consistency and cross-repo drift, and assess which elements are name-independent (survive a hypothetical rename cleanly) vs name-coupled (would need rework). Companion to the strategic-side analysis in relay-board/docs/strategy/brand-brief.md — that doc covers positioning, persona, and competitive namespace pressure; this one covers the applied system.

Governs: nothing changes here — this is an audit, not a spec. Findings feed brand/relay-design-system.md (if a value needs correcting) or _vocab/_VOCAB.md (if a term needs correcting), never edited directly from this file. Reads against: brand/relay-tokens-v35.css, brand/BRAND-BRIEF.md (v3.5), brand/relay-design-system.md, _vocab/_VOCAB.md, relay-app/packages/ui/tokens.css, relay-app/web/src/*. Related: brand/BRIEF.name-alternatives.md (naming contingency — this audit's "name-coupled" section is the visual-system half of that exercise). Created: 2026-07-22.


Summary

The v3.5 system (ratified 2026-07-10) is genuinely coherent — one token file, one vocab file, both cited consistently across the three sources that reference them. The gaps found here are small and mechanical, not structural: a stale cross-repo pointer, a few internal (non-user-facing) identifiers that still carry retired vocabulary, and one open question about what survives a rename. No finding here blocks anything; they're cleanup-tier.


Consistency check

ElementCanonical sourceStatusNote
Color tokensbrand/relay-tokens-v35.css✅ In syncSpot-checked against relay-app/packages/ui/tokens.css — light/dark accent values, ink-flip, and the #0d9488#0f766e pending-AA note all match. The two-file split (design intent vs. app implementation) is working as intended, not drifting.
Wordmark treatmentbrand/relay-design-system.md✅ ConsistentOutfit 600, -0.02em, one treatment everywhere — no v3.4 Syne remnants found in the sources checked.
Trademark (™) placementbrand/BRAND-BRIEF.md✅ ConsistentFirst-use-only rule is specific and non-ambiguous (.rl-tm rule ties it to one CSS class) — the kind of rule that's easy to enforce because it's mechanical, not judgment-based.
Locked vocabulary (user-facing)_vocab/_VOCAB.md✅ EnforcedChecked relay-app/web/src for the two most-likely-to-drift terms: "Claimed" and "PIN" as displayed strings. Neither appears user-facing — ui/primitives.ts:134 has a comment explicitly noting the claimed→"Received" rule, and the UI copy (e.g. overview.ts's onboarding tip) correctly says "Code."
Locked vocabulary (internal/technical)⚠️ Minor driftRetired terms persist in code that users never see: CSS class pin-chip, element IDs claim-pin-input / send-pin-display / ob-resource-pin, and two code comments in onboarding.ts / init.ts still say "Relay Code." Harmless today, but it means the internal mental model (what engineers read while working) lags the product mental model by one full vocabulary generation. Low priority — rename opportunistically, not worth a dedicated pass.
Mark (Open Signal)brand/relay-mark.svg✅ ConsistentSingle inline-SVG source, currentColor-only, no hardcoded hex found in the design-system doc's usage rules.
Motion pulse colorbrand/relay-pulse.css✅ Consistent#00D9C8 is documented motion-only in both relay-design-system.md and BRAND-BRIEF.md — same rule stated twice, not contradicting.
Board ↔ creative cross-linkrelay-board/docs/strategy/brand-brief.md❌ Was broken, now fixedThe board's strategic brand-brief pointed to relay-platform/BRAND-BRIEF.relay-system.md as "source of truth" — that file no longer exists in relay-platform (checked; root has no BRAND-* file). The board doc predates the v3.5 system by four months and still describes visual identity as "TBD," which stopped being true 2026-07-10. Corrected in the same pass as this audit — board doc now points here.

What's name-independent vs. name-coupled

Prompted by brand/BRIEF.name-alternatives.md — if the company name ever changed, here's what of the visual/verbal system specifically would and wouldn't need rework. This is the applied- system answer to that doc's naming question, not a restatement of it.

Survives a rename essentially untouched:

Name-coupled — would need a real pass:

Net: the visual system (mark, tokens, type) is well-insulated from a name change already — that's arguably why Open Signal was designed unboxed and abstract in the first place. The real cost of a rename lives in the verbal layer (verb + vocabulary + MCP tool names), not the visual one.


Recommendations

#FindingFixEffort
1Board brand-brief pointed at a dead file, described shipped work as TBDFixed in this pass (see relay-board)Done
2Internal identifiers (pin-chip, claim-pin-input) lag current vocabularyRename opportunistically when touching that code — not a dedicated sweepS, deferred
3No existing doc answered "what survives a rename" for the visual systemThis audit's section above — fold into BRIEF.name-alternatives.md's next-steps if that exercise proceedsDone

Confidential working doc — relay-creative/briefs.