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.
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/.
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.
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"
}
]
}
]
}
| 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). |
Host the JSON file on your web server at a stable URL, for example:
https://yourcompany.com/policies/tdm-policy.json
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.
HKEY_CURRENT_USER\Software\Mapsoft\TDMRep.
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.
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.
Mapsoft TDMRep is a free plug-in from Mapsoft Computer Services Limited.
Version 1.0.0 — Copyright © 2026 Mapsoft Computer Services Limited.