Liccium Developer Portal
Plugins

TDMrep Plugin

Preparing TDMrep Metadata for Declarations

This guide explains how to structure and prepare TDMrep metadata for use with the Liccium Declaration API according to the W3C TDM Reservation Protocol specification.

The TDM·AI registry aggregates AI preference signals across vocabularies. Declarations using the TDMrep vocabulary are published there alongside signals expressed through other supported formats.

Overview

TDMrep metadata enables content creators and rightsholders to make machine-readable declarations reserving their rights with respect to text and data mining (TDM) – including AI training. When integrated with Liccium declarations, these reservations become cryptographically verifiable and globally discoverable through federated registries, bound to content-derived ISCC fingerprints rather than domains or embedded file metadata.

Core Concepts

The TDMrep Vocabulary

The W3C TDMRep Community Group defines two vocabulary terms under https://www.w3.org/ns/tdmrep#:

  • tdm-reservation – a boolean indicating whether TDM rights are reserved (1) or not reserved (0) for the content.
  • tdm-policy – an optional URI pointing to a TDM Policy document (human-readable or machine-readable) that specifies the conditions under which content may be used for TDM purposes. Only meaningful when tdm-reservation is 1.

Why Registry-Based?

The TDMrep specification was originally designed for domain-based or asset-embedded signaling. Liccium extends this model to registry-based declarations: TDMrep terms are bound to ISCC fingerprints and published to federated registries. This means rights reservations remain accessible even when content is redistributed, metadata is stripped, or the original hosting location changes.

JSON Structure

Required Fields

Every TDMrep declaration must include a valid ISCC fingerprint:

JSONCode
{ "iscc": "ISCC:EXAMPLE5QH7FTV7N5YVD5UMF4TUKFFGDGCOI4UDFKE4FNPW6C3L7J2Y" }
  • iscc: ISCC fingerprint of the content, generated according to ISO 24138:2024.

Preparing Your Metadata

Step 1: Generate an ISCC

Before creating TDMrep metadata, generate a valid ISCC fingerprint for your content using any conformant ISCC generator.

Step 2: Define Your TDM Reservation

Option A: Reserve all TDM rights

No TDM or AI use is permitted without authorisation from the rightsholder:

JSONCode
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "tdm-reservation": 1 }

Reserve TDM rights and point to a document that specifies permitted uses or licensing terms:

JSONCode
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "tdm-reservation": 1, "tdm-policy": "https://example.com/tdm-policy" }
Option C: Explicitly declare no reservation

Signal that TDM use is permitted without contacting the rightsholder:

JSONCode
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "tdm-reservation": 0 }

Embedding in Liccium Declarations

TDMrep metadata is embedded as a plugin within the Liccium declaration metadata, alongside schema and context references for semantic validation:

JSONCode
{ "$schema": "https://w3id.org/liccium/schema/0.3.0.json", "@context": "https://w3id.org/liccium/context/0.3.0.json", "declarationMetadata": { "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "plugins": { "tdmrep": { "tdm-reservation": 1, "tdm-policy": "https://example.com/tdm-policy" } } } }

The $schema field links to the Liccium JSON Schema for validation. The @context field allows semantic web agents to interpret the declaration.

Validation Checklist

Before submitting your declaration:

  • ISCC fingerprint is valid and matches your content
  • tdm-reservation value reflects your actual rights and intentions
  • tdm-policy URL is accessible and resolves to a policy document (if provided)
  • JSON structure is valid and conforms to the Liccium schema
  • Declaration is properly signed with valid credentials

Error Prevention

Common mistakes to avoid:

  • Missing ISCC: Every declaration must include a valid ISCC fingerprint.
  • Invalid policy URL: If tdm-policy is provided, the URI must be a resolvable URL.
  • Omitting tdm-reservation: This field is required. A tdm-policy alone is not sufficient.
  • Missing signature: All declarations must be cryptographically signed before submission.

Next Steps

  1. Generate ISCC fingerprints for your content
  2. Structure your TDMrep metadata according to this guide
  3. Integrate the metadata into your Liccium declaration
  4. Submit the signed declaration via the Declaration API
  5. Verify publication to federated registries
Last modified on