Governance
Design tokens are a public contract between design, themes, and components.
Governance protects three things:
- stable semantic names
- clear separation between core and semantic tokens
- safe evolution of the system over time
Core rule
Components consume semantic tokens only for meaning-bearing families.
Infrastructure-only families (e.g., breakpoints) do not define a semantic layer — their tokens are consumed directly by layout systems and applications. See Token Model — Invariant 7 for the architectural rationale.
Core tokens of meaning-bearing families are foundation values for themes and token composition. They are not the public API for components.
When to create a token
Create a token only when all of the following are true:
- the need cannot be expressed by an existing semantic token
- the need is reusable across multiple components or patterns
- the name fits the existing taxonomy
Prefer reuse before creation.
What may change
Add a core token
Add a core token when the system needs a new foundation value, such as a new color, size, radius, duration, or scale step.
Rules:
- core tokens define values, not intent
- adding a core token must not bypass the semantic layer
- new core tokens should extend the existing system, not create a parallel vocabulary
Change a core token
A core value may change when a theme or foundation needs to evolve.
Rules:
- core value changes belong to theme or foundation evolution
- keep the token meaning the same
- evaluate impact on all semantic mappings and supported modes
- modes must remap semantic references, not mutate core values
Add or change a semantic token
A semantic token may be added or remapped when the system needs a new stable design intention.
Rules:
- semantic tokens define intent, not raw value
- semantic names are part of the public API
- changing a semantic mapping is allowed
- changing a semantic token’s meaning is not allowed
If the intention changes, create a new token and deprecate the old one.
Contract checks
Every token change must pass these checks:
- the name follows the system taxonomy
- semantic tokens reference valid tokens
- references are resolvable
- references are not circular
- components do not consume core tokens directly
- deprecated tokens provide a clear replacement when applicable
If a rule can be validated automatically, it should be validated automatically.
Deprecation
Do not remove tokens without deprecation first.
When a token is no longer recommended:
- mark it as deprecated in the token source
- provide the replacement
- allow time for migration
- remove it in the next major version
Deprecation is the preferred path for contract changes.
Versioning
Tokens follow semantic versioning.
- PATCH: documentation fixes, metadata fixes, or internal corrections that do not change the public token contract
- MINOR: backward-compatible additions, new tokens, new aliases, or deprecations
- MAJOR: removals, renames, meaning changes, or any other breaking contract change
Review
Each proposal should answer:
- what problem exists
- why reuse is not enough
- what token is being added, changed, or deprecated
- what impact exists on themes and components
Design reviews semantic fit. Engineering reviews implementation and validation. Merge only when the contract remains coherent.
Principle
Prefer a smaller vocabulary with stronger meaning.
A token system stays scalable by making reuse easy, naming stable, and change deliberate.