Brand Operating System architecture
A Brand Operating System (Brand OS) is the orchestration layer that keeps your brand:
- consistent,
- compliant,
- and adaptive
across LLMs, agents, design tools, and products.
Brando vocab v1.3 provides the data model for that OS:
brando:Brand– core identity and defaultsbrando:Context– situational modifiers (channel, audience, region, goal)Brando:VerbalIdentity/Visual/Audio– expression tokens by modalitybrando:Policy– governance and guard railsbrando:BrandedCategory– product/category alignment and vocabularybrando:Campaign– time-bound overlaysbrando:AutomationRule– event- and metric-driven behaviour changes
This page describes how those types fit into a Brand OS architecture.
1. Conceptual architecture
At a high level, a Brand OS has four layers:
-
Source-of-truth layer
- Brando JSON-LD / YAML files
- Brand Knowledge Graph / triple store
- Links into DAM, PIM, CMS, brand portals
-
Governance & inference layer
- Policy resolution (which
brando:Policyapplies?) - Automation rules (
brando:AutomationRule) - Enforcement level and risk tagging
- Policy resolution (which
-
Runtime integration layer
- Adapters for:
- LLMs and agents
- MCP servers / tools
- internal and external APIs
- Prompt assembly and constraint injection
- Adapters for:
-
Applications & channels
- Chatbots, copilots, assistants
- Web and app surfaces
- Design and content tools
A simplified view:
+----------------------------+
| Applications & Channels |
| (chatbots, UIs, tools) |
+--------------+-------------+
|
v
+--------------+-------------+
| Runtime Integration Layer |
| - LLM / Agent adapters |
| - MCP / API glue |
+--------------+-------------+
|
v
+--------------+-------------+
| Governance & Inference |
| - Policy resolution |
| - Automation rules |
+--------------+-------------+
|
v
+--------------+-------------+
| Source of Truth |
| - Brando JSON-LD/YAML |
| - Brand Knowledge Graph |
+----------------------------+
Brando vocab sits in the bottom two layers:
- it defines the data structures,
- and gives the governance layer a shared language for policies, tokens, and contexts.
2. Brando types as the Brand OS data model
The Brando schema classes correspond closely to typical Brand OS concepts:
| Brando type | Brand OS role |
|---|---|
brando:Brand |
Top-level brand entity (group, master brand, sub-brand, region, product brand) |
brando:Context |
Situation where behaviour changes (channel, audience, task, jurisdiction) |
Brando:VerbalIdentity |
Voice/tone/vocabulary presets |
Brando:VisualIdentity |
Visual system / design tokens |
Brando:AudioIdentity |
Sonic identity |
brando:Policy |
Governance objects (brand/legal/compliance rules) |
brando:BrandedCategory |
Brand-specific categories linked to GS1, UNSPSC, Google Product Taxonomy |
brando:Campaign |
Time-bound overlays for seasonal or strategic campaigns |
brando:AutomationRule |
Metric- or event-driven automation to adjust behaviour or enforcement |
In practice, a Brand OS will:
- store these as nodes in a knowledge graph or config store,
- index them by
@id, - use the relationships (
brando:hasContext,brando:usesVerbal,brando:hasPolicy, etc.) to assemble runtime configurations.
3. Core Brand OS operations
A Brand OS repeatedly performs a small set of operations:
-
Resolve brand and context
- Identify which
brando:Brandapplies (e.g. “Northstar Bank UK”). - Resolve a
brando:Context(e.g. “retail chatbot, UK, logged-in customer”).
- Identify which
-
Gather tokens and policies
-
Walk relationships:
brando:usesVerbalbrando:usesVisualbrando:usesAudiobrando:hasPolicybrando:hasProductCategorybrando:hasCampaign
-
Apply inheritance rules:
brando:inheritsTokensbrando:inheritsPolicies
-
-
Evaluate automation rules
-
For relevant
brando:AutomationRule:- check
brando:triggerType,brando:monitoredMetric,brando:dataSource, - decide whether actions in
brando:automationActionshould fire.
- check
-
Materialise runtime configuration
-
Build application-specific artefacts:
- system prompts and style blocks,
- policy snippets/guard rails,
- links to assets (
brando:downloadableFile,brando:supportingFile), - integration IDs (
brando:externalSystem,brando:externalSystemId).
-
Enforce and log
-
Use
brando:enforcementLevelandbrando:riskTagto determine:- what is mandatory vs advisory,
- how to log or escalate violations.
4. Example: Single-request flow
A typical request flow for a chatbot or copilot using Brando looks like:
- Application identifies scope
Inputs might include:
brandId:"https://example.com/brand/northstar"contextId:"https://example.com/brand/northstar/context/retail-chatbot"userPersona:"Everyday saver"-
productCategory:"https://example.com/brand/northstar/categories/savings-accounts" -
Brand OS resolves graph nodes
The Brand OS looks up:
brando:Brandby@idbrando:Contextfor the chatbot- any
brando:BrandedCategorymatching the product -
all applicable
brando:Policyandbrando:AutomationRulenodes -
Brand OS assembles a runtime configuration
Conceptually:
interface RuntimeBrandConfig {
brand: Brand;
context: Context;
Verbals: Verbal[];
Visuals: Visual[];
Audios: Audio[];
policies: Policy[];
campaigns: Campaign[];
automationRules: AutomationRule[];
categories: BrandedCategory[];
}
- Adapter converts it to LLM-specific representation
For example, for an OpenAI-style chat model:
-
one system message that embeds:
- brand mission, values, narrative,
- current context description,
- tone of voice and vocabulary rules,
- guard rails and refusal strategies.
-
During and after generation
-
Some policies may be enforced pre-prompt (e.g. blocked topics).
- Some may be enforced post-hoc (e.g. check outputs against
brando:prohibitedTerms). - Automation rules may adjust enforcement levels over time based on metrics.
5. Source-of-truth: Brand Knowledge Graph
Brando vocab v1.3 is designed to be published as a Brand Knowledge Graph:
- in JSON-LD files (web-visible or internal),
- in a graph database or triplestore,
- in a document store with graph-like references.
Typical structure:
{
"@context": {
"schema": "https://schema.org/",
"brando": "https://brandoschema.com/",
"gs1": "https://ref.gs1.org/voc/"
},
"@graph": [
{
"@id": "https://example.com/brand/northstar",
"@type": "brando:Brand",
"schema:name": "Northstar Bank",
"brando:hasContext": {
"@id": "https://example.com/brand/northstar/context/retail-chatbot"
},
"brando:hasProductCategory": {
"@id": "https://example.com/brand/northstar/categories/savings-accounts"
},
"brando:hasPolicy": {
"@id": "https://example.com/brand/northstar/policies/global-brand-safety"
}
},
{
"@id": "https://example.com/brand/northstar/context/retail-chatbot",
"@type": "brando:Context",
"brando:domainContext": {
"channel": "chatbot",
"surface": "public-website",
"region": "UK"
},
"brando:audiencePersona": [
"Everyday saver"
],
"brando:usesVerbal": {
"@id": "https://example.com/brand/northstar/tokens/verbal/support"
}
}
]
}
From the Brand OS perspective, this graph is:
- the single source of truth for identity, tokens, and policies,
- machine-manageable (updated by automated processes and AI),
- designed to be consumed by multiple runtimes.
6. Integration with existing systems
The Brand OS typically does not replace:
- DAM,
- CMS,
- PIM,
- brand portals,
but sits between them and AI runtimes.
Brando provides properties for wiring:
-
assets:
brando:downloadableFilebrando:supportingFilebrando:assetURLbrando:assetPreview-
external tools:
-
brando:externalSystem(points toschema:SoftwareApplication) brando:externalSystemId(ID in that system)
Example:
{
"@id": "https://example.com/brand/northstar/tokens/visual/master",
"@type": "Brando:VisualIdentity",
"brando:assetURL": "https://assets.example.com/northstar/visual/master-token.json",
"brando:downloadableFile": {
"@id": "https://assets.example.com/northstar/visual/master-kit.zip",
"@type": "schema:MediaObject",
"schema:name": "Northstar Visual System – Master Kit",
"schema:contentUrl": "https://assets.example.com/northstar/visual/master-kit.zip"
},
"brando:externalSystem": {
"@id": "https://example.com/integrations/adobe-genstudio"
},
"brando:externalSystemId": "northstar_visual_master"
}
The Brand OS uses this to:
- locate the right assets in DAM,
- configure external creative tools,
- keep different channels and tools aligned on the same tokens.
7. Governance & lifecycle in the Brand OS
Governance is not a bolt-on; it is embedded in the core data model via:
brando:enforcementLevel– mandatory vs advisory vs conditionalbrando:riskTagandbrando:complianceTags– classification for dashboards and filtersbrando:retrievableInLLM– whether a node may be indexed or retrieved by LLM/RAGbrando:effectiveDuring– temporal scopingbrando:reviewWorkflow/brando:updatePolicy– lifecycle metadata
Typical Brand OS responsibilities:
- enforce
enforcementLevelwhen assembling prompts or validating outputs, - filter nodes based on
retrievableInLLMfor vector search or RAG, - surface governance views grouped by
riskTag(“all policies related to financial regulation”), - apply
effectiveDuringwindows for campaigns and time-bound contexts.
8. Automation and self-adjusting guard rails
brando:AutomationRule is where the Brand OS reacts to signals:
- metrics from monitoring,
- incident reports,
- queue sizes,
- scheduled events.
Example automation rule:
{
"@id": "https://example.com/brand/northstar/automation/rag-high-risk-monitor",
"@type": "brando:AutomationRule",
"brando:appliesTo": {
"contexts": [
"retail-chatbot-uk"
],
"personas": [
"Everyday saver"
]
},
"brando:triggerType": "metric-threshold",
"brando:monitoredMetric": {
"name": "unsafe_output_rate",
"threshold": 0.05,
"operator": ">",
"window": "7d"
},
"brando:dataSource": "https://monitoring.example.com/api/metrics/unsafe_output_rate",
"brando:automationAction": {
"actionType": "increase_enforcement",
"targetPolicies": [
"https://example.com/brand/northstar/policies/global-brand-safety"
],
"newLevel": "mandatory",
"notify": [
"risk-team@northstar.example"
]
},
"brando:enforcementLevel": "mandatory",
"brando:riskTag": [
"brand-safety",
"llm-guardrails"
]
}
The Brand OS:
- Evaluates
monitoredMetricviadataSource. - If the threshold is exceeded, parses
automationAction. - Adjusts target policies and notifies relevant teams.
This is where AI-managed brand governance becomes practical; humans define the structures and rules, but the system nudges enforcement levels and checks based on real metrics.
9. Recommended implementation pattern
Non-normative, but widely applicable:
-
Data & schema
-
Store Brando JSON-LD as the canonical Brand Knowledge Graph.
-
Optionally provide YAML for authoring.
-
Indexing & search
-
Maintain indices by:
- brand, sub-brand, region,
- context IDs,
- category codes (GS1/UNSPSC/google),
- risk tags.
-
Runtime service
-
Expose a Brand OS service or API that supports:
getBrandConfig(brandId, contextId, options): RuntimeBrandConfiglistPolicies(brandId, filters): Policy[]evaluateAutomationRules(brandId): AutomationOutcome[]
-
Adapters
-
For each AI platform or runtime:
- write an adapter that converts
RuntimeBrandConfiginto the platform’s native configuration (prompts, style blocks, policies).
- write an adapter that converts
-
Observability
-
Log:
- which
brando:*nodes were used for each AI interaction, - which policies were in effect,
- which automation rules fired.
- which
This gives you an auditable chain from:
“What did the AI say or do?” back to “What did the brand, in Brando vocab, tell it to say or do?”
10. Related documentation
-
Concepts & types
-
Specification
-
Runtime & integration