# Terminology Governance Guide

Specification Status: v1.0 final

Latest Draft:

https://github.com/henkvancann/terminology-governance-guide

Editors:

Contributors:

Participate:

In the Guide: It’s mainly a summary of activities and decisions of CTWG in 2024 and 2025; editor: Henk van Cann

Template improvements:

Latest Spec-Up-T developments Check out GitHub repo Blockchainbird

# Status

This document is a guide for spec authors (content authors and terminology authors) and a description of how the tooling is designed a supposed to work. The normative section is aimed at developers of the specification template mentioned above.

This specification is subject to the OWF Contributor License Agreement 1.0 - Copyright available at https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owf-contributor-license-agreement-1-0-copyright.

If source code is included in the specification, that code is subject to the Apache 2.0 license unless otherwise marked. In the case of any conflict or confusion within this specification between the OWF Contributor License and the designated source code license, the terms of the OWF Contributor License shall apply.

These terms are inherited from the Concepts and Terminology Working Group at the Trust over IP Foundation. Working Group Home

# Terms of Use

These materials are made available under and are subject to the OWF CLA 1.0 - Copyright & Patent license. Any source code is made available under the Apache 2.0 license.

THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series (“ToIP”), and its members and contributors (each of ToIP, its members and contributors, a “ToIP Party”) expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# RFC 2119

The Internet Engineering Task Force (IETF) is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and to ensure maximal efficiency in operation. IETF has been operating since the advent of the Internet using a Request for Comments (RFC) to convey “current best practice” to those organizations seeking its guidance for conformance purposes.

The IETF uses RFC 2119 to define keywords for use in RFC documents; these keywords are used to signify applicability requirements. ToIP has adapted the IETF RFC 2119 for use in the Terminology Specification Guide, and therefore its applicable use in ToIP-compliant governance frameworks.

The RFC 2119 keyword definitions and interpretation have been adopted. Those users who follow these guidelines SHOULD incorporate the following phrase near the beginning of their document: The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

RFC 2119 defines these keywords as follows:

  • MUST: This word, or the terms “REQUIRED” or “SHALL”, mean that the definition is an absolute requirement of the specification.
  • MUST NOT: This phrase, or the phrase “SHALL NOT”, means that the definition is an absolute prohibition of the specification.
  • SHOULD: This word, or the adjective “RECOMMENDED”, means that there MAY exist valid reasons in particular circumstances to ignore a particular item, but the full implications MUST be understood and carefully weighed before choosing a different course.
  • SHOULD NOT: This phrase, or the phrase “NOT RECOMMENDED” means that there MAY exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications SHOULD be understood, and the case carefully weighed before implementing any behavior described with this label.
  • MAY: This word, or the adjective “OPTIONAL”, means that an item is truly optional. One vendor MAY choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor MAY omit the same item.

Requirements include any combination of Machine-Testable Requirements and Human-Auditable Requirements. Unless otherwise stated, all Requirements MUST be expressed as defined in RFC 2119.

  • Mandatories are Requirements that use a MUST, MUST NOT, SHALL, SHALL NOT or REQUIRED keyword.
  • Recommendations are Requirements that use a SHOULD, SHOULD NOT, or RECOMMENDED keyword.
  • Options are Requirements that use a MAY or OPTIONAL keyword.

An implementation which does not include a particular option MUST be prepared to interoperate with other implementations which include the option, recognizing the potential for reduced functionality. As well, implementations which include a particular option MUST be prepared to interoperate with implementations which do not include the option and the subsequent lack of function the feature provides.

# Table of contents

See the left menu for the table of contents.

# Foreword

This publicly available specification was approved by the ToIP Foundation Steering Committee on [dd month yyyy must match date in subtitle above]. The ToIP permalink for this document is:

[permalink for this deliverable: see instructions on this wiki page]

The mission of the Trust over IP (ToIP) Foundation is to define a complete architecture for Internet-scale digital trust that combines cryptographic assurance at the machine layer with human accountability at the business, legal, and social layers. Founded in May 2020 as a non-profit hosted by the Linux Foundation, the ToIP Foundation has over 400 organizational and 100 individual members from around the world.

Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.

This document was prepared by the ToIP Concepts and Terminology Working Group.

Any feedback or questions on this document should be directed to https://github.com/trustoverip/specification/issues

THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series (“ToIP”), and its members and contributors (each of ToIP, its members and contributors, a “ToIP Party”) expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Executive Summary

This guide is a governance manual of our concepts & terminology for groups/scopes within TrustoverIP (ToIP) but also applicable outside of ToIP.

# Conclusion

Governing terminology is akin to herding cats — seemingly impossible. We tried our best.

# Introduction

The Terminology Governance Guide is a 2024-2025 guide of assimilated expertise within Trust-over-IP about Concepts and Terminology. Its objective is to offer a comprehensive description of various data stores, tools, and processes to manage terminology, albeit integrated in specification text, consistently and reproducibly; the process intends to keep track of who did what in which role to terms and definitions.

The Spec-Up-T builders described the roles in the documentation of Spec-Up-T.

This guide has a brief description of its history in the annex.

# Scope

This guide uses open-source technology as much as possible and sticks to best-of-breed tools:

  • git and github for version control, issue-handling, and project management in the own github repo
  • GitHub user management
  • The existing Slack group CTWG for discussions
  • Archive obsolete sources of terminology
  • Reuse harvesting/consensus creation tools that are available and anticipate improvements in those
  • Use Spec-Up / specification template and anticipate improvements to this

In 2024 we phased out:

  • Use of github wiki-based source management of terminologies

In 2024 we postponed:

  • Connect to TEv2 step by step
  • The tooling around

# Roadmap

How do TEv2, Spec-Up, and KERIDoc relate? The goal is unification, and we prevent reinventing tools already in place.

The issue of unification is currently open, but this guide might solve it with further designs. A sequence-numbered roadmap to unification (presuming that that’s the goal) can be found below.

We have made a clearer distinction between what KERIDoc does and what Spec-Up-T does: KERIDoc is education on top op Spec-Up-T-based glossaries:

  1. the ToIP General Glossary
  2. the ToIP Main Glossary
  3. KERISuite Main glossary

# Process

In the process we have dropped github wiki-based source management of term definitions. It’s now done in Spec-Up-T

# Demo terms, definitions and external definitions

A list of terms and definitions, and optionally references to external definitions.


# Terminology Governance Guide

Specification Status: v1.0 final

Latest Draft:

https://github.com/henkvancann/terminology-governance-guide

Editors:

Contributors:

Participate:

In the Guide: It’s mainly a summary of activities and decisions of CTWG in 2024 and 2025; editor: Henk van Cann

Template improvements:

Latest Spec-Up-T developments Check out GitHub repo Blockchainbird

# # Status

This document is a guide for spec authors (content authors and terminology authors) and a description of how the tooling is designed a supposed to work. The normative section is aimed at developers of the specification template mentioned above.

This specification is subject to the OWF Contributor License Agreement 1.0 - Copyright available at https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owf-contributor-license-agreement-1-0-copyright.

If source code is included in the specification, that code is subject to the Apache 2.0 license unless otherwise marked. In the case of any conflict or confusion within this specification between the OWF Contributor License and the designated source code license, the terms of the OWF Contributor License shall apply.

These terms are inherited from the Concepts and Terminology Working Group at the Trust over IP Foundation. Working Group Home

# # Terms of Use

These materials are made available under and are subject to the OWF CLA 1.0 - Copyright & Patent license. Any source code is made available under the Apache 2.0 license.

THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series (“ToIP”), and its members and contributors (each of ToIP, its members and contributors, a “ToIP Party”) expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# # RFC 2119

The Internet Engineering Task Force (IETF) is a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and to ensure maximal efficiency in operation. IETF has been operating since the advent of the Internet using a Request for Comments (RFC) to convey “current best practice” to those organizations seeking its guidance for conformance purposes.

The IETF uses RFC 2119 to define keywords for use in RFC documents; these keywords are used to signify applicability requirements. ToIP has adapted the IETF RFC 2119 for use in the Terminology Specification Guide, and therefore its applicable use in ToIP-compliant governance frameworks.

The RFC 2119 keyword definitions and interpretation have been adopted. Those users who follow these guidelines SHOULD incorporate the following phrase near the beginning of their document: The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

RFC 2119 defines these keywords as follows:

  • MUST: This word, or the terms “REQUIRED” or “SHALL”, mean that the definition is an absolute requirement of the specification.
  • MUST NOT: This phrase, or the phrase “SHALL NOT”, means that the definition is an absolute prohibition of the specification.
  • SHOULD: This word, or the adjective “RECOMMENDED”, means that there MAY exist valid reasons in particular circumstances to ignore a particular item, but the full implications MUST be understood and carefully weighed before choosing a different course.
  • SHOULD NOT: This phrase, or the phrase “NOT RECOMMENDED” means that there MAY exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications SHOULD be understood, and the case carefully weighed before implementing any behavior described with this label.
  • MAY: This word, or the adjective “OPTIONAL”, means that an item is truly optional. One vendor MAY choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor MAY omit the same item.

Requirements include any combination of Machine-Testable Requirements and Human-Auditable Requirements. Unless otherwise stated, all Requirements MUST be expressed as defined in RFC 2119.

  • Mandatories are Requirements that use a MUST, MUST NOT, SHALL, SHALL NOT or REQUIRED keyword.
  • Recommendations are Requirements that use a SHOULD, SHOULD NOT, or RECOMMENDED keyword.
  • Options are Requirements that use a MAY or OPTIONAL keyword.

An implementation which does not include a particular option MUST be prepared to interoperate with other implementations which include the option, recognizing the potential for reduced functionality. As well, implementations which include a particular option MUST be prepared to interoperate with implementations which do not include the option and the subsequent lack of function the feature provides.

# # Table of contents

See the left menu for the table of contents.

# # Foreword

This publicly available specification was approved by the ToIP Foundation Steering Committee on [dd month yyyy must match date in subtitle above]. The ToIP permalink for this document is:

[permalink for this deliverable: see instructions on this wiki page]

The mission of the Trust over IP (ToIP) Foundation is to define a complete architecture for Internet-scale digital trust that combines cryptographic assurance at the machine layer with human accountability at the business, legal, and social layers. Founded in May 2020 as a non-profit hosted by the Linux Foundation, the ToIP Foundation has over 400 organizational and 100 individual members from around the world.

Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.

This document was prepared by the ToIP Concepts and Terminology Working Group.

Any feedback or questions on this document should be directed to https://github.com/trustoverip/specification/issues

THESE MATERIALS ARE PROVIDED “AS IS.” The Trust Over IP Foundation, established as the Joint Development Foundation Projects, LLC, Trust Over IP Foundation Series (“ToIP”), and its members and contributors (each of ToIP, its members and contributors, a “ToIP Party”) expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the materials. The entire risk as to implementing or otherwise using the materials is assumed by the implementer and user. IN NO EVENT WILL ANY ToIP PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THESE MATERIALS, ANY DELIVERABLE OR THE ToIP GOVERNING AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# # Executive Summary

This guide is a governance manual of our concepts & terminology for groups/scopes within TrustoverIP (ToIP) but also applicable outside of ToIP.

# # Conclusion

Governing terminology is akin to herding cats — seemingly impossible. We tried our best.

# # Introduction

The Terminology Governance Guide is a 2024-2025 guide of assimilated expertise within Trust-over-IP about Concepts and Terminology. Its objective is to offer a comprehensive description of various data stores, tools, and processes to manage terminology, albeit integrated in specification text, consistently and reproducibly; the process intends to keep track of who did what in which role to terms and definitions.

The Spec-Up-T builders described the roles in the documentation of Spec-Up-T.

This guide has a brief description of its history in the annex.

# # Scope

This guide uses open-source technology as much as possible and sticks to best-of-breed tools:

  • git and github for version control, issue-handling, and project management in the own github repo
  • GitHub user management
  • The existing Slack group CTWG for discussions
  • Archive obsolete sources of terminology
  • Reuse harvesting/consensus creation tools that are available and anticipate improvements in those
  • Use Spec-Up / specification template and anticipate improvements to this

In 2024 we phased out:

  • Use of github wiki-based source management of terminologies

In 2024 we postponed:

  • Connect to TEv2 step by step
  • The tooling around

# # Roadmap

How do TEv2, Spec-Up, and KERIDoc relate? The goal is unification, and we prevent reinventing tools already in place.

The issue of unification is currently open, but this guide might solve it with further designs. A sequence-numbered roadmap to unification (presuming that that’s the goal) can be found below.

We have made a clearer distinction between what KERIDoc does and what Spec-Up-T does: KERIDoc is education on top op Spec-Up-T-based glossaries:

  1. the ToIP General Glossary
  2. the ToIP Main Glossary
  3. KERISuite Main glossary

# # Process

In the process we have dropped github wiki-based source management of term definitions. It’s now done in Spec-Up-T

# # Demo terms, definitions and external definitions

A list of terms and definitions, and optionally references to external definitions.


abbrev

a shorthand in capitals for a term. It may contain special characters. It may not contain spaces.

alias

Any notation of a terminology item, that is an alternative for a term being defined. The alias also serves as a comparison among term definitions.

doctag

A short unique tag assigned to the remote Spec-Up document containing the def for the term being referenced. So any Spec-Up document that uses remote refs would need to include a doctag section

Guide

What is the criterion something being a Guide versus a Specification?

normative

A theory is “normative” if it, in some sense, tells you what you should do - what action you should take.Also see KERISSE, and normative

phrase

Something is a phrase when it’s either a term, an abbreviation or an alias in the context of this guide.

term

The ToIP notation of a terminology item, that requires a definition, that could have an abbreviation and zero or more aliases. A term is supposed to be uniquely defined in a certain scope, but can have many exactly the same instances in a broader community.

# Stools IN the criterium

Stools

# Stools OUTSIDE the criterium

Not Stools

NOTE

Communication, understanding, and learning will skyrocket with clear criteria, invest time in them, and earn time back further down the road.

Example: moving stools

If a group of people had to move every stool, but only stools, from a furniture warehouse into a giant lorry without clear criteria on what a stool is and isn’t, you would leave stools behind and for sure bring back half a truck of furniture upon unloading.

# how to formulate criteria

Using text, you can formulate criteria. You could add examples to a criterium of edge cases/corner cases: what falls just in the criterium and outside?

# What are good criteria?

Criteria that are deterministic and clearly distinguish something.

# 3. As long as the target group does not understand a term: replace it with your criteria

flowchart TD D{D:Text with criteria understood?} D --> |3: No, I'll adjust criteria | D

# why replace terms by criteria?

Criteria can be independently applied; terms have an alleged meaning, and interpretations of terms might point to distinctive concepts. Example: move the stools into the van might be interpreted as “break out the fixed stools in the cantina and bring the remnants to the van.”

# How to replace terms with criteria?

Replace the term with the sentence criteria it might consist of.

Example: move the stools into the van -> move into the van all furniture to comfortably sit on with exactly 3 legs from seat to each non-fixed contact point of the leg on the floor

# 4. As soon as it’s understood, define the term with those criteria and replace the criteria in the text with the term.

flowchart TD D{D:Text with criteria understood?}; E[E:Term definition incl. criteria]; F[/F:Text with terms/] D --> |4: Yes, a term can be defined| E E --> |4: Replace criteria by term | F

# why put back terms

Once you’ve identified a concept for all stakeholders, repeating lengthy criteria descriptions in a text makes no sense. Maintenance of the criteria is also easier with a single point of definition.

# how to put back terms

Be sure to create a Terminology definition with the criteria and identify this concept with the term intended.

For example:

[[def: stool, stools]]
 ~ furniture to comfortably sit on with exactly three legs from the seat to each non-fixed contact point of the leg on the floor

AND then change the concept criteria in the text with the concept term:

move the [[ref: stools]] into the van.

# Next time

You might come across a concept that has already been identified and defined with a term + criteria:

flowchart TD A[A:I am writing, but I need to explain something! Help!];B{B:Terms understood?};C[/C:Glossary/] A --> |1: Identify concepts| B B --> |Yes, known term. Use ... | C

# Wrap up

Isn’t the magic word “Criteria” a bit cruel? It might snatch average human beings in the heart of their weakness: understanding others. Yet “mutual understanding” is needed to formulate suitable criteria.

# Move forward

Note that Terminology building is concise and extensive work. Beyond the basic terms, often defined as noun or noun phrases (e.g., “validation” and “peer to peer validation”) we come across these challenges:

  • different styles to describe a concept: nouns, verbs, adverbs, adjectives, and relationships. E.g., validation, validator, validate, validated, valid? Validly? Validated data, validated person, validated intake, etc.
  • abbreviations for example VALD, p2p-validation
  • synonyms
  • forms e.g. validations, Validation, Peer-to-peer Validation, etc.

# Two for the road

  1. How could we incentivize people to do the hard work of proper terminology design?

Ideas are welcome.

  1. Never forget the magic word: Criteria!

# Further reading

See more here:

# How to write definitions in your terminology

  1. Repeat the objectives or goals (of a specific group/community)
  2. Discuss and communicate towards consensus about a particular concept or term
  3. Define the scope or mental model together
  4. Write criteria for which is inside or outside the reach of a specific term

This process is essential for mutual understanding.

# How to write criteria

  1. Criteria must make sense for all roles involved in the community

For example, a criterium like “A self-addressing identifier is automatically a self-sovereign identifier, but not the other way around.” might not resonate with a Reader.

  1. Criteria should be deterministic, either to be in or out of the definition

Example: Acronym

self-certifying-identifier
a shorthand in capitals for a {acronym}. It may contain special characters. It may not contain spaces. Criterium for not being an Acronym: If the word is not in uppercase, in our context, the word is more likely to be an {alias} for the term.
  1. Formulate edge cases: What is just included in a definition and excluded from a definition?!

E.g., X.509 could be an acronym, and ‘EU ID’ is not an acronym

NOTE

A writer needs to do a lot of adding-criteria work before we discuss anything, like reusing definitions in another mental model. It just makes no sense to refer/link to a non-deterministic definition of somebody else, for this inherently introduces confusion: we think we are talking about the same thing, but most probably, we’re not!

# As we go, we can do

An editor can achieve enhancement in the written version of concepts and terminology in parallel with other activities:

  • archiving old concepts and glossaries
  • tool development
  • consensus building Beware: don’t reference poorly-formulated definitions, because that’ll put a burden on the future.

# Towards automatic processing in github actions

Currently, we allow for two types of source management tools of terminologies. Check them out here: | TBW Link to the chapter |.

Steps:

  1. Source management (def, ref, xref and tref)
  2. Sticking to standardization rules
  3. Processing automatically (using NPM and Github Actions)

Examples of standardizations:

  1. introduce lowercase names with dashes between the words, example: self-certifying-identifier
  2. don’t delete items (i.e., .md files), but make clear they are depreciated and/or link to the new concept/term
  3. don’t change or update the name of an item single-handedly, for it might change the concept/meaning for other people and create dead links for those who read - or link to the term. Please open an issue or a PR to discuss first.
  4. any other immediate updates and amendments are welcome; the revisions are available for us to (partially) revert if something unwanted or unexpected happens.
  5. Standardization of the use of acronyms. An acronym that is well-known and should be explained/linked to the term it abbreviates. Example: SCID, TSP. An acronym that is less/hardly known and links only implicitly to the term it abbreviates. Example: legitimized-human-meaningful-identifier, aka LID. The use of “Also known as” is in both situations optional.

# Glossary processing

Whereas the source management tool (or input tool) alters the content of terminology and it’s storage location, there should also be a way to add metadata (descriptive information).

Based on metadata it becomes possible to generate end-products that offers listing, search-functions, selection and filtering options.

Next step consists of:

  • put terminology in online glossaries, Term-definition sections of specifications and in dictionaries.
  • print terminology in hard-copy specifications (pdf and paper)

Some ToIP groups use workarounds to add metadata and extra functionality to their terminology based on the combination of labeling content and additional metadata

E.g., the WebofTrust-harboured engine KERISSE regularly scrapes the the WOT-terms wiki into KERISSE, we add features and metadata through a Google Sheet, we connect relevant matching terms from related glossaries. Finally, we index it for the KERI Suite Search Engine (KERISSE).

# Spec-Up-T

Spec-Up-T is a static-page site generator. It’s unique feature is it generates an all-encompassing sole internet page; one index.html.

The processing consists of:

  • Updating NPM
  • Updating specific NPM Spec-Up-T tools
  • Run the Spec-Up-T menu by hand for additional functions
    • Generate the external references anew
    • Generate the single page website
  • Investigate and lookup the results on a local computer
  • Commit the changes on a local computer
  • Push the result to a public internet server
  • Generate the results using Github Actions on a public internet server

# Roles

This section is informative.

A precise specification of roles in and outside an average ToIP “group” might clarify people’s different viewpoints when looking at concepts and terminology.

  1. minimalistic use cases for them
  2. the necessary consecutive steps to fulfill their use case

Reminder: This governance guide is about Specifications and (their) Glossaries Our tooling Spec-Up-T handles both in one go and this might be confusing sometimes.

TODO

Have a look at the diagram and role descriptions in the Spec-Up-T documentation first!

# Role: Reader

It uses the Github.io website, reads concepts in text and terminology in glossaries (for example, generated by Spec-Up), and has its tailor-made contextual glossary that generates pop-ups here and there in the text offered.

# Role: Curator

Uses an IDE and git and browser extensions to check logical consistency & meaning of term definitions in a particular context and uses browser extensions to harvest a personal collection of term definitions based on those recommended by the specification authors.

# Role: Specification CONTENT author, describing concepts

Focuses on content and concepts of the group they belong to.

WARNING

Whenever they change terminology, he should be aware that it’s the responsibility of the terminology author to make changes to defs and refs!

This role uses an IDE, git, and a browser extension to edit Spec-Up markdown files for their specific context (mental model) in a version-managed environment, authenticated, to write the concept and specification and offer this as a PR. They use browser extensions to check the technical consistency of the text’s links and harvest a personal collection of term definitions.

# Role: Specification TERMINOLOGY author, covering concepts

It focuses on term definitions covering concepts of the group to which they belong.

NOTE

They maintain a consistent set of definitions and references throughout the specification.

This role uses an IDE, git, and a browser extension to edit Spec-Up markdown files for their specific context (mental model) in a version-managed environment, authenticated, to write the concept and specification and offer this as a PR. They use browser extensions to check the technical consistency of the links in the text and harvest a personal collection of term definitions. Specification author terms that cover those concepts.

# Role: ToIP glossary maintainer

This role uses a source management tool. Reads and compares concepts in text and terminology in glossaries (for example, generated by Spec-Up) to use within their “own” over-arching ToIP glossary. They build as much consensus around terms and concepts as possible and promote using the ToIP glossary as reference material.

# Tools Landscape

Here we present the components and structure of ToIP’s concepts, machinery for terminology, and governance.

# git and github

# Why?
  • We need to know who did what
  • We need to be able to get back and link to historical (intermediate) result
# How?

Every role that changes stuff (Create, Update, or Delete) must be on github, and the users sign off their results.

This way:

  • sources are GitHub managed, and so is the provenance of each definition
  • we can track provenance carefully. Tracking is a step towards fully managed, individually versioned glossary management tooling, such as those developed with Spec-Up-T and KERIDoc, searchable by KERISSE(.org).

# Github landscape

Every group within ToIP that uses Spec-Up has a setup that is more or less like the following. Only WOT-terms combines wiki source management and publication in KERISSE (Still Docusaurus-based, looking into a Spec-Up variant as of Feb 2024).

Infrastructure Terminology Engine ToIP
Platform Git branch Software
github.com repo main or ‘own choice’ Spec-Up
VsCode
Node.js / NPM
github.io pages gh-pages user.github.io/repo
github actions
kerific

# Flow of Writing a Specification in Spec-Up

flowchart TD A[Write Spec] --> B[Need to explain term] B -->|Can't find!|C[Define] B -->|Pick|D[Reference] C -->E{Scope?} D -->|Grab link|K{Internal?} K -->|Yes|A K -->|No|F{Add context?} E -->|Local|I[spec.md] E -->|Central|H[wiki] F -->|Local|G[spec.md] G --> A F --> |No|A H --> |External|J[Reference] I --> |Internal ref|J[Reference] J --> A

# Glossary Flow: Ingest - Curation - Output

Glossary Flow: Ingest - Curation - Output

By: Darrell O’Donnell, Jan 2024

# Combining central, external, and internal references to definitions

| TBW : ToIP’s position on KERISSE (a superset of terms and concepts documentation) and TEv2? |

ToIP might need both, particularly to onramp organizations that are leveraging ToIP.

What are the components of the following glossary/term/concept toolsets?

  • Github (repo, pages and wiki)
  • Spec-Up-T
  • KERIDoc platform toolset
  • TEv2 toolset

What features exist in both, and what is unique in each toolset? If there is overlap, how are they different (e.g., how does an author craft a link from a word in a source document to a term in a specified glossary), and how could they be combined?

# Writing

In case of a specification, it is important to ask yourself, “Is what I write implementable?” Follow it step by step. Check all the MUSTs and SHOULDs in the normative section.

# Readability

  • numbering of paragraphs
  • Informative stuff per the section below the normative

# Review and cooperation

Keep stuff in place where it was/is during the review period. When the review period is over, you could

  • relocate sections and paragraphs in the most logical - of best flowing manner

# Technical consistency

  • split the text over markdown files in the spec-up ./spec folder
  • beware Spec-Up-T has as mandatory directory structure, where the Terms Definition reside in a subdirectory of ./spec

# Style guide for ToIP terminology

A term that is intended to be generic SHOULD be lowercase in the glossary and in the specs and other documents that use that term. A term SHOULD only be uppercase if it is a proper noun. The only exception is an acronym. For example, the following terms are all generic nouns:

  • wallet
  • agent
  • public key (and public-key)
  • key event log (and key-event-log)

# Forms

Terminology can be defined in various forms: nouns, verbs, adjectives/adverbs, and relations(hips).

# Example

Noun: Verifier Verb: Verify Adjective: verified (signature) Relationships: verifying

Authors are free to choose any form of a term. It’s a way to express their objectives and concepts and give meaning. Even multiple forms are welcome, which means that in your scope, you COULD define the noun, the verb, and a relationship. E.g., verifier, verify and verifying.

# Acronym standardization

The following terms are proper nouns or acronyms:

  • ToIP
  • W3C
  • DIF
  • X.509
  • Diffie-Hellman
  • KEL

# Special characters

Notice that the Acronym X.509 has a special character (.). You SHOULD use special characters only if it’s crucial for the meaning of the term.

So, for example, not this: security@hub4issuer but stick to the guidelines above and define, for example, security-at-hub-for-issuer.

# Constants, variables, and terms in coding

Sometimes, acronyms in code are (partly) in lowercase (e.g., vLEI, eID, ind) for various reasons. One needs to explain those acronyms in terms of concepts and terminology; we allow them to do so in their original case.

# Authors partly comply and have freedom of choice

# Standardization of acronyms

Two situations:

  1. An acronym that is well-known and should be explained/linked to the term it abbreviates. For example, because the acronym is multi-explicable. Example: SCID, TSP.

  2. An acronym that is less/hardly known and links to the term it abbreviates

Add 1. A well-known acronym needs its own entry in the glossary:

[[def: SCID, SCIDs]]

~ [[ref: self-certifying identifier]]

If you would only do this:

[[def: self-certifying identifier, self-certifying identifiers, SCID, SCIDs]]

then it’s harder to find the entry SCID in the glossary. Referencing SCID In the specification links directly to self-certifying identifier.

Add 2. Less-known acronyms could be defined, but it could burden the glossary with unnecessary entries.

[[def: LID]]
~ [[ref: legitimized-human-meaningful-identifier]]

In this case, it’s better to use just one entry:

[[def: legitimized-human-meaningful-identifier, legitimized human-meaningful identifier, LID, LIDs]]
The use of:
Also known as: [[ref: {acronym or term} ]]

is in both situations optional.

# Comply with
  • all of the above-mentioned style guides
  • the governance of terms using the current terminology source management tools

See the Roles section for the various sub roles of an author.

# Source Management Use Cases

Input knowledge level: You know how to create, read, and update term definitions in relation to your concept or mental model.

# What is this about?

This section is about the technical processing/source management of terms and definitions: the latest single source of truth about them in a certain scope. Spec-Up-T is the tool we discuss. The elementary part in Spec-Up-T is the {term}.md file that contains (spec-up extended) markdown. We offer various ways of managing these source files while maintaining their overall integrity.

# What can I do with it?

Source management culminates in the latest version of any glossary in which the term is accessible (linkable) with a permanent URL, and we have a history available that referred to this term at what time in the past.

:::info You can reference this glossary in your own write-ups and add to the general consensus about terms at the same time. :::

# Why source management?

We want to offer multiple ways to edit term definitions. So it is not markdown or github frontend but markdown and github frontend. The end result is always a git(hub) tracked directory with separate .md files of a spec-up-based specification. The use cases are described below. The term definitions themselves use the spec-up markdown extensions syntax: def, ref, tref and xref.

Examples given:

[[def: access control]]: 
~ The process of granting or denying specific [[ref: request]]s for obtaining 
and using information and related information [[xref: processing]] services.
[[tref: toip1, access control]]
: <span class="placeholder-tref">No custom content found for toip1:access control</span> { .placeholder-dd }
 

# Why not simply use a Content Management System like WordPress??!

Just to name a few reasons:

  1. User management and version control in the github ecosystem instead of centralized technological island creation
  2. Spec-up static website generation; we don’t want the introduction of databases
  3. Continuous Development Continuous Integration (CDCI) versus staging by hand
  4. Business rules and Permanent linking made possible via Github Actions
  5. Consensus-building within scopes but also between scopes

# For who is source management of terminology relevant?

The roles involved in the use cases are editor, production repo master and curator. One person could have more than one role.

All roles have a github user account, because we need to know

  • who proposes a change on what and when this occurred.
  • who changes what and when. Git keeps track of us.

He/she who has write user rights on the target repo (TrustoverIP main glossary) can directly edit and commit the latest version. Other roles will have to adapt to those results. For example merge conflicts might arise and then need to be solved.

Further guidelines:

  • Editors COULD have a fork for the repo. They NEED TO have a forked target repo for options 2, 3, and 4 below.
  • curators don’t need to have a user github repo, only a github user account, and they use the functionality to comment on PRs.

# How it works

Github Actions will pick up, and process changes as they occur and trigger staging of chancing to the production server.

This is the process diagram:

Terms-dir-circular

There are two main options we have use cases for:

All are PR based WITH optional curation and mandatory PRs; see options 1, 2, and 3 below.

# 1. Github edit

Editors go to the term definition they want to use for C R U on the github.com user site of the target repo (which is controlled by Master).

This way, editors can edit (after having forked the target repo to their own user account) the term definition and offer a PR to Master. After the PR is made, the curator can comment on the changes proposed and make them live and viewable on the editor’s user account.

NOTE

After this source editing has been saved, our solution also overwrites the wiki repo file /{term}.md (if present) for syncing purposes.

# 2. Terminal - text file edit

This way, editors can edit the target repo (after having cloned it to their own user account). He/she uses a text editor to write changes in the separate .md file of the term and definitions directory. He/she uses git on the command line to add, commit, and push files to their own github user account version of the target repo. From the target repo, he/she creates a PR by hand for the curator and the Master to assess and eventually accept or decline. After the PR is made, the curator can comment on the changes proposed and make them live and viewable on the editor’s user account.

NOTE

After this source editing have been saved our solution also overwrites the wiki repo file /{term}.md (if present) for syncing purposes.

# 3. IDE

An integrated Development Environment, e.g., Visual Studio Code - text file edit.

This way, editors can edit the target repo (after having cloned it to their own user account). He/she uses an IDE to write changes in the separate .md file of the term and definitions directory. He/she uses the IDE git functionality to finally create a PR on the target repo for the curator and the Master to assess and eventually accept or decline. After the PR is made, the curator can comment on the changes proposed and make them live and viewable on the editor’s user account.

# Source management of terminology wrapped up

The input is a per-term-splitted directory of term md files The process: four options to make changes The end result two options to get the results accepted in the target repo and final spec-up html output: Via 1. and via 2,3: all PR-based.

All methods have full git tracing of who did what and when.

NOTE

After this source editing have been saved our solution also overwrites the wiki repo file /{term}.md (if present) for syncing purposes.

# How it works in use cases

The rest of this chapter outlines the use cases for managing term definitions in a spec-up-based specification, focusing on the roles of editors, production repo masters, and curators.

We focus only on terms and definitions. We use the term target repo for the production repo, controlled by the role master.

# Roles in the use cases

  • Editor: Individuals proposing changes to term definitions.
  • Production Repo Master (Master): Oversees the merging of PRs and has the authority to delete term definitions.
  • Curator: Engages in reviewing proposed changes to enhance quality and accuracy.

# 4. Editing Options

# 1. GitHub Edit (via GitHub UI)

# Create and Update (C/U)
  • Actor: Editor
  • Process:
    1. Fork the target repository to your GitHub account.
    2. In your fork, navigate to the terms-definitions directory.
    3. To add a new term, click “Add file” > “Create new file”. To update, click on an existing .md file and then the pencil icon (Edit this file).
    4. Make changes or add the new term using markdown syntax. Commit the changes to a new branch in your fork and start a pull request on the target repo.
# Read ®
  • View the .md files directly in the target repository or through the proposed changes in pull requests.

# 2. Terminal - Text File Edit

# Create and Update (C/U)
  • Actor: Editor
  • Process:
    1. Clone your fork of the target repository to your local machine using the terminal: git clone [Your-Fork-URL].
    2. Navigate to the terms-definitions directory within your local repository.
    3. Use a text editor to create a new .md file or update an existing one with the term definition.
    4. Use Git commands to add (git add .), commit (git commit -m "your message"), and push (git push origin main) the changes.
    5. Create a pull request from your GitHub fork’s page.

# 3. IDE - Visual Studio Code Text File Edit

# Create and Update (C/U)
  • Actor: Editor
  • Process:
    1. Clone your fork of the target repository into Visual Studio Code (VS Code) using its Git: Clone command.
    2. Navigate to the terms-definitions directory within the VS Code Explorer.
    3. Create a new .md file or edit an existing one, using markdown for the term definition.
    4. Commit the changes using the Source Control panel in VS Code, pushing them to your fork.
    5. Initiate a pull request via GitHub’s website from your fork to the original repository.

# 5. Master and Curator Actions

# Update (U) by Master

  • Process: Review, potentially edit, and merge pull requests. Manage and resolve any merge conflicts.

# Delete (D) by Master

  • Process:
    1. For deleting a term, remove the .md file or edit its content to reflect the term’s deprecation, committing with a clear rationale. Only in exceptional cases, because it’s far better to archive instead of delete.
    2. Push the changes to the main branch and update any documentation accordingly.

# Curator Review

  • Process: Engage in PR discussions, offering feedback and suggestions to ensure clarity and correctness of term definitions.

# Notes

  • Merge conflicts may arise during the PR process, requiring coordination for resolution.
  • All changes, including deletions, should be documented with clear commit messages and PR descriptions to maintain a transparent history of modifications.

# 6. Being a host for x- and t- referenced glossaries

The governance rules for Glossaries that apply to be a referenced glossary (like ToIP main Glossary, KERI, General Glossary) is best summarized in this one sentence:

Your Index.html is leading on github.com.

Any guest using tref or the xref tag to an external glossary will generate an API call, and get the index.html files over from their externally referenced glossaries and distill the right xref or tref information from those.

It’s the responsibility of every host to:

  • keep all .md files on github.com in sync with their live Index.html file of Spec-Up-T
  • have successful runs of their Github Action Scripts that generate the Index.html file
  • differentiate between the main branch (production) and other branches on github.com
  • have index.html be at least as young as any of the .md files that contain term definitions on github.com on the main branch.

The reason for these source management rules is consistency: How can a guest be sure to have the latest term definition if the host would not have the latest version live in its own production glossary?

# User manual defs, refs, trefs and xrefs

# Background

To simplify the job of tech spec construction and editing, the Technology Stack WG has adopted the Spec-Up spec editing tool, which was originally a DIF open-source project (here).

Blockchainbird and TrustoverIP invest in improving this tool. It’s currently at Blockchainbird’s Spec-Up-T repository only but will eventually sync to ToIP.

This document also contains a normative section that has served as a design for the coding project since the start of 2024.

# Objective

To offer authors and curators a hands-up guide to handle Spec-up’s syntax correctly and efficiently with regard to defs, refs, trefs and xrefs. Thereby respecting the golden rule:

“Try (x/t)ref before def

(why?)

# Characteristics

Why bother? Because it’s going to be a mess soon, if you don’t.

Terminology has a life cycle. Some concepts and their specific terminology are long-lived. They reside in their field and are related to other concepts. Other terminologies are contemporary. Terminology can have broad applications or, conversely, have a specific small niche. Nevertheless, they all share these characteristics:

  1. The sources (definitions or defs) need to be managed because its content is burdened with reputation
  2. References (or refs, trefs and xrefs) need to be managed in the digital world where creating copies is easy, and every copy for no reason whatsoever might cause confusion
  3. Different roles and responsibilities work with and work on terminology. We got to keep track of who did what in which role.

# Cheat-sheet using def,ref,tref and xref

You have your own definition of a term?

Use and

Would you like to list an external term definition in your own glossary?

  1. Declare an external glossary in your configuration file with an mnenomic to reference it
  2. Use : No custom content found for : { .placeholder-dd } to list a snapshot in the Terms Definition section of your specification or glossary.

Would you like to link to an external term definition anywhere in your own glossary (and have a popup definition with a mouse-over)?

  1. Declare an external glossary in your configuration file with an mnenomic to reference it
  2. Use to link to it real time anywhere in your glossary or specification.

# Governance of own repo

The governance of def & refs in the own repo has to be strict: It has to be kept sound by humans. So check your refs to see if you changed the def.
Source

# ToIP glossary

In the ToIP Technology Architecture Specification, it’s a long-desired feature to add an integrated glossary; It’s named https://glossary.trustoverip.org.

Our objective is to offer a framework to offer this in a sustainably consistent way. The Concept & Terminology work group (CTWG) has begun publishing the ToIP Glossary as its own standalone Spec-Up specification, where every entry is properly formatted, and people are able to include terms from the ToIP Glossary (without having to copy those 400+ terms over into its own glossary).

We have in fact three general-purpose glossaries available at ToIP/WebofTrust from April 2025:

Process check: content requirement

External glossaries:

You should visually check each def created in a local Spec-Up document against any def that exists in any of the remotely referenced document URLs listed in the local document (see the title list description in your specs.json).

To find the list, look for external_specs:

 "external_specs": [
 {
 "TP": "https://trustoverip.github.io/ctwg-main-glossary/"
 }
 ...
# Why “try ref before def”

These are the advantages of trying ref before def:

  • consensus building: if you study defs of related scopes under the same umbrella, you’ll become more knowledgeable and aware of the different fields
  • less work: it’s easier to adopt a definition with well-formed criteria than having to design one yourself
  • leading by example: your refs might be copied, enforcing the reputation of the def at hand.

Keep reading for an important caveat to these advantages! (No, bring me there now)

Decide whether you’d like to adopt as is, adopt with a comment, or define yourself. See flow diagram

# Functionality

For an author, there are three main relevant functionalities.

  1. Spec-Up already has a basic glossary feature: def tags for defining glossary entries and ref tags for marking up terms in the spec that refer to def-tagged terms. Def tags only reference def tags in the same Spec-Up document.
  2. An xref supports remote refs
  3. A tref to print a external definition in your own glossary
  4. We have functionality that detects dangling refs and defs. In other words, code that checks to see that: a. any ref tag defined in the spec has a corresponding def tag for the glossary entry, and
    b. every def tag defining a glossary entry has at least one ref tag pointing to it.

Supported consistency pre-cautions and reporting:

NOTE

March 2025 - The feature “checks” is being constructed step-by-step but not yet fully operational.

Each def in a local Spec-Up document has exactly the same def* existing in any of the remotely referenced document URLs listed in the local document (see the title list description in your specs.json). This is also a recommended visual check performed by authors. (Why?)

Each ref has an existing def. Each xref has an existing def in the title glossary.

It checks each ref and xref created in reference doctags against any def that you’re about to remove from a local file.

It signals each ref and xref created in reference doctags against any def that you’re about to change in a local file.

When a local Spec-Up document includes a certain glossary from another remote Spec-Up document, this can be considered as a statement: “We think we might be on the same page as the people that maintain this glossary.”

It’s important to make explicit that somebody in a certain role added context to a remotely referenced term definition. Or he/she has chosen to refrain from that.

# Title (formerly “Doctag”)

# External linking (tref and xref)

We need the capability for all ToIP specs to use remote refs to reference a common ToIP Glossary in addition to their own internal glossary. So far, an incentivization under TSWG spec authors would be fine with that capability: they can use any term already defined in the ToIP Glossary without having to repeat it in their glossary, and they can add any term specific to their spec.

[[tref: group, phrase]]
: <span class="placeholder-tref">No custom content found for group:phrase</span> { .placeholder-dd }
 and [[xref: group, phrase]]

phrase MUST be one of term in any of group’s glossary.

For example, a specification that includes an xref tag that looks like this: {term} would reference a def tag defined in the ToIP Glossary. Similarly, a ref that looks like {term} would reference a defined term in the (theoretical) HXWG glossary.

With this remote reference feature, all ToIP specifications (and any other deliverable written with Spec-Up) would be able to include linked glossary terms (including hover pop-up definitions), both from within its own glossary and from any referenced glossary in another document that also uses Spec-Up.

Mind you, this process touches on group dynamics, consensus building, and communication.

# Dangers of bluntly referencing and copying

It’s important to note that team members in various roles should feel free to define a term as they wish, after studying what’s available. This is an important caveat for referencing terms.

# Add context and metadata

NOTE

March 2025 - The feature “context metadata” is in the design phase, so it is not operational

Adopting a term from a related scope (under the ToIP umbrella) or externally has the possibility for the author, curator, and maybe even other team members to add context to the definition adopted. The following metadata will be (automatically as much as possible) registered:

  • term, or (optional) alias or (optional) acronym of the term definition used to reference
  • URL of the spec in which the term definition list is present and the name of the header
  • commit hash of the term definition plus specification adopted
  • authenticated GitHub user that adopts the term (create), changes its context (update) or deletes the context.

This metadata can be added:

  • group name from which the term will be adopted
  • role of the authenticated GitHub user in the current scope

You could add or remove:

  • context, which is a block of free text.

The order in which these changes take place to a terminology definition, referencing, and/or comments will be registered.

Mind you: the adopter of a term can’t delete nor alter the original definition present in another scope.

# Local versus Remote references

Technically, the only difference between a local ref and a remote ref is that the former are always within the same Spec-Up document — they look like:

[[ref: term]]

The latter allows the author to reference a def in a different Spec-Up document. They look something like:

NOTE

March 2025 - The features “tref and xref” are under testing, so it is not fully operational yet

[[xref: title, term]] is a short unique tag assigned to the remote Spec-Up document containing the def for the term being referenced. So, any Spec-Up document that uses remote refs would need to include a doctag section that looks something like this:

In specs.json:

 "external_specs": [
 {
 "<title>": "<URL>"
 }

example

 "external_specs": [
 {
 "PE": "https://identity.foundation/presentation-exchange"
 },
 {
 "TP": "https://trustoverip.github.io/ctwg-main-glossary/"
 }
 ...

# Adopt, add context, or define

NOTE

March 2025 - The feature “context metadata” is in the design phase, so it is not operational

Check the flow diagram of writing terminology (references) in a specification here.

# How do we adopt the term “as is”?

Local preferable [[ref: term]]

Or remote reference

[[xref: title, term]] and `term
No custom content found for title:term { .placeholder-dd } `

Where term is either a term, acronym, or alias.

# How do you adopt a term with added or updated context?
NOTE

March 2025 - The feature “adopt a term with context and metadata” is in the design phase, so it is not operational

Example Where KE is the title (doctag) of the KERI spec in spec-up format and TP is the title of the ToIP overall glossary in spec-up.

[[def: verification]]

~ Verification in Healthcare is in between the strict [[xref: KE, verification]]
 and the more loose ToIP definition [[xref: TP, verification]]. However, we have the same criteria as KERI
 because our system will be KERI-based.

Print the definition in the Terms Definition section (to be specific in the .md file under the subdirectory of directory ./spec that holds all term derfinition of a specification:

verification.md contains:

[[tref: TP, verification]]
: <span class="placeholder-tref">No custom content found for TP:verification</span> { .placeholder-dd }

# How do you stop adding context to an adopted term?
NOTE

March 2025 - The feature “adopt a term with context and metadata” is in the design phase, so it is not operational.

Remove the local def and change.

[[ref: term]] into [[xref: term]]

Now, the term is again externally referenced as “as is.”

# Form phrase macros

By: Rieks Joosten, July 1 2014

How to deal with singular/plural forms, here’s my 2 cents: TL;DR: In order to support different forms of terms, I suggest to follow the ideas from TEv2: Allow a definition syntax that supports what TEv2 calls form phrase macros. For example, [[def: actor{ss} ]], or [[def: part{yies}]] Consider making the mapping between form phrase macros and the strings they represent configurable. For example, {ss} maps to the set of strings: “”, “s”, “'s”, “s’”. When converting a document, make a list of the definitions, and replace every term therein with the string that results from resolving the form phrase macros therein (if any) and regularizing the results. This would result in actor. Regularization is a mechanism that facilitates the machine’s handling of texts, similar to how titles of Wiki pages are converted into the corresponding parts of their URLs. Regularization would turn [[def: Term 1, Term One]] into [[def: term-1, term-one]]. When converting a REF or XREF, use the regularized version of the term used in the (X)REF to look for the definition.

# Elaboration Form phrase macros

Here is some elaboration/background: I think the issue is broader: it’s not just singular/plural forms (of nouns), e.g., “actor”, “actors”, “party”, “parties”, but also their possessive forms “actor’s”, “actors’”, “party’s”, “parties”. It’s also various conjugation forms of verbs, e.g., “define”, “defines”, “defined”, “defining”, or “identify”, “identifies”, “identified”, and “identifying”. To come to grips with this broader issue, TEv2 introduces “form phrases”, i.e., one of the (multiple) forms in which concepts can be referred to. For example, the form phrases “actor”, “actors”, “actor’s”, etc. all refer to the same concept. That’s why they can be specified in (the formPhrases field of) the curated text that documents that concept. To reduce the work for creating such form phrases (and indeed, also to prevent typing mistakes!), TEv2 also introduces “form phrase macros”, i.e., little strings, such as “{ss}” or “{yies}” that can be included in a form phrase, and represent a particular kind of variations. For example, “actor{ss}” is shorthand for “actor”, “actors”, “actor’s” and “actors’”. Similarly, “part{yies}” is short for “party,” “party’s,” and “parties.” A number of such form phrase macros are predefined, but you can override this set of macros with a set of your own, which is useful if texts are written in other languages (French, Dutch) or if you want or need to do your own. When generating the machine-readable glossaries (MRGs, the authoritative sources of terminologies/definitions as far as TEv2 is concerned), all form phrases as specified in the curated texts are converted into a canonical form (a regularized text), and their macros are expanded. Thus, an MRG entry only contains regularized form phrases, which helps with easy processing. TEv2 includes a TermRef Resolution Tool (TRRT) that converts termrefs into so-called ‘renderable refs’.

TermRefs are identified by a regex (called the TRRT interpreter) that is expected to populate particular variables, one of which is called show text, which contains the text that will be rendered. Another is called term; it contains the default name for the concept being referenced. The TRRT finds all texts that satisfy the regex and will replace them in the end with a character sequence that we call a ‘renderable ref’ (see point c) The variables (named capturing groups) are then used to find the MRG that contains the term being referenced (there is a default MRG in case such variables are empty). From the selected or default MRG, a single entry needs to be found that corresponds with the termref. This is done by using the term variable (which often is empty) or, when it is empty, by using the showtext variable (which always exists) as a starting point. These texts are first processed into some canonical form, called a regularized text, so that they can be used to compare with entries in the formPhrases field of MRG entries. When a match is found, that MRG entry will be selected to create the renderable ref.

A ‘renderable ref’ is created by executing a handlebars template, which can access all fields in the MRG entry, as well as all named capturing groups as populated by the regex. This means that it is fully up to those who run the tool to determine what the renderable ref looks like. The TEv2 MVP has an interpreter for Spec-Up term references, meaning it can find constructs of the form [[ref: {showtext}]] and [[ref: {showtext}, {term}]] as valid references. It can also find constructs of the form [[xref: {scopetag}, {showtext}]]. All that is needed is a proper regex that finds occurrences of such syntax and populates the appropriate named capturing groups. The modification to also support syntaxes such as [[xref: {scopetag}:{vsntag}, {showtext}]] are trivial.

Source Rieks Joosten July 1 2024

# Normative section

Have a look at it here and be informed that Spec-Up is a longer running open source project that originated in DIF. ToIP will invest in improvements to it in 2024. And offers these improvements as PRs to the DIF repo.

Here, we focus on the informative aspects of the technical specification: what it is, why we are programming it, and how to use it.

It is possible to include references to terms from external spec-up generated specifications. To include a source you would like to pull references from, include an external_specs array in your spec config. The value should be a key/value object where the key is used in the external reference below, and the value should be the URL of the external spec.

To include an external term reference within your spec, use the following format [[xref: {title}, {term}]] where {title} is the title given to the spec in the specs.json configuration file and {term} is the term being used.

To include an external term definition print-out within your spec, use the following format `{term}
No custom content found for {title}:{term} { .placeholder-dd } whereis the title given to the spec in thespecs.jsonconfiguration file andis the term being used. You will recognize thetref` by an altered background color and other controls in the panel.

For example, using the PE spec given in this example:

{
  "specs": [
 {
      ...
      "external_specs": [
 {"PE": "https://identity.foundation/presentation-exchange"}
 ]
 }
 ]
}

# Internal definition (def)

definitions (defs)

NOTE

The feature “acronym” is under construction!

[[def: term , {acronym}, {alias}, {alias}, ... ]]
~ Lorem Ipsum 

Define a term in a ToIP definition style: lowercase.

Optionally, an alias could be referenced. If you do so, the reference MUST end with the definition of term. Test by simply clicking the link.

An acronym could be defined and referenced. If you do so, a separate definition of acronym must be present in the document itself.

NOTE

March 2025 - This feature “acronym” is in the design phase, so not operational. However, you can already use acronyms as a def and as an alias.

# Don’t do this
[[def: term (acronym)]] and  
[[ref: phrase]]

But do this

NOTE

March 2024 - This feature “abbrev” is in the design phase, so not operational

[[def: term, acronym]]

How do you add an acronym after the term? Two ways possible:

  1. in the markdown, but NOT in the reference to the term: ref:
  2. There will be post-markdown processing available to proportionally add the acronym

# Internal linking (ref)

[[ref: phrase]]

phrase MUST be one of term, acronym or alias.

Three ways of offering references (refs) to definitions (defs) by the author of a text:

  1. explicitly created by the author

  2. extra by default, after n occurrences or below a header of a certain level

  3. MUST be done in the source by hand

  4. MUST be done by code; we’ll add a data attribute to the resulting HTML that indicates the origin of the link.

| TBW, where is the registry to ensure the uniqueness of doctags and the prevention of duplicitous doctags? |

# System feature Consistency

Have a look at it here and be informed that Spec-Up is a longer running open source project that originated in DIF. ToIP will invest in improvements to it in 2024. And offers these improvements as PRs to the DIF repo.

The tool will perform:

  • Basic domain checks
  • Domain checks Spe-Up or GitHub actions
  • Parser checks Spe-Up or GitHub actions

# External Consistency

We like the reuse of existing terminology laid out in definitions and glossaries. If applied correctly, reuse will increase consensus within TrustoverIP.

Given this positive effect, we encourage people to look at what’s there already before defining and writing their own definition.

How do we know which known glossary to use? Maybe any glossary we have previously created a cross-reference from should be included? There is already tooling available to include existing glossaries and give a unified overview of them in KERISSE. This listing can be adjusted to “ToIP only”.

# No effective system without governance

The governance rules that we have to put in place (at least with the ToIP community) should be:

  1. If the spec authors want to use a term with its definition term as defined in the ToIP Glossary, the spec authors MUST insert a remote ref to that term in their spec and MUST NOT copy the term (or worse, redefine it) in their internal spec glossary.

  2. If the spec authors want to use a term defined in the ToIP Glossary but modify its definition, they COULD raise an issue and/or a pull request (PR) to the ToIP Glossary, making the case for their proposed change. If that change is resolved to their satisfaction, they can proceed as per rule #1 above.

  3. If the spec authors want to use a new term that does not exist in the ToIP Glossary to their liking, they have two choices:

  • If the spec authors believe the term should apply “ToIP community-wide”, they can submit a PR to have it added to the ToIP Glossary. If accepted, they can then follow rule #1 above.
  • If the spec authors believe the term only applies in the scope of their particular spec, they can define it with a def tag in their own internal spec glossary and then ref it there.

Of course, this set of rules only works within a coherent community willing to follow them. We can’t control the use of terminology outside of the ToIP community.

# System feature functionality

The front-end functionality of the resulting github.io page of a Specification can and must be altered to comply with various Reader allowances:

  • Only so and so often is a link to a known term in the glossary
  • Only so and so often is an acronym of a term added to the term in the core text
  • Pop-ups consistently showing definitions while hovering over the term
  • Consensus tooling (kerific) as a browser extension
  • Search functionality is present already in Spec-Up-T
  • Harmonica function available, to hide info or restrain search function to only the headers.

# System feature layout

The front-end layout and pdf layout of the resulting GitHub.io page can and must be altered to comply with various style-guide rules of external parties like IETF or ISO.

This is out of scope of this terminology governance guide.

# Audiences and languages

We have audiences that need to be addressed in their own language along three axes:

  1. Level of Understanding: we currently use three levels of understanding
  2. Languages: e.g., Switzerland has four languages
  3. Jargon: language specific to the field of expertise

# Design principle

We stick to one language in the most specific (or most elaborate definition of a term) for the source: American English

Jargon needs a separate term definition to specify the term that covers a known concept for an inner circle but is unknown to the outside world.

We use AI tools to translate to more general language for a lower level of understanding in the line of work or the mental model.

We use AI tools to translate to a different language from the source language. E.g. English -> German & French & Italian. Why?: because it’s a lot of work to maintain term definitions in four languages by hand and have every single term definition still cover the same concept.

We always generate a link to the original, most elaborate source in the base language. Why?: to back your AI-generated translations with the human-curated source.

# The projected directory structure

flowchart LR A[Terms Definitions] -->|meta data| L(Sheet) A -->|language| C[EN-lvl1] A -->|language| D[EN-lvl2] A -->|language| E[EN-lvl3] C --> F(watcher.md) C --> G(KERI.md) C --> H(autonomous-identifier.md)

# Normative addendum - Spec-up improvements

This normative section is also called the “Spec-Up-T”.

# Background

To simplify the job of tech spec construction and editing, the CTWG has adopted the Spec-Up document rendering tool which is originally a DIF open source project (repo).

# Objective

Spec-Up-T enhances Spec-Up for Terminology and Glossary design and implementation. In 2025 we plan to reverse engineer Spec-Up-T enhancements into the original DIF Spec-Up. A joint effort to do so is in the making. See the issue list at DIF user on github.com.

Based on use cases of certain roles we technically specify improvements in a normative way. This way we were able to implement them right away and manage the process in github issues.

In each topical section (header level 3 in this chapter) there’ll be various sub-topics (header level 4)

  • features
  • consistenty checks
  • domain checks
  • business rules

# Documentation of Spec-Up-T

Read or reference the docusaurus website.

# refs

One def and 1 to many refs may be present in a spec-up source document.

# features

For an terminology author there are mainly three relevant functionalities.

  1. Spec-Up already has a basic glossary feature: def tags for defining glossary entries and ref tags for marking up terms in the spec that refer to def-tagged terms. Def tags only reference def tags in the same Spec-Up document.

# Internal definition (def)

definitions (defs)

[[def: term { , acronym}, {alias}, {alias}, ... ]]
~ Lorem Ipsum ...

A term SHOULD be defined as a ToIP definition style : lower case with dashes for spaces.

An alias COULD be referenced. If you do so, the reference MUST end up at the definition of term This is already operational in the current version of Spec-Up and implemented with nested spans

::: ISSUE https://github.com/henkvancann/terminology-governance-guide/issues/1 :::

Check defs of aliases https://github.com/decentralized-identity/spec-up/blob/master/single-file-test/spec.md#term-references |TBW: replace T link | and the working refs here https://identity.foundation/spec-up/#term-references

acronym COULD be defined and referenced. If you do so a seperate definition of acronym MUST be present in the document itself:

[[def: acronym]]
~ [the term the acronym refers to]

Example of the duplet:

[[def: KEL]]
~ [[ref: key event log]]

[[def: key event log | KEL, Key-event log ]]
~ Lorem Ipsum ...

# Don’t do this

[[def: term (acronym)]] and  
[[ref: phrase]]

but do this

[[def: term | acronym]]

How to add an acronymiation after the term? Two ways possible:

  1. in the markdown, but NOT in the reference to the term: ref: There will be post-markdown processing available to proportionally add an acronym

# Internal linking (ref)

[[ref: phrase]]

phrase MUST be one of term, acronym or alias

Three ways of offering references (refs) to definitions (defs) by the author of a text:

  1. explicitly created by author

  2. extra by default, after n occurrences or below a header of certain level

  3. MUST be done in the source by hand

  4. MUST be done by code, we’ll add a data-attribute to the resulting hrml that indicates the origin of the link.

| TBW where is the registry to ensure uniqueness of doctags and prevention of duplicious doctags? |

# acronym not yet implement

As of Nov 2024 acronym is not yet implemented. However, we leave the design in tact in this governance guide.

# System feature Consistency

Consistency and rules for def:s and ref:s leads to github.io page with all kinds of working internal and external links and clear rules for writers.

# Consistency pre-caution

Each def in a local Spec-Up document that has exactly the same def* existing in any of the remotely referenced document URLs listed in the local document (see the title list description in your specs.json).

Each ref has an existing def. Each def has at least one ref or xref.

Spec-Up code that detects dangling refs and defs. In other words, code that checks to see that: a. any ref tag defined in the spec has a corresponding def tag for the glossary entry, and
b. every def tag defining a glossary entry has at least one ref tag pointing to it.

# Domain checks

  • term, or (optional) alias or (optional) acronym of the term definition used to reference

Local references

The most important domain check between a local ref and def is that they’re always pointing back and forth in the same Spec-Up document — they look like: [[def: term, alias, ..., alias ]]

[[ref: phrase]] where phrase is one of term or optional aliases.

Basic domain checks

  1. characterset
  2. spaces and
  3. Uppercase versus lowercase
  4. Form Phrases | TBW |

Domain checks Spe-Up or github actions

  1. No acronyms in the text of a term either in “()” or after “;”
  2. The system must warn for double aliases in one def
  3. The system must warn for double acronyms in one def
  4. No duplicity in wording in term, acronym and alias(ses)
  5. If term and acronym are the same, discard acronym
  6. If alias and term are the same, discard alias
  7. If acronym and alias are the same, discard alias
# What is ‘the same’

When there is a collision, meaning an exact match of two terms using the terminology governance guidelines and Spec-Up-T rendering plus form-phrases (noy yet implemented) we consider them the same.

Example “Root of trust” -> root-of-trust “Root-of-Trust” -> root-of-trust Conclusion “Root of trust” and “Root-of-Trust” are the same

# Business rules

NOTE

If the Terminology author believe a certain term only makes specific sense in the scope of their particular spec, they can define it with a def tag in their own internal spec glossary and then ref it there.

Parser checks Spe-Up or github actions

  1. The system must warn for double aliases in more than one def
  2. The system must warn for double acronyms in more than one def
  3. The system must report broken internal links, refs that don’t match term, acronym nor aliasses.

# xrefs

We have capability for all Spec-Up-T-based specs to use xrefs to reference a common ToIP Glossary in addition to their own internal glossary. The common glossary will be referenced with title.

NOTE

TSWG spec authors would like to use any term already defined in the ToIP Glossary without having to repeat it in their glossary, and they can add any term specific to their spec.

  • An xref tag to enhance Spec-Up code to support remote refs.

# Features

# Feature Title and title collections

It is possible to include references to terms from external spec-up generated specifications. To include a source you would like to pull references from include an external_specs array in your spec config. The value should be a key/value object where the key is used in the external reference below and the value is the URL of the external spec.

To include an external term reference within your spec use the following format [[xref: {title}, {term}]] where {title} is the title given to the spec in the specs.json configuration file and {term} is the term being used.

For example using the PE spec given in this example:

{
  "specs": [
    {
      ...
      "external_specs": [
        {"PE": "https://identity.foundation/presentation-exchange"}
      ]
    }
  ]
}
# How to adopt a term “as is”?

Local preferable [[ref: term]]

Or remote reference

[[xref: title, term]]

Where term is either a term, acronyms or alias.

# Consistency pre-caution

Each xref has an existing def in the title glossary.

Spec-Up code that detects dangling refs and defs in the collection of titles. In other words, code that checks to see that: a. any ref tag defined in a spec has a corresponding def tag for the glossary entry somewhere in the collection of titles, and
b. every def tag defining a glossary entry in any of the titles including the local one. has at least one ref tag in any of the titles pointing to it.

# Domain checks

see refs for applicable initial domain constraints; plus the following.

Remote references

[[xref: title, term]] is a short unique tag assigned to the remote Spec-Up document containing the def for the term being referenced. So any Spec-Up document that uses remote refs would need to include a doctag section that looks something like this:

In specs.json:

      "external_specs": [
        {
          "<title>": "<URL>"
        }

example

      "external_specs": [
        {
          "PE": "https://identity.foundation/presentation-exchange"
        }

# Business rules

NOTE

If the spec authors want to use a term with its definition term as defined in the ToIP Glossary, the spec authors MUST insert a remote ref to that term in their spec and MUST NOT copy the term (or worse, redefine it) in their internal spec glossary.

NOTE

If the spec authors want to use a term defined in the ToIP Glossary but modify its definition, they COULD submit raise an issue and/or a pull request to the ToIP Glossary making the case for their proposed change. If that change is resolved to their satsifaction, they can proceed as per rule #1 above.

NOTE

If the spec authors want to use a new term that does not exist in the ToIP Glossary to their liking, and they believe the term should apply “ToIP community-wide”, they can submit a PR to have it added to the ToIP Glossary. If accepted, they can then follow rule #1 above.

WARNING

Of course, this set of rules only works within an coherent community willing to follow them. We can’t control the use of terminology outside of the ToIP community.

It should check each ref and xref created in reference title against any def that you’re about to remove from a local file.

It should signal each ref and xref created in reference title against any def that you’re about to change in a local file.

# Add context to adoption of a term

Adopting a term from a related scope (under the ToIP umbrella) or external SHOULD always be accompagnied with a possibility for the author, curator and maybe even other team members to add context to the definition adopted.

# Features context and metadata

The following metadata MUST be registered:

  • term, or (optional) alias or (optional) acronym of the term definition used to reference
  • url of the spec in which the term definition list is present and the name of the header
  • commit hash of the term definition plus specification adopted
  • authenticated github user that adopts the term (create), changes it’s context (update) or deletes the context.

This metadata SHOULD be added:

  • title of the group from which the term will be adopted

You COULD add or remove:

  • role of the authenticated github user in the current scope
  • context which is a block of free text.
# How to adopt a term with added or updated context?

Add: [[def: term or acronym or alias]] with in the text part of the definition

[[xref: title, term]]

Reference:

[[ref: term]]

Example Where mnenomic KE is the title of KERI spec in spec-up format and mnenomic TP (title) of the ToIP overall glossary in spec-up.


[[def: verification]]

~ Verification in Healthcare is in between the strict [[xref: KE, verification]]
 and the more loose ToIP definition [[xref: TP, verification]]. However we have the same criteria as KERI
  because our system will be KERI-based.

# Consistency pre-caution

  • The mnenomics (e.g. KE) SHOULD be unique per Spec-Up-T installation (repo)
  • The github.io-pages website of every title SHOULD exist
  • The term externally referenced SHOULD exist on the external github.io-pages referenced by the mnenomic/title.

# Business rules

The order in which these changes take place to a terminology definition, referencing and/or commenting SHOULD be registered.

Mind you: the adopter of a term SHOULD NOT delete, nor alter the original definition, present in another scope.

# How to stop adding context to an adopted term?

Remove the local def and change

[[ref: term]] into [[xref: term]]

Now the term is again externally referenced “as is”.

# Authentication and roles

It’s important to make explicit that somebody in a certain role added context to a remotely referenced term definition. Or he/she has chosen to refrain from that.

[[ref: title#phrase]]

phrase MUST be one of term in any of title’s glossary.

For example, a specification that includes a ref tag that looks like this: [[xref : TP, term]] would reference a def tag defined in the ToIP Glossary. Similarly, a ref that looks like [[xref: hxwg, term]] would reference a defined term in the (theoretical) HXWG glossary.

With the remote reference feature, all ToIP specifications (and any other deliverable written with Spec-Up) would be able to include linked glossary terms (including hover pop-up definitions), both from within its own glossary and from any referenced glossary in another document that also uses Spec-Up.

WARNING

Mind you, this process touches group dynamics, consensus building and communication.

# System feature functionality

The front-end functionality of the resulting github.io page can and should be altered to comply with various Reader allowances:

  • Only so and so often a link to known term in the glossary (not yet implemented ultimo 2024)
  • Only so and so often an acronym of a term added to the term in the core text (not yet implemented ultimo 2024)
  • Be able to one-click copy a permanent link to a term (click the #symbol)
  • Pop-ups consistently showing definitions while hovering over the term
  • Consensus tooling (Kerific) as a browser extension
  • Github commit history drill down option
  • Compare changes since references to external sources (xref), for they might have changed in the meanwhile

Terminology author allowances:

  • Save snapshot/versions of the glossary that have permanent links of their own.

# System feature layout

The front-end layout and pdf layout of the resulting github.io page can and must be altered to comply with various style-guide rules of external parties like IETF or ISO.

Not yet designed.

| TBW 2025|

# Integration

This is an informative section

Spec-Up, Spec-Up Glossary tool, TEv2, and the KERISSE-engine (search engine, KERIDoc education) plus kerific tooling are gradually going to be integrated for the sake of concept & terminology management in ToIP.

This section might be why we anticipate this Governance Guide on future development the way we’ve done in the previous sections.

# Concerns

We share some concerns raised over the first months of 2024.

# Spec-Up and Specification Template

The current copy-and-paste strategy is leading to merging horror and “unrelated histories.”

flowchart TD DIF --> |SpecUp_Daniel_Buchner| SpecUp_60ae636 SpecUp_60ae636 --> |PR accepted| SpecUp_d392aa1 SpecUp_d392aa1 --> |commit| SpecUp_e63f252 SpecUp_e63f252 --> |commit| SpecUp_985a65b SpecUp_60ae636 --> |copy Specification Template| ToIP_SpecUp_60ae636 ToIP_SpecUp_60ae636 --> |PR accepted| SpecUp_445a7db SpecUp_445a7db --> |PR accepted| SpecUp_7667ec3 SpecUp_7667ec3 --> |copy | Spec_kerific SpecUp_7667ec3 --> |copy |keri-spec SpecUp_7667ec3 --> |copy | acdc-spec SpecUp_445a7db --> |copy | cesr-spec ToIP_SpecUp_60ae636 --> |copy| trp-spec ToIP_SpecUp_60ae636 --> |copy| tas-spec style DIF fill:#ffc; style SpecUp_60ae636 fill:#ffc; style SpecUp_d392aa1 fill:#ffc; style SpecUp_e63f252 fill:#ffc; style SpecUp_985a65b fill:#ffc;

How should we work to stay in tune with each other and easily accept improvements?

flowchart TD DIF --> |SpecUp_Daniel_Buchner| SpecUp_60ae636 SpecUp_60ae636 --> |PR accepted| SpecUp_d392aa1 SpecUp_d392aa1 --> |commit| SpecUp_e63f252 SpecUp_d392aa1 --> |pull| ToIP_SpecUp_60ae636 SpecUp_e63f252 --> |commit| SpecUp_985a65b SpecUp_60ae636 --> |Fork Specification Template| ToIP_SpecUp_60ae636 ToIP_SpecUp_60ae636 --> |PR accepted| SpecUp_445a7db SpecUp_445a7db --> |fetch+merge| SpecUp_d392aa1 SpecUp_445a7db --> |PR accepted| SpecUp_7667ec3 SpecUp_7667ec3 --> |Fork | Spec_kerific SpecUp_7667ec3 --> |Fork |keri-spec SpecUp_7667ec3 --> |Fork | acdc-spec SpecUp_445a7db --> |Fork | cesr-spec ToIP_SpecUp_60ae636 --> |Fork| trp-spec ToIP_SpecUp_60ae636 --> |Fork| tas-spec SpecUp_985a65b --> |fetch+merge| SpecUp_7667ec3 SpecUp_7667ec3 --> |pull| SpecUp_985a65b style DIF fill:#ffc; style SpecUp_60ae636 fill:#ffc; style SpecUp_d392aa1 fill:#ffc; style SpecUp_e63f252 fill:#ffc; style SpecUp_985a65b fill:#ffc;

Noticed the differences?

  1. Through forking instead of copying we keep git histories compatible
  2. Through fetch+merge (or pull when no conflicts are expected), we not only keep DIF and ToIP synced, but also it is very straightforward to update all the gh-pages-based specification websites that use the Specification Template to:
    • sync functionality and data
    • offer PRs from any of those installs

# Roadmap to TEv2

As a TEv2 creator and frontman, we share Rieks Joosten’s viewpoint on this proposal for using Spec-Up refs and defs.

He explained that the same features being discussed here were also added to TEv2.

There is always tension between adding a lot of features and taking a long time or keeping things very minimal. He pointed out that creating glossaries based on cherry-picking glossary entries based on personal preferences can be problematic because it doesn’t actually establish shared understanding and criteria for defining terms.
The larger the group involved and the more varied their cultural backgrounds, the more problematic that can become. However, that doesn’t mean we shouldn’t start with tools that are actually working right now. Rieks’ personal preference is to use terminology that expresses the author’s intentions clearly. For example, reading the Spec-Up documentation was challenging for Rieks, because it was difficult to understand it without more context.

Rieks would like to have several more sessions on TEv2 so we can still look at how we can use it for our terminology. He’s not opposed to enhancing Spec-Up for these features but, at the same time, keeping TEv2 tooling in progress.

Rieks Joosten concluded that we need to see what tools are actually needed by both authors and readers to help them comprehend the terms they use. He can also explore how TEv2 tooling can be used to produce Spec-Up definitions.

Rieks Joosten was in favor of proceeding with changes to Spec-Up but also continuing the work on TEv2 to tackle larger issues of terminology management.

# TEv2 Explanation

# Current structure
flowchart LR A[A:Root];B[B:ScopeDir];C[/C:SAF/]; D[D:GlossaryDir]; E[E:CurTextDir] A -->|install| B B -->|config| C B -->|populate| D B -->|populate| E

# Docusaurus example CURRENT

flowchart LR A[A:Root];B[B:/docs];C[/C:saf.yaml/]; D[D:glossaries]; E[E:terms] A -->|install| B B -->|create| C B -->|populate| D B -->|populate| E

# SpecUp example CURRENT

flowchart LR A[A:Root];B[B:/spec];C[/C:saf.yaml/]; D[D:glossaries]; E[E:terms] A -->|install| B B -->|create| C B -->|populate| D B -->|populate| E
# Internal Scope

internal-scope-terminology

# External Scopes and internal scope

external-scope-terminology

# Full architecture

tev2-architecture

# Always archive, never delete

Darrell O’Donnell clarified that technical maintainers will not delete any ToIP repos but will only archive them.

# Annex

# Comparison Spec-Up 2023 and TEv2 by Rieks Joosten, Jan 2024

This specification has used the following insights to write the Guidelines, most notably in the Roles section and the Normative section.

# Spec-Up

I have had a look at the latest spec-up draft, specifically one relating to terminology. The text tells you about its features, but (as often), you need to see the source of that text (in RAW format) to figure out how to do things if you’re new to this. Here’s my understanding: Spec-up term definition syntax is as follows:

<text that is used as the description/definition of ‘term’>

where is the term that is being defined. The documentation doesn’t say what it can(not) be, e.g., whether or not it may contain spaces or special characters and

appears to be a (single) line of text, which also isn’t further specified.

If you want to specify aliases (what TEv2 calls ‘form phrases’), you say:

<text that is used as the description/definition of ‘term’ (and its aliases)>

Where and are as before, and <alias> are the aliases, which are also not further specified, but the example shows they can contain spaces (so the, and the closing ]] are the delimiters for the term list.

# TEv2 definitions appear in different forms:

As a set of (curated) text files (markdown), one for each term. They contain (YAML) frontmatter in which there are fields for (a) the term, (b) the aliases (called ‘form phrases’), and © the text line (called ‘glossaryTexts’). In their body, they contain more documentation related to the term. As an entry in a machine-readable glossary (YAML), every entry basically consists of not only the frontmatter of the curated text file but also some other fields that (third-party) tools can use to find the curated text file or a rendered version thereof. As a set of Wiki files that will (soon?) be ingestable (turned into curated text files).

Spec-up use of term references within markdown:

Where is the defined term or one of its aliases. TEv2 use of term references can be done in different forms:

Where is a defined term or form phrase. However, if is not a defined term or form phrase, you can still make it refer to a defined term using the syntax:

TEv2 has additional syntax for using terms that refer to stuff other than concepts (such as mental models, e.g., in other scopes, e.g., parties, in particular versions of terminology, e.g., tag

Also, TEv2 has mechanisms where users can define/configure their own syntax for term references, as well as mechanisms for specifying what a termref (when found) should be converted into. Spec-up glossaries are a rendered version of the list of spec-up definitions, which requires them to all be specified in that same location. When a user clicks on a termref (in the rendered version), it is taken to the location where the term is defined. I haven’t seen any documentation of whether/how that would work with multiple files. TEv2 glossaries come in two forms: machine-readable glossaries (MRGs) and human-readable glossaries (HRGs). TEv2 sees an HRG as a rendered reference to a particular MRG, so (like TermRefs) users can specify a so-called ‘MRG-Ref’ in their markdown, and when that is processed, an HRG is generated at that location from the designated MRG in a format, and using contents that the user specifies. Here is an example of various HRGs generated on a single page.

# Discussion

Spec-up is quite different from TEv2. Most notably, By design, spec-up is (very) simple to use and has the basic features you need when writing (simple) specifications. When things become more complex, or you want to explicitly position a spec in a context where other specs also live, my guess is that you run into its limitations. But then, that’s not what spec-up was designed to do. TEv2, on the other hand, is not simple when viewed from a single-context perspective. But you can use and build on the terminologies of others. Another source of perceived complexity may be caused by its flexibility, e.g., it allows users to specify syntaxes (for TermRefs and MRGRefs), as well as the (html, markdown, or other constructs) that they can be converted into.

So, the basic question seems to be whether or not there is an actual need for spec-up and/or TEv2 within ToIP, which I think we can ponder by understanding what we can and cannot do.

tno-terminology-design.github.io

Glossary Generation Demo | TNO Terminology Design

This page is evidence that an HRG can be generated for every MRG that is available within the scope. It also shows that HRGs can be generated in different formats.

Regarding the roles (specification author, curator, end-user/reader), some thoughts:

Authors come in different flavors. An author who writes specs has different capabilities (e.g., being precise and so) than an author who writes learning stuff (things for Muggles and so on). Darrell can do git and markdown, but I recall that Nicky (and others) thought that to be too cumbersome. The minimalistic use cases would differ for the different author sub-roles, so we should give some thought to which sub-roles exist within ToIP.

When we were talking about the ‘term communities,’ we also had the role of ‘contributor,’ which is the role a person performs as (s)he helps draft criteria (for definitions), mental models, and other stuff that we envisaged could be needed in a particular WG, TF (scope). Do we still think that way?

Apart from having the minimalistic use cases, I think it would be helpful if, for every activity or product from the CTWG, we knew who would actually be using it and what they would need to be able to do with that so that we can make sure that they can use it and do with it what they need to. And IMHO, that is far from trivial; we should give that some attention.

# Brief history of the guide

In 2021, TrustoverIP published the Specification for Creating and Using Terms

In the years to follow, the guide to creating Term wikis has been established. It gives extensive instructions on how to create wikis, use markdown and hyperlinks, etc.

As the number of implementations grew, maintenance of the wikis became out of sync, the number of broken links increased, and duplicate definitions of terms and deviations from the structure and governance offered.

Darrell O’Donnell: As I am deep in a rabbit hole looking at definitions, a thought occurred to me. We may end up with “over-defined” terms - meaning the definition exists in multiple places. Have you considered that case? I believe that a ToIP Master: ToIP Specification conflict should be avoided. If a spec needs a different term than is in the Master glossary, then the conflict should be resolved: adjust Master Glossary, or create a new term in Spec BUT where we end up looking at terms that are managed even further afield, this gets really hard. Just curious if this is a condition you’ve thought of. I see the following possibilities:

  • multiple def: in a single document (this is just sloppy work - but easy to do, for me at least)
  • duplicated def: - say in Spec and ToIP Master Glossary
NOTE

Check quickly out how we take on these concerns

Some of these developments are part of the natural evolution of concepts and terminologies within an umbrella organization like ToIP. Others could be more streamlined.

This specification intends to offer a Guide. A Guide has little or no normative statements as it describes advice on how to create a specific terminology by sticking to guidance and certain rules to know how to write or adopt definitions, how to reference them, and where to store and manage them:

  • reuse the specification template and how to do this in a sustainable manner
  • reuse the ToIP over-arching glossary where possible
  • avoid breaking links in the future
  • use the full power of def, refs, and aliases in individual documents based on Spec-Up (which is behind the specification template as of 202?)
  • be able to generate your documents in a few leading style guides like ToIP, ISO, etc.
  • Last but not least, any group with a certain scope will need to source manage their own definitions or views on the definition, which means that we need to earmark creation and updates with time & author.

# Historical perspective

# Past Practise Terminology Governance

Past Practise Terminology Governance

# Current Practise Terminology Governance

Current Practise Terminology Governance

# Future Practise Terminology Governance

Future Practise Terminology Governance?

Issues
    Settings
    Help Snapshots

    External specifications:

    ["
    AAL:
    \n

    See: authenticator assurance level.

    \n
    ABAC:
    \n

    See: attribute-based access control.

    \n
    access control:
    \n

    The process of granting or denying specific requests for obtaining and using information and related information processing services.

    \n
    ACDC
    \n

    See: Authentic Chained Data Container.

    \n
    action
    \n

    Something that is actually done (a ‘unit of work’ that is executed) by a single actor (on behalf of a given party), as a single operation, in a specific context.Source: eSSIF-Lab.

    \n
    actor
    \n

    An entity that can act (do things/execute actions), e.g. people, machines, but not organizations. A digital agent can serve as an actor acting on behalf of its principal.Source: eSSIF-Lab.

    \n
    address
    \n

    See: network address.

    \n
    administering authority:
    \n

    See: administering body.

    \n
    administering body:
    \n

    A legal entity delegated by a governing body to administer the operation of a governance framework and governed infrastructure for a digital trust ecosystem, such as one or more trust registries.

    \n
    agency:
    \n

    In the context of decentralized digital trust infrastructure, the empowering of a party to act independently of its own accord, and in particular to empower the party to employ an agent to act on the party’s behalf.

    \n
    agent:
    \n

    An actor that is executing an action on behalf of a party (called the principal of that actor). In the context of decentralized digital trust infrastructure, the term “agent” is most frequently used to mean a digital agent.

    \n
    AID:
    \n

    See autonomic identifier.

    \n
    anonymous
    \n

    An adjective describing when the identity of a natural person or other actor is unknown.

    \n
    anycast:
    \n

    Anycast is a network addressing and routing methodology in which a single IP-address is shared by devices (generally servers) in multiple locations. Routers direct packets addressed to this destination to the location nearest the sender, using their normal decision-making algorithms, typically the lowest number of BGP network hops. Anycast routing is widely used by content delivery networks such as web and name servers, to bring their content closer to end users.

    \n
    anycast address:
    \n

    A network address (especially an IP address) used for anycast routing of network transmissions.

    \n
    appraisability (of a communications endpoint):
    \n

    The ability for a communication endpoint identified with a verifiable identifier to be appraised for the set of its properties that enable a relying party or a verifier to make a trust decision about communicating with that endpoint.

    \n
    assurance level
    \n

    A level of confidence that may be relied on by others. Different types of assurance levels are defined for different types of trust assurance mechanisms. Examples include authenticator assurance level, federation assurance level, and identity assurance level.

    \n
    appropriate friction:
    \n

    A user-experience design principle for information systems (such as digital wallets) specifying that the level of attention required of the holder for a particular transaction should provide a reasonable opportunity for an informed choice by the holder.

    \n
    attestation:
    \n

    The issue of a statement, based on a decision, that fulfillment of specified requirements has been demonstrated. In the context of decentralized digital trust infrastructure, an attestation usually has a digital signature so that it is cryptographically verifiable.

    \n
    attribute:
    \n

    An identifiable set of data that describes an entity, which is the subject of the attribute.

    \n
    attribute-based access control:
    \n

    An access control approach in which access is mediated based on attributes associated with subjects (requesters) and the objects to be accessed. Each object and subject has a set of associated attributes, such as location, time of creation, access rights, etc. Access to an object is authorized or denied depending upon whether the required (e.g., policy-defined) correlation can be made between the attributes of that object and of the requesting subject.

    \n
    audit (of system controls):
    \n

    Independent review and examination of records and activities to assess the adequacy of system controls, to ensure compliance with established policies and operational procedures.

    \n
    audit log:
    \n

    An audit log is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, event, or device.

    \n
    auditor (of an entity):
    \n

    The party responsible for performing an audit. Typically an auditor must be accredited.

    \n
    authentication(of a user; process; or device):
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authentication(of a user; process; or device):
    \n

    Verifying the identity of a user, process, or device, often as a prerequisite to allowing access to resources in an information system.

    \n
    authenticator
    \n

    Something the claimant possesses and controls (typically a cryptographic module or password) that is used to authenticate the claimant’s identity.

    \n
    authenticator assurance level
    \n

    A measure of the strength of an authentication mechanism and, therefore, the confidence in it.

    \n
    authenticator assurance level
    \n

    A measure of the strength of an authentication mechanism and, therefore, the confidence in it.

    \n
    Authentic Chained Data Container:
    \n

    A digital data structure designed for both cryptographic verification and chaining of data containers. ACDC may be used for digital credentials.

    \n
    authenticity:
    \n

    The property of being genuine and being able to be verified and trusted; confidence in the validity of a transmission, a message, or message originator.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    authorized organizational representative
    \n

    A person who has the authority to make claims, sign documents or otherwise commit resources on behalf of an organization.

    \n
    authorization graph:
    \n

    A graph of the authorization relationships between different entities in a trust-community. In a digital trust ecosystem, the governing body is typically the trust root of an authorization graph. In some cases, an authorization graph can be traversed by making queries to one or more trust registries.

    \n
    authoritative source:
    \n

    A source of information that a relying party considers to be authoritative for that information. In ToIP architecture, the trust registry authorized by the governance framework (#governance-framework) for a [trust community is typically considered an authoritative source by the members of that trust community. A system of record is an authoritative source for the data records it holds. A trust root is an authoritative source for the beginning of a trust chain.

    \n
    authority:
    \n

    A party of which certain decisions, ideas, rules etc. are followed by other parties.

    \n
    autonomic identifier:
    \n

    The specific type of self-certifying identifier specified by the KERI specifications.

    \n
    biometric:
    \n

    A measurable physical characteristic or personal behavioral trait used to recognize the AID, or verify the claimed identity, of an applicant. Facial images, fingerprints, and iris scan samples are all examples of biometrics.

    \n
    blockchain:
    \n

    A distributed digital ledger of cryptographically-signed transactions that are grouped into blocks. Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision. As new blocks are added, older blocks become more difficult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conflicts are resolved automatically using established rules.

    \n
    broadcast:
    \n

    In computer networking, telecommunication and information theory, broadcasting is a method of transferring a message to all recipients simultaneously. Broadcast delivers a message to all nodes in the network using a one-to-all association; a single datagram (or packet) from one sender is routed to all of the possibly multiple endpoints associated with the broadcast address. The network automatically replicates datagrams as needed to reach all the recipients within the scope of the broadcast, which is generally an entire network subnet.

    \n
    broadcast address:
    \n

    A broadcast address is a network address used to transmit to all devices connected to a multiple-access communications network. A message sent to a broadcast address may be received by all network-attached hosts. In contrast, a multicast address is used to address a specific group of devices, and a unicast address is used to address a single device. For network layer communications, a broadcast address may be a specific IP address.

    \n
    C2PA:
    \n

    See: Coalition for Content Provenance and Authenticity.

    \n
    CA:
    \n

    See: certificate authority.

    \n
    CAI:
    \n

    See: Content Authenticity Initiative.

    \n
    certification authority:
    \n

    See: certificate authority.

    \n
    certificate authority:
    \n

    The entity in a public key infrastructure (PKI) that is responsible for issuing public key certificates and exacting compliance to a PKI policy.

    \n
    certification (of a party):
    \n

    A comprehensive assessment of the management, operational, and technical security controls in an information system, made in support of security accreditation, to determine the extent to which the controls are implemented correctly, operating as intended, and producing the desired outcome with respect to meeting the security requirements for the system.

    \n
    certification body:
    \n

    A legal entity that performs certification.

    \n
    chain of trust:
    \n

    See: trust chain.

    \n
    chained credentials:
    \n

    Two or more credentials linked together to create a trust chain between the credentials that is cryptographically verifiable.

    \n
    chaining:
    \n

    See: trust chain.

    \n
    channel:
    \n

    See: communication channel.

    \n
    ciphertext:
    \n

    Encrypted (enciphered) data. The confidential form of the plaintext that is the output of the encryption function.

    \n
    claim:
    \n

    An assertion about a subject, typically expressed as an attribute or property of the subject. It is called a “claim” because the assertion is always made by some party, called the issuer of the claim, and the validity of the claim must be judged by the verifier.

    \n
    Coalition for Content Provenance and Authenticity:
    \n

    C2PA is a Joint Development Foundation project of the Linux Foundation that addresses the prevalence of misleading information online through the development of technical standards for certifying the source and history (or provenance) of media content.

    \n
    communication:
    \n

    The transmission of information.

    \n
    communication endpoint:
    \n

    A type of communication network node. It is an interface exposed by a communicating party or by a communication channel. An example of the latter type of a communication endpoint is a publish-subscribe topic or a group in group communication systems.

    \n
    communication channel:
    \n

    A communication channel refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. A channel is used for information transfer of, for example, a digital bit stream, from one or several senders to one or several receivers.

    \n
    communication metadata:
    \n

    Metadata that describes the sender, receiver, routing, handling, or contents of a communication. Communication metadata is often observable even if the contents of the communication are encrypted.

    \n
    communication session:
    \n

    A finite period for which a communication channel is instantiated and maintained, during which certain properties of that channel, such as authentication of the participants, are in effect. A session has a beginning, called the session initiation, and an ending, called the session termination.

    \n
    complex password:
    \n

    A password that meets certain security requirements, such as minimum length, inclusion of different character types, non-repetition of characters, and so on.

    \n
    compliance:
    \n

    In the context of decentralized digital trust infrastructure, the extent to which a system, actor, or party conforms to the requirements of a governance framework or trust framework that pertains to that particular entity.

    \n
    concept:
    \n

    An abstract idea that enables the classification of entities, i.e., a mental construct that enables an instance of a class of entities to be distinguished from entities that are not an instance of that class. A concept can be identified with a term.

    \n
    confidential computing:
    \n

    Hardware-enabled features that isolate and process encrypted data in memory so that the data is at less risk of exposure and compromise from concurrent workloads or the underlying system and platform.

    \n
    confidentiality:
    \n

    In a communications context, a type of privacy protection in which messages use encryption or other privacy-preserving technologies so that only authorized parties have access.

    \n
    connection:
    \n

    A communication channel established between two communication endpoints. A connection may be ephemeral or persistent.

    \n
    Content Authenticity Initiative:
    \n

    The Content Authenticity Initiative (CAI) is an association founded in November 2019 by Adobe, the New York Times and Twitter. The CAI promotes an industry standard for provenance metadata defined by the C2PA. The CAI cites curbing disinformation as one motivation for its activities.

    \n
    controller (of a key:
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    controller (of a key:
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    controller (of a key:
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    controller (of a key:
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    controller (of a key:
    \n

    In the context of digital communications, the entity in control of sending and receiving digital communications. In the context of decentralized digital trust infrastructure, the entity in control of the cryptographic keys necessary to perform cryptographically verifiable actions using a digital agent and digital wallet. In a ToIP context, the entity in control of a ToIP endpoint.

    \n
    consent management:
    \n

    A system, process or set of policies under which a person agrees to share personal data for specific usages. A consent management system will typically create a record of such consent.

    \n
    controlled document:
    \n

    A governance document whose authority is derived from a primary document.

    \n
    correlation privacy:
    \n

    In a communications context, a type of privacy protection in which messages use encryption, hashes, or other privacy-preserving technologies to avoid the use of identifiers or other content that unauthorized parties may use to correlate the sender and/or receiver(s).

    \n
    counterparty:
    \n

    From the perspective of one party, the other party in a transaction, such as a financial transaction.

    \n
    credential:
    \n

    A container of claims describing one or more subjects. A credential is generated by the issuer of the credential and given to the holder of the credential. A credential typically includes a signature or some other means of proving its authenticity. A credential may be either a physical credential or a digital credential.

    \n
    credential family:
    \n

    A set of related digital credentials defined by a governing body (typically in a governance framework) to empower transitive trust decisions among the participants in a digital trust ecosystem.

    \n
    credential governance framework:
    \n

    A governance framework for a credential family. A credential governance framework may be included within or referenced by an ecosystem governance framework.

    \n
    credential offer:
    \n

    A protocol request invoked by an issuer to offer to issue a digital credential to the  holder of a digital wallet. If the request is invoked by the holder, it is called an issuance request.

    \n
    credential request:
    \n

    See: issuance request.

    \n
    credential schema:
    \n

    A data schema describing the structure of a digital credential. The W3C Verifiable Credentials Data Model Specification defines a set of requirements for credential schemas.

    \n
    criterion:
    \n

    In the context of terminology, a written description of a concept that anyone can evaluate to determine whether or not an entity is an instance or example of that concept. Evaluation leads to a yes/no result.

    \n
    cryptographic binding:
    \n

    Associating two or more related elements of information using cryptographic techniques.

    \n
    cryptographic key:
    \n

    A key in cryptography is a piece of information, usually a string of numbers or letters that are stored in a file, which, when processed through a cryptographic algorithm, can encode or decode cryptographic data. Symmetric cryptography refers to the practice of the same key being used for both encryption and decryption. Asymmetric cryptography has separate keys for encrypting and decrypting. These keys are known as the public keys and private keys, respectively.

    \n
    cryptographic trust:
    \n

    A specialized type of technical trust that is achieved using cryptographic algorithms.

    \n
    cryptographic verifiability:
    \n

    The property of being cryptographically verifiable.

    \n
    cryptographically verifiable:
    \n

    A property of a data structure that has been digitally signed using a private key such that the digital signature can be verified using the public key. Verifiable data, verifiable messages, verifiable credentials, and verifiable data registries are all cryptographically verifiable. Cryptographic verifiability is a primary goal of the ToIP Technology Stack.

    \n
    cryptographically bound:
    \n

    A state in which two or more elements of information have a cryptographic binding.

    \n
    custodial wallet:
    \n

    A digital wallet that is directly in the custody of a principal, i.e., under the principal’s direct personal or organizational control. A digital wallet that is in the custody of a third party is called a non-custodial wallet.

    \n
    custodian:
    \n

    A third party that has been assigned rights and duties in a custodianship arrangement for the purpose of hosting and safeguarding a principal’s private keys, digital wallet and digital assets on the principal’s behalf. Depending on the custodianship arrangement, the custodian may act as an exchange and provide additional services, such as staking, lending, account recovery, or security features.

    \n
    custodianship arrangement:
    \n

    The informal terms or formal legal agreement under which a custodian agrees to provide service to a principal.

    \n
    dark pattern:
    \n

    A design pattern, mainly in user interfaces, that has the effect of deceiving individuals into making choices that are advantageous to the designer.

    \n
    data:
    \n

    In the pursuit of knowledge, data is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted. A datum is an individual value in a collection of data.

    \n
    datagram:
    \n

    See: data packet.

    \n
    data packet:
    \n

    In telecommunications and computer networking, a network packet is a formatted unit of data carried by a packet-switched network such as the Internet. A packet consists of control information and user data; the latter is also known as the payload. Control information provides data for delivering the payload (e.g., source and destination network addresses, error detection codes, or sequencing information). Typically, control information is found in packet headers and trailers.

    \n
    data schema:
    \n

    A description of the structure of a digital document or object, typically expressed in a machine-readable language in terms of constraints on the structure and content of documents or objects of that type. A credential schema is a particular type of data schema.

    \n
    data subject:
    \n

    The natural person that is described by personal data. Data subject is the term used by the EU General Data Protection Regulation.

    \n
    data vault:
    \n

    See: digital vault.

    \n
    decentralized identifier:
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier:
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier:
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identifier:
    \n

    A globally unique persistent identifier that does not require a centralized registration authority and is often generated and/or registered cryptographically. The generic format of a DID is defined in section 3.1 DID Syntax of the W3C Decentralized Identifiers (DIDs) 1.0 specification. A specific DID scheme is defined in a DID method specification.

    \n
    decentralized identity:
    \n

    A digital identity architecture in which a digital identity is established via the control of a set of cryptographic keys in a digital wallet so that the controller is not dependent on any external identity provider or other third party.

    \n
    Decentralized Identity Foundation:
    \n

    A non-profit project of the Linux Foundation chartered to develop the foundational components of an open, standards-based, decentralized identity ecosystem for people, organizations, apps, and devices.

    \n
    Decentralized Web Node:
    \n

    A decentralized personal and application data storage and message relay node, as defined in the DIF Decentralized Web Node specification. Users may have multiple nodes that replicate their data between them.

    \n
    deceptive pattern:
    \n

    See: dark pattern.

    \n
    decryption:
    \n

    The process of changing ciphertext into plaintext using a cryptographic algorithm and key. The opposite of encryption.

    \n
    deep link:
    \n

    In the context of the World Wide Web, deep linking is the use of a hyperlink that links to a specific, generally searchable or indexed, piece of web content on a website (e.g. “https://example.com/path/page”), rather than the website’s home page (e.g., “https://example.com”). The URL contains all the information needed to point to a particular item. Deep linking is different from mobile deep linking, which refers to directly linking to in-app content using a non-HTTP URI.

    \n
    definition:
    \n

    A textual statement defining the meaning of a term by specifying criterion that enable the concept identified by the term to be distinguished from all other concepts within the intended scope.

    \n
    delegation:
    \n

    TODO

    \n
    delegation credential:
    \n

    TODO

    \n
    dependent:
    \n

    An entity for the caring for and/or protecting/guarding/defending of which a guardianship arrangement has been established with a guardian.

    \n
    device controller:
    \n

    The controller of a device capable of digital communications, e.g., a smartphone, tablet, laptop, IoT device, etc.

    \n
    dictionary:
    \n

    A dictionary is a listing of lexemes (words or terms) from the lexicon of one or more specific languages, often arranged alphabetically, which may include information on definitions, usage, etymologies, pronunciations, translation, etc. It is a lexicographical reference that shows inter-relationships among the data. Unlike a glossary, a dictionary may provide multiple definitions of a term depending on its scope or context.

    \n
    DID controller:
    \n

    An entity that has the capability to make changes to a DID document. A DID might have more than one DID controller. The DID controller(s) can be denoted by the optional controller property at the top level of the DID document. Note that a DID controller might be the DID subject.

    \n
    DID document:
    \n

    A set of data describing the DID subject, including mechanisms, such as cryptographic public keys, that the DID subject or a DID delegate can use to authenticate itself and prove its association with the DID. A DID document might have one or more different representations as defined in section 6 of the W3C Decentralized Identifiers (DIDs) 1.0 specification.

    \n
    DID method:
    \n

    A definition of how a specific DID method scheme is implemented. A DID method is defined by a DID method specification, which specifies the precise operations by which DIDs and DID documents are created, resolved, updated, and deactivated.

    \n
    DID subject:
    \n

    The entity identified by a DID and described by a DID document. Anything can be a DID subject: person, group, organization, physical thing, digital thing, logical thing, etc.

    \n
    DID URL:
    \n

    A DID plus any additional syntactic component that conforms to the definition in section 3.2 of the W3C Decentralized Identifiers (DIDs) 1.0 specification. This includes an optional DID path (with its leading / character), optional DID query (with its leading ? character), and optional DID fragment (with its leading # character).

    \n
    digital agent:
    \n

    In the context of ​​decentralized digital trust infrastructure, an agent (specifically a type of software agent) that operates in conjunction with a digital wallet.

    \n
    digital asset:
    \n

    A digital asset is anything that exists only in digital form and comes with a distinct usage right. Data that do not possess that right are not considered assets.

    \n
    digital certificate:
    \n

    See: public key certificate.

    \n
    digital credential:
    \n

    A credential in digital form that is signed with a digital signature and held in a digital wallet. A digital credential is issued to a holder by an issuer; a proof of the credential is presented by the holder to a verifier.

    \n
    digital ecosystem:
    \n

    A digital ecosystem is a distributed, adaptive, open socio-technical system with properties of self-organization, scalability and sustainability inspired from natural ecosystems. Digital ecosystem models are informed by knowledge of natural ecosystems, especially for aspects related to competition and collaboration among diverse entities.

    \n
    digital identity:
    \n

    An identity expressed in a digital form for the purpose representing the identified entity within a computer system or digital network.

    \n
    digital rights management:
    \n

    Digital rights management (DRM) is the management of legal access to digital content. Various tools or technological protection measures (TPM) like access control technologies, can restrict the use of proprietary hardware and copyrighted works. DRM technologies govern the use, modification and distribution of copyrighted works (e.g. software, multimedia content) and of systems that enforce these policies within devices.

    \n
    digital trust ecosystem:
    \n

    A digital ecosystem in which the participants are one or more interoperating trust communities. Governance of the various roles of governed parties within a digital trust ecosystem (e.g., issuers, holders, verifiers, certification bodies, auditors) is typically managed by a governing body using a governance framework as recommended in the ToIP Governance Stack. Many digital trust ecosystems will also maintain one or more trust lists and/or trust registries.

    \n
    digital trust utility:
    \n

    An information system, network, distributed database, or blockchain designed to provide one or more supporting services to higher level components of decentralized digital trust infrastructure. In the ToIP stack, digital trust utilities are at Layer 1. A verifiable data registry is one type of digital trust utility.

    \n
    digital signature:
    \n

    A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created by a known sender (authenticity), and that the message was not altered in transit (integrity).

    \n
    digital vault:
    \n

    A secure container for data whose controller is the principal. A digital vault is most commonly used in conjunction with a digital wallet and a digital agent. A digital vault may be implemented on a local device or in the cloud; multiple digital vaults may be used by the same principal across different devices and/or the cloud; if so they may use some type of synchronization. If the capability is supported, data may flow into or out of the digital vault automatically based on subscriptions approved by the controller.

    \n
    digital wallet:
    \n

    A user agent, optionally including a hardware component, capable of securely storing and processing cryptographic keys, digital credentials, digital assets and other sensitive private data that enables the controller to perform cryptographically verifiable operations. A non-custodial wallet is directly in the custody of a principal. A custodial wallet is in the custody of a third party. Personal wallets are held by individual persons; enterprise wallets are held by organizations or other legal entities.

    \n
    distributed ledger:
    \n

    A distributed ledger (also called a shared ledger or distributed ledger technology or DLT) is the consensus of replicated, shared, and synchronized digital data that is geographically spread (distributed) across many sites, countries, or institutions. In contrast to a centralized database, a distributed ledger does not require a central administrator, and consequently does not have a single (central) point-of-failure. In general, a distributed ledger requires a peer-to-peer (P2P) computer network and consensus algorithms so that the ledger is reliably replicated across distributed computer nodes (servers, clients, etc.). The most common form of distributed ledger technology is the blockchain, which can either be on a public or private network.

    \n
    domain:
    \n

    See: security domain.

    \n
    DRM:
    \n

    See: digital rights management.

    \n
    DWN:
    \n

    See: Decentralized Web Node.

    \n
    ecosystem:
    \n

    See: digital ecosystem.

    \n
    ecosystem governance framework:
    \n

    A governance framework for a digital trust ecosystem. An ecosystem governance framework may incorporate, aggregate, or reference other types of governance frameworks such as a credential governance framework or a utility governance framework.

    \n
    ecosystem governance framework:
    \n

    A governance framework for a digital trust ecosystem. An ecosystem governance framework may incorporate, aggregate, or reference other types of governance frameworks such as a credential governance framework or a utility governance framework.

    \n
    eIDAS:
    \n

    eIDAS (electronic IDentification, Authentication and trust Services) is an EU regulation with the stated purpose of governing “electronic identification and trust services for electronic transactions”. It passed in 2014 and its provisions came into effect between 2016-2018.

    \n
    encrypted data vault:
    \n

    See: digital vault.

    \n
    encryption:
    \n

    Cryptographic transformation of data (called plaintext) into a form (called ciphertext) that conceals the data’s original meaning to prevent it from being known or used. If the transformation is reversible, the corresponding reversal process is called decryption, which is a transformation that restores encrypted data to its original state.

    \n
    end-to-end encryption:
    \n

    Encryption that is applied to a communication before it is transmitted from the sender’s communication endpoint and cannot be decrypted until after it is received at the receiver’s communication endpoint. When end-to-end encryption is used, the communication cannot be decrypted in transit no matter how many intermediaries are involved in the routing process.

    \n
    End-to-End Principle:
    \n

    The end-to-end principle is a design framework in computer networking. In networks designed according to this principle, guaranteeing certain application-specific features, such as reliability and security, requires that they reside in the communicating end nodes of the network. Intermediary nodes, such as gateways and routers, that exist to establish the network, may implement these to improve efficiency but cannot guarantee end-to-end correctness.

    \n
    endpoint:
    \n

    See: communication endpoint.

    \n
    endpoint system:
    \n

    The system that operates a communications endpoint. In the context of the ToIP stack, an endpoint system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    enterprise data vault:
    \n

    A digital vault whose controller is an organization.

    \n
    enterprise wallet:
    \n

    A digital wallet whose holder is an organization.

    \n
    entity:
    \n

    Someone or something that is known to exist.

    \n
    entity:
    \n

    Someone or something that is known to exist.

    \n
    ephemeral connection:
    \n

    A connection that only exists for the duration of a single communication session or transaction.

    \n
    expression language:
    \n

    A language for creating a computer-interpretable (machine-readable) representation of specific knowledge.

    \n
    FAL:
    \n

    See: federation assurance level.

    \n
    federated identity:
    \n

    A digital identity architecture in which a digital identity established on one computer system, network, or trust domain is linked to other computer systems, networks, or trust domains for the purpose of identifying the same entity across those domains.

    \n
    federation:
    \n

    A group of organizations that collaborate to establish a common trust framework or governance framework for the exchange of identity data in a federated identity system.

    \n
    federation assurance level:
    \n

    A category that describes the federation protocol used to communicate an assertion containing authentication) and attribute information (if applicable) to a relying party, as defined in NIST SP 800-63-3 in terms of three levels: FAL 1 (Some confidence), FAL 2 (High confidence), FAL 3 (Very high confidence).

    \n
    fiduciary:
    \n

    A fiduciary is a person who holds a legal or ethical relationship of trust with one or more other parties (person or group of persons). Typically, a fiduciary prudently takes care of money or other assets for another person. One party, for example, a corporate trust company or the trust department of a bank, acts in a fiduciary capacity to another party, who, for example, has entrusted funds to the fiduciary for safekeeping or investment. In a fiduciary relationship, one person, in a position of vulnerability, justifiably vests confidence, good faith, reliance, and trust in another whose aid, advice, or protection is sought in some matter.

    \n
    first party:
    \n

    The party who initiates a trust relationship, connection, or transaction with a second party.

    \n
    foundational identity:
    \n

    A set of identity data, such as a credential, issued by an authoritative source for the legal identity of the subject. Birth certificates, passports, driving licenses, and other forms of government ID documents are considered foundational identity documents. Foundational identities are often used to provide identity binding for functional identities.

    \n
    fourth party:
    \n

    A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services exclusively to the first party (in contrast with a third party, who in most cases provides supporting services to the second party). In its strongest form, a fourth party has a fiduciary relationship with the first party.

    \n
    functional identity:
    \n

    A set of identity data, such as a credential, that is issued not for the purpose of establishing a foundational identity for the subject, but for the purpose of establishing other attributes, qualifications, or capabilities of the subject. Loyalty cards, library cards, and employee IDs are all examples of functional identities. Foundational identities are often used to provide identity binding for functional identities.

    \n
    gateway:
    \n

    A gateway is a piece of networking hardware or software used in telecommunications networks that allows data to flow from one discrete network to another. Gateways are distinct from routers or switches in that they communicate using more than one protocol to connect multiple networks[1][2] and can operate at any of the seven layers of the open systems interconnection model (OSI).

    \n
    GDPR:
    \n

    See: General Data Protection Regulation.

    \n
    General Data Protection Regulation:
    \n

    The General Data Protection Regulation (Regulation (EU) 2016/679, abbreviated GDPR) is a European Union regulation on information privacy in the European Union (EU) and the European Economic Area (EEA). The GDPR is an important component of EU privacy law and human rights law, in particular Article 8(1) of the Charter of Fundamental Rights of the European Union. It also governs the transfer of personal data outside the EU and EEA. The GDPR’s goals are to enhance individuals’ control and rights over their personal information and to simplify the regulations for international business.

    \n
    glossary:
    \n

    A glossary (from Ancient Greek: γλῶσσα, glossa; language, speech, wording), also known as a vocabulary or clavis, is an alphabetical list of terms in a particular domain of knowledge (scope) together with the definitions for those terms. Unlike a dictionary, a glossary has only one definition for each term.

    \n
    Governance:
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    Governance:
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    Governance:
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    Governance:
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    Governance:
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    Governance:
    \n

    Governance, risk management, and compliance (GRC) are three related facets that aim to assure an organization reliably achieves objectives, addresses uncertainty and acts with integrity. Governance is the combination of processes established and executed by the directors (or the board of directors) that are reflected in the organization's structure and how it is managed and led toward achieving goals. Risk management is predicting and managing risks that could hinder the organization from reliably achieving its objectives under uncertainty. Compliance refers to adhering with the mandated boundaries (laws and regulations) and voluntary boundaries (company’s policies, procedures, etc.)

    \n
    governance diamond:
    \n

    A term that refers to the addition of a governing body to the standard trust triangle of issuers, holders, and verifiers of credentials. The resulting combination of four parties represents the basic structure of a digital trust ecosystem.

    \n
    governance document:
    \n

    A document with at least one identifier that specifies governance requirements for a trust community.

    \n
    governance framework:
    \n

    A collection of one or more governance documents published by the governing body of a trust community.

    \n
    governance graph:
    \n

    A graph of the governance relationships between entities with a trust community. A governance graph shows which nodes are the governing bodies and which are the governed parties. In some cases, a governance graph can be traversed by making queries to one or more trust registries.Note: a party can play both roles and also be a participant in multiple governance frameworks.

    \n
    governance requirement:
    \n

    A requirement such as a policy, rule, or technical specification specified in a governance document.

    \n
    governed use case:
    \n

    A use case specified in a governance document that results in specific governance requirements within that governance framework. Governed use cases may optionally be discovered via a trust registry authorized by the relevant governance framework.

    \n
    governed party:
    \n

    A party whose role(s) in a trust community is governed by the governance requirements in a governance framework.

    \n
    governed party:
    \n

    A party whose role(s) in a trust community is governed by the governance requirements in a governance framework.

    \n
    governed information:
    \n

    Any information published under the authority of a governing body for the purpose of governing a trust community. This includes its governance framework and any information available via an authorized trust registry.

    \n
    governing authority:
    \n

    See: governing body.

    \n
    governing body:
    \n

    The party (or set of parties) authoritative for governing a trust community, usually (but not always) by developing, publishing, maintaining, and enforcing a governance framework. A governing body may be a government, a formal legal entity of any kind, an informal group of any kind, or an individual. A governing body may also delegate operational responsibilities to an administering body.

    \n
    GRC:
    \n

    See: Governance.

    \n
    guardian:
    \n

    A party that has been assigned rights and duties in a guardianship arrangement for the purpose of caring for, protecting, guarding, and defending the entity that is the dependent in that guardianship arrangement. In the context of decentralized digital trust infrastructure, a guardian is issued guardianship credentials into their own digital wallet in order to perform such actions on behalf of the dependent as are required by this role.

    \n
    guardianship arrangement:
    \n

    A guardianship arrangement (in a jurisdiction) is the specification of a set of rights and duties between legal entities of the jurisdiction that enforces these rights and duties, for the purpose of caring for, protecting, guarding, and defending one or more of these entities. At a minimum, the entities participating in a guardianship arrangement are the guardian and the dependent.

    \n
    guardianship credential:
    \n

    A digital credential issued by a governing body to a guardian to empower the guardian to undertake the rights and duties of a guardianship arrangement on behalf of a dependent.

    \n
    hardware security module:
    \n

    A physical computing device that provides tamper-evident and intrusion-resistant safeguarding and management of digital keys and other secrets, as well as crypto-processing.

    \n
    hash:
    \n

    The result of applying a hash function to a message.

    \n
    hash function:
    \n

    An algorithm that computes a numerical value (called the hash value) on a data file or electronic message that is used to represent that file or message, and depends on the entire contents of the file or message. A hash function can be considered to be a fingerprint of the file or message. Approved hash functions satisfy the following properties: one-way (it is computationally infeasible to find any input that maps to any pre-specified output); and collision resistant (it is computationally infeasible to find any two distinct inputs that map to the same output).

    \n
    holder (of a claim or credential):
    \n

    A role an agent performs by serving as the controller of the cryptographic keys and digital credentials in a digital wallet. The holder makes issuance requests for credentials and responds to presentation requests for credentials. A holder is usually, but not always, a subject of the credentials they are holding.

    \n
    holder binding:
    \n

    The process of creating and verifying a relationship between the holder of a digital wallet and the wallet itself. Holder binding is related to but NOT the same as subject binding.

    \n
    host:
    \n

    A host is any hardware device that has the capability of permitting access to a network via a user interface, specialized software, network address, protocol stack, or any other means. Some examples include, but are not limited to, computers, personal electronic devices, thin clients, and multi-functional devices.

    \n
    hourglass model:
    \n

    An architectural model for layered systems—and specifically for the protocol layers in a protocol stack—in which a diversity of supporting protocols and services at the lower layers are able to support a great diversity of protocols and applications at the higher layers through the use of a single protocol in the spanning layer in the middle—the “neck” of the hourglass.

    \n
    HSM:
    \n

    See: hardware security module.

    \n
    human auditability:
    \n

    See: human auditable.

    \n
    human auditable:
    \n

    A process or procedure whose compliance with the policies in a trust framework or governance framework can only be verified by a human performing an audit. Human auditability is a primary goal of the ToIP Governance Stack.

    \n
    human experience:
    \n

    The processes, patterns and rituals of acquiring knowledge or skill from doing, seeing, or feeling things as a natural person. In the context of decentralized digital trust infrastructure, the direct experience of a natural person using trust applications to make trust decisions within one or more digital trust ecosystems.

    \n
    human-readable:
    \n

    Information that can be processed by a human but that is not intended to be machine-readable.

    \n
    human trust:
    \n

    A level of assurance in a trust relationship that can be achieved only via human evaluation of applicable trust factors.

    \n
    IAL:
    \n

    See: identity assurance level.

    \n
    identification:
    \n

    The action of a party obtaining the set of identity data necessary to serve as that party’s identity for a specific entity.

    \n
    identifier:
    \n

    A single attribute—typically a character string—that uniquely identifies an entity within a specific context (which may be a global context). Examples include the name of a party the URL of an organization, or a serial number for a man-made thing.

    \n
    identity:
    \n

    A collection of attributes or other identity data that describe an entity and enable it to be distinguished from all other entities within a specific scope of identification. Identity attributes may include one or more identifiers for an entity, however it is possible to establish an identity without using identifiers.

    \n
    identity assurance level:
    \n

    A category that conveys the degree of confidence that a person’s claimed identity is their real identity, for example as defined in NIST SP 800-63-3 in terms of three levels: IAL 1 (Some confidence), IAL 2 (High confidence), IAL 3 (Very high confidence).

    \n
    identity binding:
    \n

    The process of associating a set of identity data, such as a credential, with its subject, such as a natural person. The strength of an identity binding is one factor in determining an authenticator assurance level.

    \n
    identity data:
    \n

    The set of data held by a party in order to provide an identity for a specific entity.

    \n
    identity document:
    \n

    A physical or digital document containing identity data. A credential is a specialized form of identity document. Birth certificates, bank statements, and utility bills can all be considered identity documents.

    \n
    identity proofing:
    \n

    The process of a party gathering sufficient identity data to establish an identity for a particular subject at a particular identity assurance level.

    \n
    identity provider:
    \n

    An identity provider (abbreviated IdP or IDP) is a system entity that creates, maintains, and manages identity information for principals and also provides authentication services to relying applications within a federation or distributed network.

    \n
    IDP:
    \n

    See: identity provider.

    \n
    impersonation:
    \n

    In the context of cybersecurity, impersonation is when an attacker pretends to be another person in order to commit fraud or some other digital crime.

    \n
    integrity (of a data structure):
    \n

    In IT security, data integrity means maintaining and assuring the accuracy and completeness of data over its entire lifecycle. This means that data cannot be modified in an unauthorized or undetected manner.

    \n
    intermediary system:
    \n

    A system that operates at ToIP Layer 2, the trust spanning layer of the ToIP stack, in order to route ToIP messages between endpoint systems. A supporting system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    Internet Protocol:
    \n

    The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite (also known as the TCP/IP suite) for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. IP has the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information.

    \n
    Internet protocol suite:
    \n

    The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and the Internet Protocol (IP).

    \n
    IP:
    \n

    See: Internet Protocol.

    \n
    IP address:
    \n

    An Internet Protocol address (IP address) is a numerical label such as 192.0.2.1 that is connected to a computer network that uses the Internet Protocol for communication. An IP address serves two main functions: network interface identification, and location addressing.

    \n
    issuance:
    \n

    The action of an issuer producing and transmitting a digital credential to a holder. A holder may request issuance by submitting an issuance request.

    \n
    issuance request:
    \n

    A protocol request invoked by the holder of a digital wallet to obtain a digital credential from an issuer.

    \n
    issuer (of a claim or credential):
    \n

    A role an agent performs to package and digitally sign a set of claims, typically in the form of a digital credential, and transmit them to a holder.

    \n
    jurisdiction:
    \n

    The composition of: a) a legal system (legislation, enforcement thereof, and conflict resolution), b) a party that governs that legal system, c) a scope within which that legal system is operational, and d) one or more objectives for the purpose of which the legal system is operated.

    \n
    KATE:
    \n

    See: keys-at-the-edge.

    \n
    KERI:
    \n

    See: Key Event Receipt Infrastructure.

    \n
    key:
    \n

    See: cryptographic key.

    \n
    key establishment:
    \n

    A process that results in the sharing of a key between two or more entities, either by transporting a key from one entity to another (key transport) or generating a key from information shared by the entities (key agreement).

    \n
    key event:
    \n

    An event in the history of the usage of a cryptographic key pair. There are multiple types of key events. The inception event is when the key pair is first generated. A rotation event is when the key pair is changed to a new key pair. In some key management systems (such as KERI), key events are tracked in a key event log.

    \n
    key event log:
    \n

    An ordered sequence of records of key events.

    \n
    Key Event Receipt Infrastructure:
    \n

    A decentralized permissionless key management architecture.

    \n
    key management system:
    \n

    A system for the management of cryptographic keys and their metadata (e.g., generation, distribution, storage, backup, archive, recovery, use, revocation, and destruction). An automated key management system may be used to oversee, automate, and secure the key management process. A key management is often protected by implementing it within the trusted execution environment (TEE) of a device. An example is the Secure Enclave on Apple iOS devices.

    \n
    keys-at-the-edge:
    \n

    A key management architecture in which keys are stored on a user’s local edge devices, such as a smartphone, tablet, or laptop, and then used in conjunction with a secure protocol to unlock a key management system (KMS) and/or a digital vault in the cloud. This approach can enable the storage and sharing of large data structures that are not feasible on edge devices. This architecture can also be used in conjunction with confidential computing to enable cloud-based digital agents to safely carry out “user not present” operations.

    \n
    KMS:
    \n

    See: key management system.

    \n
    knowledge:
    \n

    The (intangible) sum of what is known by a specific party, as well as the familiarity, awareness or understanding of someone or something by that party.

    \n
    Laws of Identity:
    \n

    A set of seven “laws” written by Kim Cameron, former Chief Identity Architect of Microsoft (1941-2021), to describe the dynamics that cause digital identity systems to succeed or fail in various contexts. His goal was to define the requirements for a unifying identity metasystem that can offer the Internet the identity layer it needs.

    \n
    Layer 1:
    \n

    See: ToIP Layer 1.

    \n
    Layer 2:
    \n

    See: ToIP Layer 2.

    \n
    Layer 3:
    \n

    See: ToIP Layer 3.

    \n
    Layer 4:
    \n

    See: ToIP Layer 4.

    \n
    legal entity:
    \n

    An entity that is not a natural person but is recognized as having legal rights and responsibilities. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments. (In some cases even natural systems such as rivers are treated as legal entities.)

    \n
    Legal Entity Identifier:
    \n

    The Legal Entity Identifier (LEI) is a unique global identifier for legal entities participating in financial transactions. Also known as an LEI code or LEI number, its purpose is to help identify legal entities on a globally accessible database. Legal entities are organisations such as companies or government entities that participate in financial transactions.

    \n
    legal identity:
    \n

    A set of identity data considered authoritative to identify a party for purposes of legal accountability under one or more jurisdictions.

    \n
    legal person:
    \n

    In law, a legal person is any person or ‘thing’ that can do the things a human person is usually able to do in law – such as enter into contracts, sue and be sued, own property, and so on.[3][4][5] The reason for the term “legal person” is that some legal persons are not people: companies and corporations are “persons” legally speaking (they can legally do most of the things an ordinary person can do), but they are not people in a literal sense (human beings).

    \n
    legal system:
    \n

    A system in which policies and rules are defined, and mechanisms for their enforcement and conflict resolution are (implicitly or explicitly) specified. Legal systems are not just defined by governments; they can also be defined by a governance framework.

    \n
    LEI:
    \n

    See: Legal Entity Identifier.

    \n
    level of assurance:
    \n

    See: assurance level.

    \n
    liveness detection:
    \n

    Any technique used to detect a presentation attack by determining whether the source of a biometric sample is a live human being or a fake representation. This is typically accomplished using algorithms that analyze biometric sensor data to detect whether the source is live or reproduced.

    \n
    locus of control:
    \n

    The set of computing systems under a party’s direct control, where messages and data do not cross trust boundaries.

    \n
    machine-readable:
    \n

    Information written in a computer language or expression language so that it can be read and processed by a computing device.

    \n
    man-made thing:
    \n

    Athing generated by human activity of some kind. Man-made things include both active things, such as cars or drones, and passive things, such as chairs or trousers.

    \n
    mandatory:
    \n

    A requirement that must be implemented in order for an implementer to be in compliance. In ToIP governance frameworks, a mandatory requirement is expressed using a MUST or REQUIRED keyword as defined in IETF RFC 2119.

    \n
    metadata:
    \n

    Information describing the characteristics of data including, for example, structural metadata describing data structures (e.g., data format, syntax, and semantics) and descriptive metadata describing data contents (e.g., information security labels).

    \n
    message:
    \n

    A discrete unit of communication intended by the source for consumption by some recipient or group of recipients.

    \n
    mobile deep link:
    \n

    In the context of mobile apps, deep linking consists of using a uniform resource identifier (URI) that links to a specific location within a mobile app rather than simply launching the app. Deferred deep linking allows users to deep link to content even if the app is not already installed. Depending on the mobile device platform, the URI required to trigger the app may be different.

    \n
    MPC:
    \n

    See: multi-party computation.

    \n
    multicast:
    \n

    In computer networking, multicast is group communication where data transmission is addressed (using a multicast address) to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with physical layer point-to-multipoint communication.

    \n
    multicast address:
    \n

    A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service.

    \n
    multi-party computation:
    \n

    Secure multi-party computation (also known as secure computation, multi-party computation (MPC) or privacy-preserving computation) is a subfield of cryptography with the goal of creating methods for parties to jointly compute a function over their inputs while keeping those inputs private. Unlike traditional cryptographic tasks, where cryptography assures security and integrity of communication or storage and the adversary is outside the system of participants (an eavesdropper on the sender and receiver), the cryptography in this model protects participants’ privacy from each other.

    \n
    multi-party control:
    \n

    A variant of multi-party computation where multiple parties must act in concert to meet a control requirement without revealing each other’s data. All parties are privy to the output of the control, but no party learns anything about the others.

    \n
    multi-signature:
    \n

    A cryptographic signature scheme where the process of signing information (e.g., a transaction) is distributed among multiple private keys.

    \n
    natural person:
    \n

    A person (in legal meaning, i.e., one who has its own legal personality) that is an individual human being, distinguished from the broader category of a legal person, which may be a private (i.e., business entity or non-governmental organization) or public (i.e., government) organization.

    \n
    natural thing:
    \n

    A thing that exists in the natural world independently of humans. Although natural things may form part of a man-made thing, natural things are mutually exclusive with man-made things.

    \n
    network address:
    \n

    A network address is an identifier for a node or host on a telecommunications network. Network addresses are designed to be unique identifiers across the network, although some networks allow for local, private addresses, or locally administered addresses that may not be unique. Special network addresses are allocated as broadcast or multicast addresses. A network address designed to address a single device is called a unicast address.

    \n
    node:
    \n

    In telecommunications networks, a node (Latin: nodus, ‘knot’) is either a redistribution point or a communication endpoint. The definition of a node depends on the network and protocol layer referred to. A physical network node is an electronic device that is attached to a network, and is capable of creating, receiving, or transmitting information over a communication channel.

    \n
    non-custodial wallet:
    \n

    A digital wallet that is directly in the control of the holder, usually because the holder is the device controller of the device hosting the digital wallet (smartcard, smartphone, tablet, laptop, desktop, car, etc.) A digital wallet that is in the custody of a third party is called a custodial wallet.

    \n
    objective:
    \n

    Something toward which a party (its owner) directs effort (an aim, goal, or end of action).

    \n
    OOBI:
    \n

    See: out-of-band introduction.

    \n
    OpenWallet Foundation:
    \n

    A non-profit project of the Linux Foundation chartered to build a world-class open source wallet engine.

    \n
    operational circumstances:
    \n

    In the context of privacy protection, this term denotes the context in which privacy trade-off decisions are made. It includes the regulatory environment and other non-technical factors that bear on what reasonable privacy expectations might be.

    \n
    optional:
    \n

    A requirement that is not mandatory or recommended to implement in order for an implementer to be in compliance, but which is left to the implementer’s choice. In ToIP governance frameworks, an optional requirement is expressed using a MAY or OPTIONAL keyword as defined in IETF RFC 2119.

    \n
    organization:
    \n

    A party that consists of a group of parties who agree to be organized into a specific form in order to better achieve a common set of objectives. Examples include corporations, partnerships, sole proprietorships, non-profit organizations, associations, and governments.

    \n
    organizational authority:
    \n

    A type of authority where the party asserting its right is an organization.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    owner (of an entity):
    \n

    The role that a party performs when it is exercising its legal, rightful or natural title to control a specific entity.

    \n
    P2P:
    \n

    See: peer-to-peer.

    \n
    party:
    \n

    An entity that sets its objectives, maintains its knowledge, and uses that knowledge to pursue its objectives in an autonomous (sovereign) manner. Humans and organizations are the typical examples.

    \n
    password:
    \n

    A string of characters (letters, numbers and other symbols) that are used to authenticate an identity, verify access authorization or derive cryptographic keys.

    \n
    peer:
    \n

    In the context of digital networks, an actor on the network that has the same status, privileges, and communications options as the other actors on the network.

    \n
    peer-to-peer:
    \n

    Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. This forms a peer-to-peer network of nodes.

    \n
    permission
    \n

    Authorization to perform some action on a system.

    \n
    persistent connection:
    \n

    A connection that is able to persist across multiple communication sessions. In a ToIP context, a persistent connection is established when two ToIP endpoints exchange verifiable identifiers that they can use to re-establish the connection with each other whenever it is needed.

    \n
    personal data:
    \n

    Any information relating to an identified or identifiable natural person (called a data subject under GDPR).

    \n
    personal data store:
    \n

    See: personal data vault.

    \n
    personal data vault:
    \n

    A digital vault whose controller is a natural person.

    \n
    personal wallet:
    \n

    A digital wallet whose holder is a natural person.

    \n
    personally identifiable information:
    \n

    Information (any form of data) that can be used to directly or indirectly identify or re-identify an individual person either singly or in combination within a single record or in correlation with other records. This information can be one or more attributes/fields/properties in a record (e.g., date-of-birth) or one or more records (e.g., medical records).

    \n
    physical credential:
    \n

    A credential in a physical form such as paper, plastic, or metal.

    \n
    PII:
    \n

    See: personally identifiable information.

    \n
    PKI:
    \n

    See: public key infrastructure.

    \n
    plaintext:
    \n

    Unencrypted information that may be input to an encryption operation. Once encrypted, it becomes ciphertext.

    \n
    policy
    \n

    Statements, rules or assertions that specify the correct or expected behavior of an entity.

    \n
    PoP:
    \n

    See: proof of personhood.

    \n
    presentation:
    \n

    A verifiable message that a holder may send to a verifier containing proofs of one or more claims derived from one or more digital credentials from one or more issuers as a response to a specific presentation request from a  verifier.

    \n
    presentation attack:
    \n

    A type of cybersecurity attack in which the attacker attempts to defeat a biometric liveness detection system by providing false inputs.

    \n
    presentation request:
    \n

    A protocol request sent by the verifier to the holder of a digital wallet to request a presentation.

    \n
    primary document:
    \n

    The governance document at the root of a governance framework. The primary document specifies the other controlled documents in the governance framework.

    \n
    principal:
    \n

    The party for whom, or on behalf of whom, an actor is executing an action (this actor is then called an agent of that party).

    \n
    Principles of SSI:
    \n

    A set of principles for self-sovereign identity systems originally defined by the Sovrin Foundation and republished by the ToIP Foundation.

    \n
    privacy policy:
    \n

    A statement or legal document (in privacy law) that discloses some or all of the ways a party gathers, uses, discloses, and manages a customer or client’s data.

    \n
    private key:
    \n

    In public key cryptography, the cryptographic key which must be kept secret by the controller in order to maintain security.

    \n
    proof:
    \n

    A digital object that enables cryptographic verification of either: a) the claims from one or more digital credentials, or b) facts about claims that do not reveal the data itself (e.g., proof of the subject being over/under a specific age without revealing a birthdate).

    \n
    proof of control:
    \n

    See: proof of possession.

    \n
    proof of personhood:
    \n

    Proof of personhood (PoP) is a means of resisting malicious attacks on peer-to-peer networks, particularly, attacks that utilize multiple fake identities, otherwise known as a Sybil attack. Decentralized online platforms are particularly vulnerable to such attacks by their very nature, as notionally democratic and responsive to large voting blocks. In PoP, each unique human participant obtains one equal unit of voting power, and any associated rewards.

    \n
    proof of possession:
    \n

    A verification process whereby a level of assurance is obtained that the owner of a key pair actually controls the private key associated with the public key.

    \n
    proof of presence:
    \n

    See: liveness detection.

    \n
    property:
    \n

    In the context of digital communication, an attribute of a digital object or data structure, such as a DID document or a schema.

    \n
    protected data:
    \n

    Data that is not publicly available but requires some type of access control to gain access.

    \n
    protocol layer:
    \n

    In modern protocol design, protocols are layered to form a protocol stack. Layering is a design principle that divides the protocol design task into smaller steps, each of which accomplishes a specific part, interacting with the other parts of the protocol only in a small number of well-defined ways. Layering allows the parts of a protocol to be designed and tested without a combinatorial explosion of cases, keeping each design relatively simple.

    \n
    protocol stack:
    \n

    The protocol stack or network stack is an implementation of a computer networking protocol suite or protocol family. Some of these terms are used interchangeably but strictly speaking, the suite is the definition of the communication protocols, and the stack is the software implementation of them.

    \n
    pseudonym:
    \n

    A pseudonym is a fictitious name that a person assumes for a particular purpose, which differs from their original or true name (orthonym). This also differs from a new name that entirely or legally replaces an individual’s own. Many pseudonym holders use pseudonyms because they wish to remain anonymous, but anonymity is difficult to achieve and often fraught with legal issues.

    \n
    public key:
    \n

    Drummond Reed: In public key cryptography, the cryptographic key that can be freely shared with anyone by the controller without compromising security. A party’s public key must be verified as authoritative in order to verify their digital signature.

    \n
    public key certificate:
    \n

    A set of data that uniquely identifies a public key (which has a corresponding private key) and an owner that is authorized to use the key pair. The certificate contains the owner’s public key and possibly other information and is digitally signed by a certification authority (i.e., a trusted party), thereby binding the public key to the owner.

    \n
    public key cryptography:
    \n

    Public key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic algorithms based on mathematical problems termed one-way functions. Security of public key cryptography depends on keeping the private key secret; the public key can be openly distributed without compromising security.

    \n
    public key infrastructure:
    \n

    A set of policies, processes, server platforms, software and workstations used for the purpose of administering certificates and public-private key pairs, including the ability to issue, maintain, and revoke public key certificates. The PKI includes the hierarchy of certificate authorities that allow for the deployment of digital certificates that support encryption, digital signature and authentication to meet business and security requirements.

    \n
    QR code:
    \n

    A QR code (short for “quick-response code”) is a type of two-dimensional matrix barcode—a machine-readable optical image that contains information specific to the identified item. In practice, QR codes contain data for a locator, an identifier, and web tracking.

    \n
    RBAC:
    \n

    See: role-based access control.

    \n
    real world identity
    \n

    A term used to describe the opposite of digital identity, i.e., an identity (typically for a person) in the physical instead of the digital world.

    \n
    recommended:
    \n

    A requirement that is not mandatory to implement in order for an implementer to be in compliance, but which should be implemented unless the implementer has a good reason. In ToIP governance frameworks, a recommendation is expressed using a SHOULD or RECOMMENDED keyword as defined in IETF RFC 2119.

    \n
    record:
    \n

    A uniquely identifiable entry or listing in a database or registry.

    \n
    registrant:
    \n

    The party submitting a registration record to a registry.

    \n
    registrar:
    \n

    The party who performs registration on behalf of a registrant.

    \n
    registration:
    \n

    The process by which a registrant submits a record to a registry.

    \n
    registry:
    \n

    A specialized database of records that serves as an authoritative source of information about entities.

    \n
    relationship context:
    \n

    A context established within the boundary of a trust relationship.

    \n
    relying party:
    \n

    A party who consumes claims or trust graphs from other parties (such as issuers, holders, and trust registries) in order to make a trust decision.

    \n
    reputation:
    \n

    The reputation or prestige of a social entity (a person, a social group, an organization, or a place) is an opinion about that entity – typically developed as a result of social evaluation on a set of criteria, such as behavior or performance.

    \n
    reputation graph:
    \n

    A graph of the reputation relationships between different entities in a trust community. In a digital trust ecosystem, the governing body may be one trust root of a reputation graph. In some cases, a reputation graph can be traversed by making queries to one or more trust registries.

    \n
    reputation system:
    \n

    Reputation systems are programs or algorithms that allow users to rate each other in online communities in order to build trust through reputation. Some common uses of these systems can be found on e-commerce websites such as eBay, Amazon.com, and Etsy as well as online advice communities such as Stack Exchange.

    \n
    requirement:
    \n

    A specified condition or behavior to which a system needs to comply. Technical requirements are defined in technical specifications and implemented in computer systems to be executed by software actors. Governance requirements are defined in governance documents that specify policies and procedures to be executed by human actors. In ToIP architecture, requirements are expressed using the keywords defined in Internet RFC 2119.

    \n
    requirement:
    \n

    A specified condition or behavior to which a system needs to comply. Technical requirements are defined in technical specifications and implemented in computer systems to be executed by software actors. Governance requirements are defined in governance documents that specify policies and procedures to be executed by human actors. In ToIP architecture, requirements are expressed using the keywords defined in Internet RFC 2119.

    \n
    revocation:
    \n

    In the context of digital credentials, revocation is an event signifying that the issuer no longer attests to the validity of a credential they have issued. In the context of cryptographic keys, revocation is an event signifying that the controller no longer attests to the validity of a public/private key pair for which the controller is authoritative.

    \n
    risk:
    \n

    The effects that uncertainty (i.e. a lack of information, understanding or knowledge of events, their consequences or likelihoods) can have on the intended realization of an objectiveof a party.

    \n
    risk assessment:
    \n

    The process of identifying risks to organizational operations (including mission, functions, image, reputation), organizational assets, individuals, other organizations, and the overall ecosystem, resulting from the operation of an information system. Risk assessment is part of risk management, incorporates threat and vulnerability analyses, and considers risk mitigations provided by security controls planned or in place.

    \n
    risk decision:
    \n

    See: trust decision.

    \n
    risk management:
    \n

    The process of managing risks to organizational operations (including mission, functions, image, or reputation), organizational assets, or individuals resulting from the operation of an information system, and includes: (i) the conduct of a risk assessment; (ii) the implementation of a risk mitigation strategy; and (iii) employment of techniques and procedures for the continuous monitoring of the security state of the information system.

    \n
    risk mitigation:
    \n

    Prioritizing, evaluating, and implementing the appropriate risk-reducing controls/countermeasures recommended from the risk management process.

    \n
    role:
    \n

    A defined set of characteristics that an entity has in some context, such as responsibilities it may have, actions (behaviors) it may execute, or pieces of knowledge that it is expected to have in that context, which are referenced by a specific role name.

    \n
    role-based access control:
    \n

    Access control based on user roles (i.e., a collection of access authorizations a user receives based on an explicit or implicit assumption of a given role). Role permissions may be inherited through a role hierarchy and typically reflect the permissions needed to perform defined functions within an organization. A given role may apply to a single individual or to several individuals.

    \n
    role credential:
    \n

    A credential claiming that the subject has a specific role.

    \n
    router:
    \n

    A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions between networks and on the global Internet. Data sent through a network, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node. This process is called routing.

    \n
    routing:
    \n

    Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone network (PSTN), and computer networks, such as the Internet. A router is a computing device that specializes in performing routing.

    \n
    rule:
    \n

    A prescribed guide for conduct, process or action to achieve a defined result or objective. Rules may be human-readable or machine-readable or both.

    \n
    RWI:
    \n

    See: real world identity.

    \n
    schema:
    \n

    A framework, pattern, or set of rules for enforcing a specific structure on a digital object or a set of digital data. There are many types of schemas, e.g., data schema, credential verification schema, database schema.

    \n
    scope:
    \n

    In the context of terminology, scope refers to the set of possible concepts within which: a) a specific term is intended to uniquely identify a concept, or b) a specific glossary is intended to identify a set of concepts. In the context of identification, scope refers to the set of possible entities within which a specific entity must be uniquely identified. In the context of specifications, scope refers to the set of problems (the problem space) within which the specification is intended to specify solutions.

    \n
    SCID:
    \n

    See: self-certifying identifier.

    \n
    second party:
    \n

    The party with whom a first party engages to form a trust relationship, establish a connection, or execute a transaction.

    \n
    Secure Enclave:
    \n

    A coprocessor on Apple iOS devices that serves as a trusted execution environment.

    \n
    secure multi-party computation:
    \n

    See: multi-party computation.

    \n
    Secure Sockets Layer:
    \n

    The original transport layer security protocol developed by Netscape and partners. Now deprecated in favor of Transport Layer Security (TLS).

    \n
    security domain:
    \n

    An environment or context that includes a set of system resources and a set of system entities that have the right to access the resources as defined by a common security policy, security model, or security architecture.

    \n
    security policy:
    \n

    A set of policies and rules that governs all aspects of security-relevant system and system element behavior.

    \n
    self-asserted:
    \n

    A term used to describe a claim or a credential whose subject is also the issuer.

    \n
    self-certified:
    \n

    When a party provides its own certification that it is compliant with a set of requirements, such as a governance framework.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.\n~ Also known as: autonomous identifier.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.\n~ Also known as: autonomous identifier.

    \n
    self-sovereign identity:
    \n

    A decentralized identity architecture that implements the Principles of SSI.

    \n
    sensitive data:
    \n

    Personal data that a reasonable person would view from a privacy protection standpoint as requiring special care above and beyond other personal data.

    \n
    session:
    \n

    See: communication session.

    \n
    sociotechnical system:
    \n

    An approach to complex organizational work design that recognizes the interaction between people and technology in workplaces. The term also refers to coherent systems of human relations, technical objects, and cybernetic processes that inhere to large, complex infrastructures. Social society, and its constituent substructures, qualify as complex sociotechnical systems.

    \n
    software agent:
    \n

    In computer science, a software agent is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin agere (to do): an agreement to act on one’s behalf. A user agent is a specific type of software agent that is used directly by an end-user as the principal.

    \n
    Sovrin Foundation:
    \n

    A 501 ©(4) nonprofit organization established to administer the governance framework governing the Sovrin Network, a public service utility enabling self-sovereign identity on the internet. The Sovrin Foundation is an independent organization that is responsible for ensuring the Sovrin identity system is public and globally accessible.

    \n
    spanning layer:
    \n

    A specific layer within a protocol stack that consists of a single protocol explicitly designed to provide interoperability between the protocols layers above it and below it.

    \n
    specification:
    \n

    See: technical specification.

    \n
    SSI:
    \n

    See: self-sovereign identity.

    \n
    SSL:
    \n

    See: Secure Sockets Layer.

    \n
    stream:
    \n

    In the context of digital communications, and in particular streaming media, a flow of data delivered in a continuous manner from a server to a client rather than in discrete messages.

    \n
    streaming media:
    \n

    Streaming media is multimedia for playback using an offline or online media player. Technically, the stream is delivered and consumed in a continuous manner from a client, with little or no intermediate storage in network elements. Streaming refers to the delivery method of content, rather than the content itself.

    \n
    subject:
    \n

    The entity described by one or more claims, particularly in the context of digital credentials.

    \n
    subscription:
    \n

    In the context of decentralized digital trust infrastructure, a subscription is an agreement between a first digital agent—the publisher—to automatically send a second digital agent—the subscriber—a message when a specific type of event happens in the wallet or vault managed by the first digital agent.

    \n
    supporting system:
    \n

    A system that operates at ToIP Layer 1, the trust support layer of the ToIP stack. A supporting system is one of three types of systems defined in the ToIP Technology Architecture Specification.

    \n
    Sybil attack:
    \n

    A Sybil attack is a type of attack on a computer network service in which an attacker subverts the service’s reputation system by creating a large number of pseudonymous identities and uses them to gain a disproportionately large influence. It is named after the subject of the book Sybil, a case study of a woman diagnosed with dissociative identity disorder.

    \n
    system of record:
    \n

    A system of record (SOR) or source system of record (SSoR) is a data management term for an information storage system (commonly implemented on a computer system running a database management system) that is the authoritative data source for a given data element or piece of information.

    \n
    tamper resistant:
    \n

    A process which makes alterations to the data difficult (hard to perform), costly (expensive to perform), or both.

    \n
    TCP:
    \n

    See: Transmission Control Protocol.

    \n
    TCP/IP:
    \n

    See: Internet Protocol Suite.

    \n
    TCP/IP stack:
    \n

    The protocol stack implementing the TCP/IP suite.

    \n
    technical requirement:
    \n

    A requirement for a hardware or software component or system. In the context of decentralized digital trust infrastructure, technical requirements are a subset of governance requirements. Technical requirements are often specified in a technical specification.

    \n
    technical specification:
    \n

    A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behavior, or other characteristics of a system or component and often the procedures for determining whether these provisions have been satisfied.

    \n
    technical trust:
    \n

    A level of assurance in a trust relationship that can be achieved only via technical means such as hardware, software, network protocols, and cryptography. Cryptographic trust is a specialized type of technical trust.

    \n
    TEE:
    \n

    See: trusted execution environment.

    \n
    term:
    \n

    A unit of text (i.e., a word or phrase) that is used in a particular context or scope to refer to a concept (or a relation between concepts, or a property of a concept).

    \n
    terminology:
    \n

    Terminology is a group of specialized words and respective meanings in a particular field, and also the study of such terms and their use; the latter meaning is also known as terminology science. A term is a word, compound word, or multi-word expressions that in specific contexts is given specific meanings—these may deviate from the meanings the same words have in other contexts and in everyday language.[2] Terminology is a discipline that studies, among other things, the development of such terms and their interrelationships within a specialized domain. Terminology differs from lexicography, as it involves the study of concepts, conceptual systems and their labels (terms), whereas lexicography studies words and their meanings.

    \n
    terms community:
    \n

    A group of parties who share the need for a common terminology.

    \n
    terms wiki:
    \n

    A wiki website used by a terms community to input, maintain, and publish its terminology. The ToIP Foundation Concepts and Terminology Working Group has established a simple template for GitHub-based terms wikis.

    \n
    thing:
    \n

    An entity that is neither a natural person nor an organization and thus cannot be a party. A thing may be a natural thing or a man-made thing.

    \n
    third party:
    \n

    A party that is not directly involved in the trust relationship between a first party and a second party, but provides supporting services to either or both of them.

    \n
    three party model:
    \n

    The issuer—holder—verifier model used by all types of physical credentials and digital credentials to enable transitive trust decisions.

    \n
    timestamp:
    \n

    A token or packet of information that is used to provide assurance of timeliness; the timestamp contains timestamped data, including a time, and a signature generated by a trusted timestamp authority (TTA).

    \n
    TLS:
    \n

    See: Transport Layer Security.

    \n
    ToIP:
    \n

    See: Trust Over IP

    \n
    ToIP application:
    \n

    A trust application that runs at ToIP Layer 4, the trust application layer.

    \n
    ToIP channel:
    \n

    See: VID relationship.

    \n
    ToIP communication:
    \n

    Communication that uses the ToIP stack to deliver ToIP messages between ToIP endpoints, optionally using ToIP intermediaries, to provide authenticity, confidentiality, and correlation privacy.

    \n
    ToIP connection:
    \n

    A connection formed using the ToIP Trust Spanning Protocol between two ToIP endpoints identified with verifiable identifiers. A ToIP connection is instantiated as one or more VID relationships.

    \n
    ToIP controller:
    \n

    The controller of a ToIP identifier.

    \n
    ToIP Foundation:
    \n

    A non-profit project of the Linux Foundation chartered to define an overall architecture for decentralized digital trust infrastructure known as the ToIP stack.

    \n
    ToIP endpoint:
    \n

    An endpoint that communicates via the ToIP Trust Spanning Protocol as described in the ToIP Technology Architecture Specification.

    \n
    ToIP Governance Architecture Specification:
    \n

    The specification defining the requirements for the ToIP Governance Stack published by the ToIP Foundation.

    \n
    ToIP governance framework:
    \n

    A governance framework that conforms to the requirements of the ToIP Governance Architecture Specification.

    \n
    ToIP Governance Metamodel:
    \n

    A structural model for ToIP governance frameworks that specifies the recommended governance documents that should be included depending on the objectives of the trust community.

    \n
    ToIP Governance Stack:
    \n

    The governance half of the four layer ToIP stack as defined by the ToIP Governance Architecture Specification.

    \n
    ToIP identifier:
    \n

    A verifiable identifier for an entity that is addressable using the ToIP stack.

    \n
    ToIP intermediary:
    \n

    See: intermediary system.

    \n
    ToIP layer:
    \n

    One of four protocol layers in the ToIP stack. The four layers are ToIP Layer 1, ToIP Layer 2, ToIP Layer 3, and ToIP Layer 4.

    \n
    ToIP Layer 1:
    \n

    The trust support layer of the ToIP stack, responsible for supporting the trust spanning protocol at ToIP Layer 2.

    \n
    ToIP Layer 2:
    \n

    The trust spanning layer of the ToIP stack, responsible for enabling the trust task protocols at ToIP Layer 3.

    \n
    ToIP Layer 3:
    \n

    The trust task layer of the ToIP stack, responsible for enabling trust applications at ToIP Layer 4.

    \n
    ToIP Layer 4:
    \n

    The trust application layer of the ToIP stack, where end users have the direct human experience of using applications that call trust task protocols to engage in trust relationships and make trust decisions using ToIP decentralized digital trust infrastructure.

    \n
    ToIP message:
    \n

    A message communicated between ToIP endpoints using the ToIP stack.

    \n
    ToIP specification:
    \n

    A specification published by the ToIP Foundation. Specifications may be in one of three states: Draft Deliverable, Working Group Approved Deliverable, or ToIP Approved Deliverables

    \n
    ToIP stack:
    \n

    The layered architecture for decentralized digital trust infrastructure defined by the ToIP Foundation. The ToIP stack is a dual stack consisting of two halves: the ToIP Technology Stack and the ToIP Governance Stack. The four layers in the ToIP stack are ToIP Layer 1, ToIP Layer 2, ToIP Layer 3, and ToIP Layer 4.

    \n
    ToIP system:
    \n

    A computing system that participates in the ToIP Technology Stack. There are three types of ToIP systems: endpoint systems, intermediary systems, and supporting systems.

    \n
    ToIP trust network:
    \n

    A trust network implemented using the ToIP stack.

    \n
    ToIP Technology Architecture Specification:
    \n

    The technical specification defining the requirements for the ToIP Technology Stack published by the ToIP Foundation.

    \n
    ToIP Technology Stack:
    \n

    The technology half of the four layer ToIP stack as defined by the ToIP Technology Architecture Specification.

    \n
    ToIP trust community:
    \n

    A trust community governed by a ToIP governance framework.

    \n
    ToIP Trust Registry Protocol:
    \n

    The open standard trust task protocol defined by the ToIP Foundation to perform the trust task of querying a trust registry. The ToIP Trust Registry Protocol operates at Layer 3 of the ToIP stack.

    \n
    ToIP Trust Spanning Protocol:
    \n

    The ToIP Layer 2 protocol for verifiable messaging that implements the trust spanning layer of the ToIP stack.  The ToIP Trust Spanning Protocol enables actors in different digital trust domains to interact in a similar way to how the Internet Protocol (IP) enables devices on different local area networks to exchange data.

    \n
    transaction:
    \n

    A discrete event between a user and a system that supports a business or programmatic purpose. A digital system may have multiple categories or types of transactions, which may require separate analysis within the overall digital identity risk assessment.

    \n
    transitive trust decision:
    \n

    A trust decision made by a first party about a second party or another entity based on information about the second party or the other entity that is obtained from one or more third parties.

    \n
    Transmission Control Protocol:
    \n

    The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.

    \n
    Transport Layer Security:
    \n

    Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and Voice over IP, but its use in securing HTTPS remains the most publicly visible. The TLS protocol aims primarily to provide security, including privacy (confidentiality), integrity, and authenticity through the use of cryptography, such as the use of certificates, between two or more communicating computer applications.

    \n
    tribal knowledge:
    \n

    Knowledge that is known within an “in-group” of people but unknown outside of it. A tribe, in this sense, is a group of people that share such a common knowledge.

    \n
    trust:
    \n

    A belief that an entity will behave in a predictable manner in specified circumstances. The entity may be a person, process, object or any combination of such components. The entity can be of any size from a single hardware component or software module, to a piece of equipment identified by make and model, to a site or location, to an organization, to a nation-state. Trust, while inherently a subjective determination, can be based on objective evidence and subjective elements. The objective grounds for trust can include for example, the results of information technology product testing and evaluation. Subjective belief, level of comfort, and experience may supplement (or even replace) objective evidence, or substitute for such evidence when it is unavailable. Trust is usually relative to a specific circumstance or situation (e.g., the amount of money involved in a transaction, the sensitivity or criticality of information, or whether safety is an issue with human lives at stake). Trust is generally not transitive (e.g., you trust a friend but not necessarily a friend of a friend). Finally, trust is generally earned, based on experience or measurement.

    \n
    trust anchor:
    \n

    See: trust root.

    \n
    trust application:
    \n

    An application that runs at ToIP Layer 4 in order to perform trust tasks or engage in other verifiable messaging using the ToIP stack.

    \n
    trust application layer:
    \n

    In the context of the ToIP stack, the trust application layer is ToIP Layer 4. Applications running at this layer call trust task protocols at ToIP Layer 3.

    \n
    trust assurance:
    \n

    A process that provides a level of assurance sufficient to make a particular trust decision.

    \n
    trust basis:
    \n

    The properties of a verifiable identifier or a ToIP system that enable a party to appraise it to determine a trust limit.

    \n
    trust boundary:
    \n

    The border of a trust domain.

    \n
    trust chain:
    \n

    A set of cryptographically verifiable links between digital credentials or other data containers that enable transitive trust decisions.

    \n
    trust community:
    \n

    A set of parties who collaborate to achieve a mutual set of trust objectives.

    \n
    trust community:
    \n

    A set of parties who collaborate to achieve a mutual set of trust objectives.

    \n
    trust context:
    \n

    The context in which a specific party makes a specific trust decision. Many different factors may be involved in establishing a trust context, such as: the relevant interaction or transaction; the presence or absence of existing trust relationships; the applicability of one or more governance frameworks; and the location, time, network, and/or devices involved. A trust context may be implicit or explicit; if explicit, it may be identified using an identifier. A ToIP governance framework an example of an explicit trust context identified by a ToIP identifier.

    \n
    trust decision:
    \n

    A decision that a party needs to make about whether to engage in a specific interaction or transaction with another entity that involves real or perceived risks.

    \n
    trust domain:
    \n

    A security domain defined by a computer hardware or software architecture, a security policy, or a trust community, typically via a trust framework or governance framework.

    \n
    trust ecosystem:
    \n

    See digital trust ecosystem.

    \n
    trust establishment:
    \n

    The process two or more parties go through to establish a trust relationship. In the context of decentralized digital trust infrastructure, trust establishment takes place at two levels. At the technical trust level, it includes some form of key establishment. At the human trust level, it may be accomplished via an out-of-band introduction, the exchange of digital credentials, queries to one or more trust registries, or evaluation of some combination of human-readable and machine-readable governance frameworks.

    \n
    trust framework:
    \n

    A term (most frequently used in the digital identity industry) to describe a governance framework for a digital identity system, especially a federation.

    \n
    trust graph:
    \n

    A data structure describing the trust relationship between two or more entities. A simple trust graph may be expressed as a trust list. More complex trust graphs can be recorded or registered in and queried from a trust registry. Trust graphs can also be expressed via trust chains and chained credentials. Trust graphs can enable verifiers to make transitive trust decisions.

    \n
    trust limit:
    \n

    A limit to the degree a party is willing to trust an entity in a specific trust relationship within a specific trust context.

    \n
    trust list:
    \n

    A one-dimensional trust graph in which an authoritative source publishes a list of entities that are trusted in a specific trust context. A trust list can be considered a simplified form of a trust registry.

    \n
    trust network:
    \n

    A network of parties who are connected via trust relationships conforming to requirements defined in a legal regulation, trust framework or governance framework. A trust network is more formal than a digital trust ecosystem; the latter may connect parties more loosely via transitive trust relationships and/or across multiple trust networks.

    \n
    trust objective:
    \n

    An objective shared by the parties in a trust community to establish and maintain trust relationships.

    \n
    Trust over IP:
    \n

    A term coined by John Jordan to describe the decentralized digital trust infrastructure made possible by the ToIP stack. A play on the term Voice over IP (abbreviated VoIP).

    \n
    trust registry:
    \n

    A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework.

    \n
    trust registry protocol:
    \n

    See: ToIP Trust Registry Protocol.

    \n
    trust relationship:
    \n

    A relationship between a party and an entity in which the party has decided to trust the entity in one or more trust contexts up to a trust limit.

    \n
    trust root:
    \n

    The authoritative source that serves as the origin of a trust chain.

    \n
    trust service provider:
    \n

    In the context of specific digital trust ecosystems, such as the European Union’s eIDAS regulations, a trust service provider (TSP) is a legal entity that provides specific trust support services as required by legal regulations, trust frameworks, or governance frameworks. In the larger context of ToIP infrastructure, a TSP is a provider of services based on the ToIP stack. Most generally, a TSP is to the trust layer for the Internet what an Internet service provider (ISP) is to the Internet layer.

    \n
    trust support:
    \n

    A system, protocol, or other infrastructure whose function is to facilitate the establishment and maintenance of trust relationships at higher protocol layers. In the ToIP stack, the trust support layer is Layer 1.

    \n
    trust support layer:
    \n

    In the context of the ToIP stack, the trust support layer is ToIP Layer 1. It supports the operations of the ToIP Trust Spanning Protocol at ToIP Layer 2.

    \n
    trust spanning layer:
    \n

    A spanning layer designed to span between different digital trust domains. In the ToIP stack, ToIP Layer 2 is the trust spanning layer.

    \n
    trust spanning protocol:
    \n

    See: ToIP Trust Spanning Protocol.

    \n
    trust task:
    \n

    A specific task that involves establishing, verifying, or maintaining trust relationships or exchanging verifiable messages or verifiable data that can be performed on behalf of a trust application by a trust task protocol at Layer 3 of the ToIP stack.

    \n
    trust task layer:
    \n

    In the context of the ToIP stack, the trust task layer is ToIP Layer 3. It supports trust applications operating at ToIP Layer 4.

    \n
    trust task protocol:
    \n

    A ToIP Layer 3 protocol that implements a specific trust task on behalf of a ToIP Layer 4 trust application.

    \n
    trust triangle:
    \n

    See: three-party model.

    \n
    trusted execution environment:
    \n

    A trusted execution environment (TEE) is a secure area of a main processor. It helps code and data loaded inside it to be protected with respect to confidentiality and integrity. Data integrity prevents unauthorized entities from outside the TEE from altering data, while code integrity prevents code in the TEE from being replaced or modified by unauthorized entities, which may also be the computer owner itself as in certain DRM schemes.

    \n
    trusted role:
    \n

    A role that performs restricted activities for an organization after meeting competence, security and background verification requirements for that role.

    \n
    trusted third party:
    \n

    In cryptography, a trusted third party (TTP) is an entity which facilitates interactions between two parties who both trust the third party; the third party reviews all critical transaction communications between the parties, based on the ease of creating fraudulent digital content. In TTP models, the relying parties use this trust to secure their own interactions. TTPs are common in any number of commercial transactions and in cryptographic digital transactions as well as cryptographic protocols, for example, a certificate authority (CA) would issue a digital certificate to one of the two parties in the next example. The CA then becomes the TTP to that certificate’s issuance. Likewise transactions that need a third party recordation would also need a third-party repository service of some kind.

    \n
    trusted timestamp authority:
    \n

    An authority that is trusted to provide accurate time information in the form of a timestamp.

    \n
    trustworthy:
    \n

    A property of an entity that has the attribute of trustworthiness.

    \n
    trustworthiness:
    \n

    An attribute of a person or organization that provides confidence to others of the qualifications, capabilities, and reliability of that entity to perform specific tasks and fulfill assigned responsibilities. Trustworthiness is also a characteristic of information technology products and systems. The attribute of trustworthiness, whether applied to people, processes, or technologies, can be measured, at least in relative terms if not quantitatively. The determination of trustworthiness plays a key role in establishing trust relationships among persons and organizations. The trust relationships are key factors in risk decisions made by senior leaders/executives.

    \n
    TSP:
    \n

    See: trust service provider, trust spanning protocol.

    \n
    TTA:
    \n

    See: trusted timestamp authority.

    \n
    TTP:
    \n

    See: trusted third party.

    \n
    UDP:
    \n

    See: User Datagram Protocol.

    \n
    unicast:
    \n

    In computer networking, unicast is a one-to-one transmission from one point in the network to another point; that is, one sender and one receiver, each identified by a network address (a unicast address). Unicast is in contrast to multicast and broadcast which are one-to-many transmissions. Internet Protocol unicast delivery methods such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are typically used.

    \n
    unicast address:
    \n

    A network address used for a unicast.

    \n
    user agent:
    \n

    A software agent that is used directly by the end-user as the principal. Browsers, email clients, and digital wallets are all examples of user agents.

    \n
    User Datagram Protocol:
    \n

    In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. Within an IP network, UDP does not require prior communication to set up communication channels or data paths.

    \n
    utility governance framework:
    \n

    A governance framework for a digital trust utility. A utility governance framework may be a component of or referenced by an ecosystem governance framework or a credential governance framework.

    \n
    validation:
    \n

    An action an agent (of a principal) performs to determine whether a digital object or set of data meets the requirements of a specific party.

    \n
    vault:
    \n

    See: digital vault.

    \n
    VC:
    \n

    See: verifiable credential.

    \n
    verifiability (of a digital object:
    \n

    The property of a digital object, assertion, claim, or communication, being verifiable.

    \n
    verifiability (of a digital object:
    \n

    The property of a digital object, assertion, claim, or communication, being verifiable.

    \n
    verifiability (of a digital object:
    \n

    The property of a digital object, assertion, claim, or communication, being verifiable.

    \n
    verifiable:
    \n

    In the context of digital communications infrastructure, the ability to determine the authenticity of a communication (e.g., sender, contents, claims, metadata, provenance), or the underlying sociotechnical infrastructure (e.g., governance, roles, policies, authorizations, certifications).

    \n
    verifiable credential:
    \n

    A standard data model and representation format for cryptographically-verifiable digital credentials as defined by the W3C Verifiable Credentials Data Model specification.

    \n
    verifiable data:
    \n

    Any digital data or object that is digitally signed in such a manner that it can be cryptographically verified.

    \n
    verifiable data registry:
    \n

    A registry that facilitates the creation, verification, updating, and/or deactivation of decentralized identifiers and DID documents. A verifiable data registry may also be used for other cryptographically-verifiable data structures such as verifiable credentials.

    \n
    verifiable identifier:
    \n

    An identifier over which the controller can provide cryptographic proof of control.

    \n
    verifiable identifier:
    \n

    An identifier over which the controller can provide cryptographic proof of control.

    \n
    verifiable message:
    \n

    A message communicated as verifiable data.

    \n
    verification:
    \n

    An action an agent (of a principal) performs to determine the authenticity of a claim or other digital object using a cryptographic key.

    \n
    verifier (of a claim or credential):
    \n

    A role an agent performs to perform verification of one or more proofs of the claims in a digital credential.

    \n
    VID:
    \n

    See ​​verifiable identifier.

    \n
    VID relationship:
    \n

    The communications relationship formed between two VIDs using the ToIP Trust Spanning Protocol. A particular feature of this protocol is its ability to establish as many VID relationships as needed to establish different relationship contexts between the communicating entities.

    \n
    VID-to-VID:
    \n

    The specialized type of peer-to-peer communications enabled by the ToIP Trust Spanning Protocol. Each pair of VIDs creates a unique VID relationship.

    \n
    virtual vault:
    \n

    A digital vault enclosed inside another digital vault by virtue of having its own verifiable identifier (VID) and its own set of encryption keys that are separate from those used to unlock the enclosing vault.

    \n
    Voice over IP:
    \n

    Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for voice calls for the delivery of voice communication sessions over Internet Protocol (IP) networks, such as the Internet.

    \n
    VoIP:
    \n

    See: Voice over IP.

    \n
    W3C Verifiable Credentials Data Model Specification:
    \n

    A W3C Recommendation defining a standard data model and representation format for cryptographically-verifiable digital credentials. Version 1.1 was published on 03 March 2022.

    \n
    wallet:
    \n

    See: digital wallet.

    \n
    wallet engine:
    \n

    The set of software components that form the core of a digital wallet, but which by themselves are not sufficient to deliver a fully functional wallet for use by a digital agent (of a principal). A wallet engine is to a digital wallet what a browser engine is to a web browser.

    \n
    witness:
    \n

    A computer system that receives, verifies, and stores proofs of key events for a verifiable identifier (especially an autonomous identifier). Each witness controls its own verifiable identifier used to sign key event messages stored by the witness. A witness may use any suitable computer system or database architecture, including a file, centralized database, distributed database, distributed ledger, or blockchain.

    \n
    zero-knowledge proof:
    \n

    A specific kind of cryptographic proof that proves facts about data to a verifier without revealing the underlying data itself. A common example is proving that a person is over or under a specific age without revealing the person’s exact birthdate.

    \n
    zero-knowledge service:
    \n

    In cloud computing, the term “zero-knowledge” refers to an online service that stores, transfers or manipulates data in a way that maintains a high level of confidentiality, where the data is only accessible to the data's owner (the client), and not to the service provider. This is achieved by encrypting the raw data at the client’s side or end-to-end (in case there is more than one client), without disclosing the password to the service provider. This means that neither the service provider, nor any third party that might intercept the data, can decrypt and access the data without prior permission, allowing the client a higher degree of privacy than would otherwise be possible. In addition, zero-knowledge services often strive to hold as little metadata as possible, holding only that data that is functionally needed by the service.

    \n
    zero-knowledge service provider:
    \n

    The provider of a zero-knowledge service that hosts encrypted data on behalf of the principal but does not have access to the private keys in order to be able to decrypt it.

    \n
    zero-trust architecture:
    \n

    A network security architecture based on the core design principle “never trust, always verify”, so that all actors are denied access to resources pending verification.

    \n
    ZKP:
    \n

    See: zero-knowledge proof.

    \n
    anonymous
    \n

    An adjective describing when the identity of a natural person or other actor is unknown.

    \n
    assurance level
    \n

    A level of confidence that may be relied on by others. Different types of assurance levels are defined for different types of trust assurance mechanisms. Examples include authenticator assurance level, federation assurance level, and identity assurance level.

    \n
    authorization
    \n

    The process of verifying that a requested action or service is approved for a specific entity.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    out-of-band introduction
    \n

    A process by which two or more entities exchange VIDs in order to form a cryptographically verifiable connection (e.g., a ToIP connection), such as by scanning a QR code (in person or remotely) or clicking a deep link.

    \n
    permission
    \n

    Authorization to perform some action on a system.

    \n
    policy
    \n

    Statements, rules or assertions that specify the correct or expected behavior of an entity.

    \n
    real world identity
    \n

    A term used to describe the opposite of digital identity, i.e., an identity (typically for a person) in the physical instead of the digital world.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.\n~ Also known as: autonomous identifier.

    \n
    self-certifying identifier
    \n

    A subclass of verifiable identifier that is cryptographically verifiable without the need to rely on any third party for verification because the identifier is cryptographically bound to the cryptographic keys from which it was generated.\n~ Also known as: autonomous identifier.

    \n
    NIST-CSRC
    \n

    NIST Computer Security Resource Center Glossary

    \n
    "]