> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livry.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Livry Glossary

> Every Livry term in one place, with what it is not — including the words from earlier versions of the product that are no longer concepts.

## The model

<ResponseField name="Team" type="the account">
  The customer account and billing boundary. Owns people, the subscription, and every Environment.
  One person's account can belong to several. Always has at least one Owner.
</ResponseField>

<ResponseField name="Environment" type="the isolation boundary">
  Sandbox, staging or production. Nothing moves between them and nothing auto-promotes. Named by a
  URL slug. Owns the `latest` cache lifetime. See [Environments](/teams/environments).
</ResponseField>

<ResponseField name="Theme" type="the defaults">
  A default token set, plus its integrations, serving mode, signing keys and allowlists. Belongs to
  one Environment; an Environment may hold many. See [Tokens](/theming/tokens).
</ResponseField>

<ResponseField name="Variant" type="one brand">
  A flat map of token path to value — the values that make one brand different. Owns values and
  nothing else. See [Variants](/theming/variants).
</ResponseField>

## Tokens

<ResponseField name="Token" type="a named value">
  A design value with a path, a type and a value: `color.brand.primary`, `color`, `#5B4DE4`.
</ResponseField>

<ResponseField name="DTCG" type="the format">
  The W3C Design Tokens Community Group format: `$value`, `$type`, `$description`, `$extensions`,
  nested in groups. What a Theme's document is.
</ResponseField>

<ResponseField name="Group" type="a folder with opinions">
  A node in the tree. A group's `$type` is **inherited** by every descendant that declares none —
  which is why you must never copy it onto the token.
</ResponseField>

<ResponseField name="Alias" type="{a.reference}">
  A value of the form `{color.brand}`. Stored unresolved, so the relationship survives — override the
  target and everything pointing at it moves. Resolved when files are rendered.
</ResponseField>

<ResponseField name="Resolved type" type="what it actually is">
  A token's type after group inheritance and inference. Read-only, and distinct from the token's own
  `$type`.
</ResponseField>

<ResponseField name="Resolution" type="the overlay">
  The Theme's document with a Variant's values overlaid, path by path. Only `$value` changes — the
  tree, names, types and descriptions are the Theme's throughout.
</ResponseField>

## Versioning

<ResponseField name="Draft" type="unpublished edits">
  Created by the first edit that changes something, deleted when you publish or discard. "Is there a
  draft" and "are there unpublished changes" are the same question.
</ResponseField>

<ResponseField name="Version" type="frozen, forever">
  An immutable snapshot, numbered from 1. Nothing in Livry can write an existing version.
</ResponseField>

<ResponseField name="Publish" type="freeze and build">
  Turns the draft into the next version, migrates the Variants, and materialises the served files.
  See [Versioning](/theming/versioning).
</ResponseField>

<ResponseField name="Materialisation" type="the build step">
  Rendering every (Theme, Variant, version) into its served files. Runs a few seconds behind a
  publish.
</ResponseField>

## Serving

<ResponseField name="Artifact" type="a served file">
  One of `tokens.css`, `tokens.json`, `tokens.flat.json`, `tokens.dtcg.json`, `tokens.values.json`.
  See [What gets served](/serving/files).
</ResponseField>

<ResponseField name="Integration" type="a framework and library pair">
  e.g. (React, Chakra UI). Decides **which files a Theme builds**. Not a label — a Theme with no
  integrations serves nothing.
</ResponseField>

<ResponseField name="Serving mode" type="public or signed">
  Whether URLs need an HMAC signature. New Themes are `public`.
</ResponseField>

<ResponseField name="Key id / kid" type="public">
  Names which signing key a URL was signed with. Travels in `?kid=`. Not a secret.
</ResponseField>

<ResponseField name="latest vs pinned" type="two addresses">
  `latest` moves when you publish and expires on a timer; `/{n}/` is frozen and cached for a year.
  See [Caching](/serving/caching).
</ResponseField>

## Access

<ResponseField name="Team role" type="Member / Billing / Admin / Owner">
  What you can do to the **account**. Grants nothing inside an Environment.
</ResponseField>

<ResponseField name="Environment grant" type="Viewer / Editor / Admin">
  What you can do **inside** one Environment. Held per Environment, per person. See
  [Roles](/teams/roles).
</ResponseField>

## Words that are not concepts

Earlier versions of Livry used these. They appear in old blog posts, old screenshots and
occasionally in our own code comments. None of them is part of the product.

| You may see | It means |
| - | - |
| **Tenant** | Environment |
| **Organization** | Variant |
| **Application** | Nothing. Signing keys belong to a **Theme**. |
| **Brand** | Variant |
| **Management API** | The [Public API](/api/introduction) |
| **Schema-less tokens** | Obsolete. Tokens are typed DTCG. |

<Note>
  If you find one of these in current Livry documentation, a portal screen or an API response, that
  is a bug worth reporting — the vocabulary is meant to be exact everywhere.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.