Mapsoft TDMRep - User Guide

Overview

TDMRep stands for Text and Data Mining Reservation Protocol. It is a W3C standard that allows publishers and rights holders to embed a simple declaration inside a PDF stating whether AI systems and other automated tools are allowed to mine the document's content.

In plain terms: when an AI crawler encounters your PDF, it can read this declaration to know whether it is permitted to use your content for training or analysis — or whether it needs to contact you for a licence first.

Mapsoft TDMRep is a free Adobe Acrobat plug-in that makes it easy to set, check, and remove these declarations on individual PDFs or entire folders of documents.

What is TDMRep?

TDMRep (Text and Data Mining Reservation Protocol) is a W3C community standard that allows rights holders to express their TDM rights using two XMP metadata properties:

Property Values Description
tdm:reservation 0 or 1 0 = TDM rights are not reserved (mining is permitted).
1 = TDM rights are reserved (mining may require a licence).
tdm:policy URL Optional URL pointing to a machine-readable TDM policy set by the rights holder. Only meaningful when tdm:reservation is 1.

The namespace URI for TDMRep is http://www.w3.org/ns/tdmrep/.

Using the Plug-in

Setting TDM Reservation on a Single Document

  1. Open a PDF document in Adobe Acrobat.
  2. Go to Extensions > TDM Reservation > TDM Reservation...
  3. The dialog shows the current TDMRep status of the document (if any).
  4. Select a Reservation value:
  5. If reservation is set to 1, optionally enter a Policy URL pointing to your TDM licensing policy.
  6. Check Include PDF/A extension schema if you need the document to remain PDF/A compliant.
  7. Click Apply to write the metadata.
  8. Save the document.
Tip: Use the Remove button to strip all TDMRep metadata from the document.

Batch Processing Multiple Files

  1. Go to Extensions > TDM Reservation > TDM Reservation (Batch)...
  2. Add files using:
  3. Click Check Status to see the current TDMRep metadata for each file (displayed in the Reservation and Policy URL columns). This is read-only and does not modify any files.
  4. Configure the Reservation and Policy URL settings.
  5. Click Apply to All to process all files in the list.
  6. The progress bar shows processing status. A summary is displayed when complete.
Tip: Use Check Status to audit a folder of PDFs and see which ones already have TDMRep metadata before applying changes.
Note: Batch processing opens, modifies, and saves each file automatically. Make sure the files are not open in Acrobat or other applications. Consider backing up your files before batch processing.

Policy URL

When reservation is set to 1 (rights reserved), you can optionally provide a Policy URL that points to a machine-readable TDM licensing policy. This tells AI crawlers where to find your terms for text and data mining.

Policy Format

According to the W3C TDMRep specification, the policy must be served as application/json or application/ld+json and should follow a profile of the Open Digital Rights Language (ODRL) 2.2. A minimal policy looks like:

{
  "@context": [
    "http://www.w3.org/ns/odrl.jsonld",
    "http://www.w3.org/ns/tdmrep.jsonld"
  ],
  "@type": "Offer",
  "uid": "https://yourcompany.com/policies/tdm-policy.json",
  "profile": "http://www.w3.org/ns/tdmrep",
  "assigner": {
    "uid": "https://yourcompany.com",
    "vcard:fn": "Your Company Name",
    "vcard:hasEmail": "licensing@yourcompany.com"
  },
  "permission": [
    {
      "target": "https://yourcompany.com/",
      "action": "tdm:mine",
      "duty": [
        {
          "action": "obtainConsent"
        }
      ]
    }
  ]
}

Key Fields

Field Description
uid A unique identifier for this policy, typically the URL where the policy is hosted.
assigner The rights holder's details — name, email, and website.
permission What mining actions are allowed. The duty array specifies conditions such as obtainConsent (contact the publisher) or compensate (a licensing fee applies).

Hosting the Policy

Host the JSON file on your web server at a stable URL, for example:

Ensure the server returns a Content-Type of application/json. The URL should be long-lived, as it will be embedded in every PDF you process.

Tip: If you don't have a policy file yet, you can set reservation to 1 with no policy URL. This signals that TDM rights are reserved and crawlers should contact you for terms. You can add the policy URL later.
Note: The plug-in remembers your last-used policy URL, so you only need to type it once. It is stored in the Windows registry at HKEY_CURRENT_USER\Software\Mapsoft\TDMRep.

PDF/A Extension Schema

When the Include PDF/A extension schema option is checked, the plug-in embeds a PDF/A extension schema definition alongside the TDMRep properties. This is required for PDF/A documents, because PDF/A validators will raise errors if custom XMP properties are present without a corresponding schema definition.

The extension schema is based on the PDF Association's recommended TDMRep schema.

Technical Details

The plug-in writes TDMRep properties into the document's XMP metadata stream (the /Metadata entry in the document catalog). The XMP fragment looks like:

<rdf:Description rdf:about=""
      xmlns:tdm="http://www.w3.org/ns/tdmrep/">
   <tdm:reservation>1</tdm:reservation>
   <tdm:policy>https://example.com/policy.json</tdm:policy>
</rdf:Description>

When the extension schema is included, an additional rdf:Description block is added that describes the TDMRep namespace for PDF/A validators, following the pdfaExtension:schemas pattern.

Further Reading

About

Mapsoft TDMRep is a free plug-in from Mapsoft Computer Services Limited.

Version 1.0.0 — Copyright © 2026 Mapsoft Computer Services Limited.