Plugins

TDMAI Metadata

Preparing TDMAI Metadata for Declarations

This guide explains how to structure and prepare TDMAI (Text and Data Mining - Artificial Intelligence) metadata for use with the Liccium Declaration API according to the official TDMAI specification on https://tdmai.org.

Overview

TDMAI metadata enables content creators and rightsholders to make machine-readable declarations about how their digital content may or may not be used for automated processing, AI training, and related activities. When integrated with Liccium declarations, these preferences become cryptographically verifiable and globally discoverable through federated registries.

Core Concepts

Usage Categories

The TDMAI specification defines five distinct usage categories based on the IETF AI Preferences Vocabulary:

  • all – Automated Processing (top-level category covering all automated analysis)
  • train-ai – AI Training (general-purpose or task-specific AI model training)
  • train-genai – Generative AI Training (training models to produce synthetic content)
  • ai-use – AI Use/Inference (using content as input to trained AI models)
  • search – Search (using content in search engines or discovery applications)

Hierarchical Structure

Categories follow a strict inheritance hierarchy:

  • train-ai inherits from all
  • train-genai inherits from train-ai
  • ai-use and search are independent categories

Permission Values

Each category uses simple boolean values:

  • true - Usage is explicitly allowed
  • false - Usage is explicitly disallowed

JSON Structure

Required Fields

Every TDMAI declaration must include:

Code(json)
{ "iscc": "ISCC:EXAMPLE5QH7FTV7N5YVD5UMF4TUKFFGDGCOI4UDFKE4FNPW6C3L7J2Y" }
  • iscc: ISCC fingerprint of the content (must be generated according to the ISCC standard, ISO 24138:2024)

Optional Top-Level Fields

Code(json)
{ "intent": "activate", "summary": "Brief human-readable explanation", "policy": "Reference to legal/regulatory frameworks" }
  • intent: Purpose of declaration ("activate", "update", or "supercede")
  • summary: Human-readable explanation of usage rights
  • policy: Legal context or regulatory framework reference

Preparing Your Metadata

Step 1: Generate ISCC

Before creating TDMAI metadata, ensure you have a valid ISCC fingerprint for your content.

Step 2: Define Usage Preferences

Choose your approach for your AI preferences strategy:

Option A: Complete Opt-Out

Disallow all automated processing:

Code(json)
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "all": "false" }

Option B: Selective Permissions

Allow some uses while restricting gen-ai training:

Code(json)
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "all": "true", "train-genai": "false" }

Option C: Granular Control

Specify permissions for each category:

Code(json)
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "all": "true", "train-ai": "false", "train-genai": "false", "ai-use": "true", "search": "true" }

Step 3: Add Context (Optional)

Enhance your declaration with explanatory information:

Code(json)
{ "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "all": "true", "train-genai": "false", "intent": "activate", "summary": "Content may be used for analysis and non-generative AI training, but not for generative AI training", "policy": "Reservation made under Article 4(3) of EU Directive 2019/790 (CDSM Directive)" }

Embedding in Liccium Declarations

Plugin Structure

TDMAI metadata is embedded as a plugin within the Liccium declaration metadata:

Code(json)
{ "declarationMetadata": { "iscc": "ISCC:YOUR_CONTENT_FINGERPRINT", "plugins": { "tdmai": { "all": "true", "train-genai": "false", "summary": "Content usage preferences", "policy": "Legal framework reference" } } } }

Validation Checklist

Before submitting your declaration:

  • ISCC fingerprint is valid and matches your content
  • Usage permissions align with your rights and intentions
  • Hierarchical rules are respected (no conflicting permissions)
  • Summary clearly explains your preferences
  • Policy references are accurate and relevant
  • JSON structure is valid and follows TDMAI specification
  • Declaration is properly signed with valid credentials

Error Prevention

Common Mistakes to Avoid

  • Conflicting Permissions: Don't set all: "false" and train-ai: "true" together
  • Invalid ISCC: Ensure ISCC is properly formatted and corresponds to your content
  • Missing Signatures: All declarations must be cryptographically signed
  • Incomplete Hierarchy: Remember that opting out of parent categories affects children

Validation

Use the TDMAI JSON schema to validate your declarations before submission. The schema ensures structural correctness and logical consistency of your usage preferences.

Next Steps

  1. Generate ISCC fingerprints for your content
  2. Structure your TDMAI 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