# Sites with an invalid TDM reservation (TDMRep)

A site-wide report: one row per host, over the access rows the crawl emitted.

## What this report returns

TDMRep (W3C) is a machine-readable text-and-data-mining opt-out served at `/.well-known/tdmrep.json`; if it can't be parsed, TDM agents may treat the site as having no reservation at all.

A row appears here when any of these is wrong, worst first:

-   **Malformed Document**The file isn't a JSON array of rules as the spec requires, so no reservation is readable.**Fix** Serve an array, e.g. `[{"location": "/", "tdm-reservation": 1}]`.
-   **Invalid Reservation**`"tdm-reservation"` isn't the number 0 or 1 (a quoted `"1"`, another number, or a missing value is a protocol error), so the opt-out can't be interpreted.**Fix** Set the bare number 1 (reserved) or 0 (not reserved), unquoted.
-   **Missing Location**A rule omits its required `"location"` pattern, so agents can't tell which URLs the reservation covers.**Fix** Add a location to every rule (`"/"` covers the whole site).
-   **Invalid Policy**A `"tdm-policy"` is present but isn't an absolute http(s) URL, so an agent can't fetch the licensing policy it points to. The spec allows any URL; this is a readiness bar.**Fix** Use the policy page's full URL, e.g. `https://example.com/tdm-policy`.
-   **Insecure Policy**A rule's tdm-policy links a plain http:// URL, so the licence terms an agent is asked to honour can be altered on the way. A Lumar bar: TDMRep allows any URL.**Fix** Serve the policy over https and link `"tdm-policy": "https://example.com/tdm-policy.json"`.

Security checks are provisional; precision has not yet been measured. A clean row is not a security assessment.

## The columns it shows

Every defect this technology can carry is a column in the grid, worst first, so nothing is hidden behind a filter you have to know to apply.

-   Host`host`
-   TDMRep Valid`tdmRepValid`
-   TDMRep Conformance Issue Detected`tdmRepConformanceIssueDetected`
-   TDMRep Security Risk Detected`tdmRepSecurityRiskDetected`
-   TDMRep Findings`tdmRepFindings`
-   TDMRep Rule Count`tdmRepRuleCount`
-   TDMRep Invalid Policy Samples`tdmRepInvalidPolicySamples`
-   TDMRep Malformed Document`tdmRepMalformedDocument`
-   TDMRep Invalid Reservation`tdmRepInvalidReservation`
-   TDMRep Missing Location`tdmRepMissingLocation`
-   TDMRep Invalid Policy`tdmRepInvalidPolicy`
-   TDMRep Insecure Policy`tdmRepInsecurePolicy`
-   Ruleset Version`rulesetVersion`
-   Security Check Status`securityCheckStatus`
-   Related Security Frameworks`securityFrameworkReferences`

## About TDMRep

The W3C text and data mining reservation, used mainly by publishers.

[Read how TDMRep is checked](https://agentic-readiness.lumar.io/docs/access/tdm-rep), including the specification it is validated against and a worked correct and broken example.

## Running it

This report comes with Agentic Readiness in Lumar and appears on every crawl of any project that has it turned on. [See the whole set](https://agentic-readiness.lumar.io/scan-at-scale), or check a single URL with the [scanner on this site](https://agentic-readiness.lumar.io/), which runs the same code with no account.

[Get Lumar pricing →](https://www.lumar.io/pricing/)
