Skip to content
Beta

These docs are in progress. Some pages are incomplete or may change. Report a problem

Docs

Concepts

Plain-language definitions of the terms the DTPR taxonomy, its icons and its datachains use, with examples from the current schema.

Docs menu

DTPR describes a technology by answering a fixed set of questions about it, using answers drawn from a shared list. This page defines the words used for the parts of that system. Each term has a short explanation, an example from the current schema, and a note on where it appears in the API.

The examples come from schema version dtpr@2026-09-01-beta. You can see all of it in the taxonomy explorer.

The taxonomy

Taxonomy

The taxonomy is the full set of categories and elements published in one schema version. There is one taxonomy, and it describes both physical devices and AI systems. A traffic camera, a public wifi network and a benefits eligibility model are all described with the same categories.

The current taxonomy has 14 categories and 139 elements.

Schema version

A schema version is a dated publication of the taxonomy. Its identifier is written {datachain type}@{date}, with an optional -beta suffix. A beta version can still change. A stable version cannot, so anything built against it keeps working.

The current schema version is dtpr@2026-09-01-beta. It is a beta, so its text and elements may still be revised.

Every datachain names the schema version it was written against, so a reader can always look up exactly what each element meant at the time. There is no "latest" shortcut. GET /schemas lists every version with its id, status (beta or stable), created_at and content_hash. See the schemas reference page.

Datachain type

A datachain type defines which categories a datachain may contain, in what order, and which of them are required. It is the template every datachain follows.

The current type is dtpr. It lists 14 categories, requires three of them (Purpose, Accountable and People affected), and declares one subchain. The type's name is the first half of the schema version identifier, which is why the version reads dtpr@2026-09-01-beta.

Category

A category is one question a datachain answers about a system, such as who is accountable for it or what data it takes in. Each element belongs to exactly one category. A category also sets the shape of its elements' icons, and may add a context and variables to them.

The 14 categories of the dtpr type, in order:

#CategoryQuestion it answers
1PurposeWhat is the purpose of this AI system?
2AccountableWho is accountable for this AI system?
3People affectedWho is this system used on?
4What it doesWhat is this system doing?
5Risks & MitigationWhat are the risks and how are they mitigated?
6RightsWhat are your rights?
7Collection TechnologyWhat captures the data this system uses?
8Input DataWhat input data does this AI system process?
9Algorithm or ModelWhat algorithm or model processes the data?
10Output DataWhat does this AI system produce?
11ManifestationHow do people encounter what this system produces?
12Data AccessWho has access to the data?
13Data RetentionHow long is the data kept?
14Data StorageWhere is the data stored?

The questions are quoted as the schema publishes them. Some still say "AI system", but every category applies to devices as well.

Required category

A required category is one that every datachain must answer. The datachain type decides which. The rest are optional: a datachain answers them when they apply to the system.

The dtpr type requires the three answers a person needs before anything else makes sense: what the system is for, who answers for it, and whether it affects them. The others depend on what kind of system it is.

CategoryRequiredWhy
PurposeYesEvery other answer is read against what the system is for. Without it, no one can judge whether the rest is reasonable.
AccountableYesPeople need someone to hold responsible and to contact. A system nobody answers for cannot be questioned.
People affectedYesPeople need to know whether the system touches them, including those who never chose to use it.
What it doesNoThe purpose often says it already. Name the actions when the system senses, decides or acts in ways the purpose leaves out.
Risks & MitigationNoNot every system carries a risk worth naming. Answer it whenever a risk is known.
RightsNoSome systems offer nothing beyond the general law. Answer it when people can access, contest or opt out.
Collection TechnologyNoOnly systems that capture data in the world use a device for it. One that works from existing records has none.
Input DataNoSome devices, such as a gate or a display, take no data in. Answer it when the system processes data.
Algorithm or ModelNoSome devices pass data on without processing it. Answer it when something turns inputs into outputs.
Output DataNoSome systems only collect. Answer it when the system produces decisions, content or actions of its own.
ManifestationNoSome outputs stay inside other systems and never reach people. Answer it when people meet the output.
Data AccessNoOnly a system that keeps or shares data has anyone to give access to.
Data RetentionNoA system that keeps no data has no retention period to state.
Data StorageNoA system that keeps no data has nowhere to store it.

The validate endpoint reports each required category a datachain leaves out.

Element

An element is one possible answer within a category. It has a title, a description and an icon. Describing a system means choosing the elements that apply to it.

For example, the Collection Technology category has 13 elements, including Camera, Microphone and Environmental Sensor. The Camera element's description says it captures still images or video of a place, and that it may be mounted on a pole, a vehicle or a drone, or built into a device.

Context

A context is a dimension a category adds to its elements. It records something the element alone does not say. Each time an element from that category is used in a datachain, the author picks one context value.

Five categories have a context:

CategoryContextWhat it records
AccountableRoleHow the organisation takes part in the deployment
People affectedRelationshipHow the system touches this person or group
What it doesHuman involvementHow much runs without a person
Input DataPersonal InformationHow identifiable the data is when the system processes it
Output DataPersonal InformationHow identifiable the data is when the system produces it

For example, the Biometric data element says what the data is about. The Personal Information context says how directly it identifies a person.

Context value

A context value is one option within a context. A value with a colour changes the icon. A value without a colour is shown as a tag next to the element.

The Personal Information context has three values, each with a colour: Anonymized data (blue, #4A90D9), Pseudonymous data (purple, #9575CD) and Identifiable data (yellow, #FFD700). Human involvement also has three coloured values: A person decides, A person oversees or carries it out, and Runs on its own. The Role context has two values with no colour, Vendor and Deployer. The Relationship context has three with no colour: Decided about, Caught incidentally and Wider community.

Variable

A variable is a blank that a datachain fills in for one use of an element. Variables carry the details that differ from one system to the next, such as the name of the accountable organisation.

Some variables appear as a placeholder in the element's own text. The Data Retention element titled "Retained " has the description "Data is stored for , and after this time period is deleted". A datachain that sets duration to "30 days" turns that into a complete sentence. Other variables add text alongside the element. Elements in the Accountable category have a required title and description, which hold the organisation's name and what it does. Most other categories offer an optional additional_description.

Subchain

A subchain is a named, ordered run of categories inside a datachain type that describes one flow. It lets a datachain show those categories together as a sequence.

The dtpr type has one subchain, Data Flow (data_flow). It follows data through a system in five steps: Collection Technology, Input Data, Algorithm or Model, Output Data, Manifestation. Read in order, it says what captures the data, what the data is, what processes it, what comes out, and how people encounter the result.

A system with more than one flow can repeat the subchain. A datachain lists each use in subchain_instances, giving it an id and a subchain_id of data_flow, and each element in that flow points to it with subchain_instance_id. Elements outside any flow, such as Purpose or Rights, sit at the top level of the datachain.

Icons

Every icon is built from the same parts: a symbol for the element, the shape its category sets, and, for some categories, a color for the context a datachain chooses. Here is the Biometric data element taken apart.

  1. Symbol

    The drawing that stands for the element, here Biometric data.

  2. Shape

    Set by the category, Input Data. Every element in it shares the outline.

    • No context chosen

    • Anonymized data

    • Pseudonymous data

    • Identifiable data

    Icon

    The symbol inside its shape. A datachain picks a Personal Information value, and the color shows which.

How the Biometric data icon is built from a symbol, a shape and a context color

Symbol

A symbol is the pictogram that identifies an element. It is the drawing in the middle of the icon, without any outline.

The Camera element's symbol is a camera. The Organization element's symbol is a building.

Shape

A shape is the outline around a symbol. The shape is set by the category, so every element in a category has the same one. This lets a reader tell what kind of thing an element is before reading its title.

There are four shapes:

ShapeCategories that use itWhat it signals
HexagonPurpose, Accountable, People affected, What it does, Collection Technology, ManifestationThe system itself: why it exists, who is involved, what it does, and the points where it meets the world
CircleInput Data, Algorithm or Model, Output DataData in motion: what goes in, what processes it, and what comes out
Rounded squareData Access, Data Retention, Data StorageData at rest: who can reach it, how long it is kept, and where
OctagonRisks & Mitigation, RightsGuardrails: what could go wrong and what you can do about it

The pairing of shapes and meanings is a design convention. The schema does not enforce it.

Icon

An icon is a symbol placed inside its shape. It is what appears on a sign or a screen to stand for an element. An icon has variants for dark backgrounds and for each context value.

The Recommends element, in the What it does category, has a plain icon, a dark one, and a pair for each Human involvement value. Choosing "A person decides" gives the teal version.

Datachains

Datachain

A datachain is a description of one system, made by choosing elements from the taxonomy and filling in their context values and variables. The schema calls this a datachain instance. A datachain is what ends up on a sign, a web page or a notice.

A small datachain for a resume screening tool might choose Employment & Work as its purpose, name the organisation that runs it, say who it is used on, and say what it does:

{
  "id": "acme-resume-screener",
  "schema_version": "dtpr@2026-09-01-beta",
  "created_at": "2026-09-01T00:00:00Z",
  "elements": [
    { "element_id": "employment" },
    {
      "element_id": "organization",
      "context_type_id": "deployer",
      "variables": [
        { "id": "title", "value": [{ "locale": "en", "value": "Acme Corp" }] },
        { "id": "description", "value": [{ "locale": "en", "value": "Runs the screener and makes the final hiring decision." }] }
      ]
    },
    {
      "element_id": "people",
      "context_type_id": "subject",
      "variables": [
        { "id": "title", "value": [{ "locale": "en", "value": "Job applicants" }] },
        { "id": "description", "value": [{ "locale": "en", "value": "Anyone who submits a resume for an open role." }] }
      ]
    },
    { "element_id": "recommends", "context_type_id": "human_decides" }
  ]
}

Each entry names an element by element_id. The category is not repeated, because every element belongs to exactly one. This example covers the three required categories and one optional one.

To check a datachain against a schema version, use POST /schemas/{version}/validate, described on the validate reference page.

Resolved datachain

A resolved datachain is a datachain bundled with the categories and elements it refers to. It can be displayed without another lookup, which suits signs, saved files and anything that has to work offline.

Resolving the resume screener example above would add the full text and icon details for Employment & Work, Organization, People and Recommends, along with their four categories. Only what the datachain uses is included.

Locale

A locale is a language the taxonomy's text is published in. Each schema version lists its own locales. The taxonomy locale is chosen separately from the language of the site or sign around it, so an English page can show the taxonomy in French.

dtpr@2026-09-01-beta lists eleven locales: en, fr, es, pt, fil, km, vi, zh-Hans, zh-Hant, nl and de. In French, the Purpose category is named "But".