Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Traceability Vocabulary Specification



This specification describes a Linked Data vocabulary for asserting Verifiable Credentials related to traceability information, such as chemical properties, mechanical properties, country of origin, and other attributes used to determine the status of products and materials in a supply chain.

We encourage contributions meeting the Contribution Guidelines. While we prefer the creation of Issues and Pull Requests in the GitHub repository, discussions often occur on the public-credentials mailing list as well, and at regular public meetings (see below).

Latest Spec

Meetings and Hosting

Meetings and hosting instructions are in traceability-interop/


See The basics are as follow:

npm i
npm run lint
npm run test
npm run build
npm run serve

Adding HTML to a Credential Definition

Add a tag to your schema:

title: Mill Test Report Credential
  - Steel
  - CATAIR // <-- your new tag

Update the section rendering logic to use that tag:

const htmlSectionSchemaTags = 'CATAIR';


let catair = ``;
    const {$id} = schema;
    if (schema.tags && schema.tags.includes(htmlSectionSchemaTags) ) {
      const htmlExtension = $id.split('/').pop().replace('.yml', '.html');
      catair = fs.readFileSync(path.resolve(
  const section = `
    <section id="${schema.$linkedData.term}">
      ${catair && `<section><h2>Table View</h2>${catair}</section>`}
      <pre class="example">${schema.example}</pre>

Any credentials with this tag MUST have an html section defined and named according to the example above.