Privacy and analytics

We use necessary technical cookies and, only with your consent, analytics and marketing pixels to improve the website and measure campaigns.

Privacy policyCookie policy
Docs
English
EspañolEnglishFrançaisDeutschItaliano

Getting started

  • What is Nömad?
  • Getting started with Nömad
  • Create your brand and complete the Genome
  • Invite your team
  • Glossary

Brand OS

  • What is inside Brand OS
  • What is the Genome?
  • Who is Nödo?
  • What does a Brand Manager do?
  • Brand Kit and Library
  • Posts and calendar
  • Connections
  • Meetings

Work

  • Work and tasks
  • Ordering work
  • Following, reviewing and approving deliveries
  • Custom quotes
  • Yes, there are humans behind it

Account and billing

  • Plans and pricing
  • Billing and payments
  • Roles and permissions
  • Workspaces and multiple brands
  • Languages, apps and data

Help

  • How to get help

API

  • Brand API

MCP

  • MCP server

Connectors

  • Brand connectors

Nödo and agents

  • Nödo in the brand

Genome

  • Genome specification
    • Fields
    • Example
    • brand.json
Genome/Genome specification
Reference5 min read

brand.json

The stable machine projection of the Genome.

Updated on January 1, 1970

PreviousExample
Português
Русский
한국어
日本語
中文
हिन्दी
Open the app

In this section

  • Fields
  • Example
Can't find what you need? Write to usWrite to usGo to the app
© 2026 Nömad · Nömad documentationLinkedInInstagramFacebookTikTokYouTubeX
Go to nomad.oooBack to top

In this section

  • Fields
  • Example

Go to the app

The essential pages to understand Nömad and get started with your brand.

Open the app

brand.json (nomad-brand/1) is the stable machine projection of the Genome: identity, offer, voice, claims and visual system in a flat format. The Genome page, Nödo, the MCP server and the API hand out the same bytes. Every member is always present; unknown values are an empty string, an empty list or null.

Schema: https://docs.nomad.ooo/schemas/brand/1.json. A valid Genome always yields a valid brand.json. Changes within nomad-brand/1 only add members.

Fields

FieldTypeAlways presentDescription
format"nomad-brand/1"YesFormat identifier. Always nomad-brand/1.
namestringYesBrand name (metadata.displayName).
revisioninteger ≥ 0YesGenome revision it was generated from; 0 when unknown.
generatedAtstringYesWhen the Genome strategy was generated (ISO 8601); empty when unknown.
languagestringYesBCP 47 tag of the brand's primary language; empty when unknown.
industrystring (enum) | ""YesIndustry code; empty when unknown.
identityobjectYesWho the brand is.
identity.whatItSellsstringYesWhat the brand sells.
identity.essencestringYesEssence in one sentence.
identity.purposestringYesWhy the brand exists.
identity.positioningstringYesPositioning statement.
identity.promisestringYesBrand promise.
offerobject[]YesWhat the brand sells, by name.
offer[].namestringYesName the brand uses for it.
offer[].descriptionstringYesWhat it is and for whom.
offer[].kindstring (enum) | nullYesKind of offering. One of product, service, subscription, experience, bundle.
offer[].rolestring (enum) | nullYesRole in the offer. One of flagship, core, complement.
offer[].pricestring | nullYesPrice exactly as published; null when not published.
voiceobjectYesHow to write as the brand.
voice.signaturestringYesThe voice in one sentence.
voice.addressstring (enum) | nullYesDefault form of address. One of tu, usted, vos, mixto.
voice.addressNotesstring | nullYesExceptions to the form of address.
voice.toneobjectYesTone scales, integers from 1 to 10.
voice.tone.formalityinteger 1–10No1 = street colloquial, 10 = institutional.
voice.tone.closenessinteger 1–10No1 = distant, 10 = intimate.
voice.tone.energyinteger 1–10No1 = calm, 10 = explosive.
voice.tone.technicalinteger 1–10No1 = everyday language, 10 = specialist vocabulary.
voice.tone.ironyinteger 1–10No1 = literal, 10 = sarcastic.
voice.rulesstring[]YesWriting rules.
voice.conventionsstring[]YesStyle conventions.
voice.sayDontSayobject[]YesSay X, not Y.
voice.sayDontSay[].saystringYesWhat the brand says.
voice.sayDontSay[].dontSaystringYesWhat it avoids instead.
voice.forbiddenWordsstring[]YesWords the brand never uses.
voice.examplesobject[]YesOn-brand and off-brand examples.
voice.examples[].contextstringYesSituation.
voice.examples[].onBrandstringYesHow the brand writes it.
voice.examples[].offBrandstringYesThe generic version to avoid.
voice.channelsobject[]YesVoice per channel.
voice.channels[].channelstringYesChannel.
voice.channels[].guidancestringYesHow the voice adapts there.
voice.languagesobject[]NoVoice per secondary language. Absent in exports made before it existed.
voice.languages[].localestringYesLanguage code (BCP 47).
voice.languages[].addressstringYesForm of address and register in that language.
voice.languages[].tonestringYesHow the voice moves in that language compared with the primary one.
voice.languages[].signatureLinestring | nullYesSignature line transcreated for that language.
voice.languages[].sayDontSayobject[]YesSubstitutions specific to that language.
voice.languages[].sayDontSay[].saystringYesWhat the brand says.
voice.languages[].sayDontSay[].dontSaystringYesWhat it avoids.
voice.languages[].culturalNotesstring[]YesCultural codes the voice respects there.
voice.languages[].avoidstring[]YesWhat sounds wrong or is misread there.
voice.emojiobjectYesEmoji use.
voice.emoji.frequencystring (enum) | nullYesHow often the brand uses emojis. One of never, rare, moderate, frequent.
voice.emoji.preferredstring[]YesEmojis that represent the brand.
voice.emoji.forbiddenstring[]YesEmojis that do not fit the brand.
claimsobjectYesWhat the brand may and may not claim.
claims.allowedstring[]YesClaims the brand may make, with proof.
claims.forbiddenstring[]YesClaims the brand must not make.
claims.sensitiveTopicsstring[]YesTopics that need special review.
visualobjectYesHow the brand looks.
visual.colorsobject[]YesBrand colours without duplicates.
visual.colors[].namestringYesColour name.
visual.colors[].rolestring (enum)YesRole in the palette. One of primary, secondary, accent, background, foreground, neutral, unspecified.
visual.colors[].hexstringYesUpper-case sRGB hex, #RRGGBB. Pattern ^#[0-9A-F]{6}$.
visual.accessiblePairsobject[]YesEvery brand colour against the others and against white and black, keeping pairs with a contrast of at least 3, highest first.
visual.accessiblePairs[].foregroundstringYesName of the text colour.
visual.accessiblePairs[].backgroundstringYesName of the background colour.
visual.accessiblePairs[].rationumber ≥ 3YesWCAG 2.2 contrast ratio, rounded to two decimals.
visual.accessiblePairs[].levelstring (enum)YesAAA (≥ 7), AA (≥ 4.5, body text) or AA large (≥ 3, large text and interface shapes).
visual.typographyobject[]YesTypefaces, one per family and role.
visual.typography[].familystringYesFont family.
visual.typography[].rolestring | nullYesRole, for example heading; null when not set.
visual.typography[].weightsstring[]YesWeights available.
visual.logosobject[]YesLogo files.
visual.logos[].namestringYesFile name.
visual.logos[].urlstringYesDelivery URL of the logo.
visual.logos[].primarybooleanYesWhether it is the primary logo.
visual.logos[].formstring | nullYesLogo form; null when unknown.
visual.logos[].themestring | nullYesBackground it is meant for; null when unknown.
visual.distinctiveAssetsobject[]YesDistinctive assets with their Library files.
visual.distinctiveAssets[].assetstringYesDescription of the asset.
visual.distinctiveAssets[].typestring (enum) | ""YesKind of asset; empty when unknown.
visual.distinctiveAssets[].filesobject[]YesLibrary files that embody it.
visual.distinctiveAssets[].files[].idstringYesLibrary file id.
visual.distinctiveAssets[].files[].namestringYesFile name.
visual.distinctiveAssets[].files[].urlstringYesDelivery URL of the file.