« All posts

RSL: Machine-Readable Licensing Beats Blocking AI Crawlers

RSL lets publishers license content for AI training with machine-readable XML instead of blocking crawlers — namespace, carriers, and 402 enforcement explained.

Disallowing GPTBot in robots.txt accomplishes little — the crawlers that matter either ignore the block or route around it. RSL (Really Simple Licensing), which reached 1.0 in December 2025 with roughly 1,500 publishers behind it including Reddit, Yahoo, Quora, O'Reilly, Medium, and Vox, offers an alternative: a machine-readable XML vocabulary that states what's permitted, what's prohibited, and what it costs to use your content.

The format has sharp edges worth knowing. If a usage token appears in both the permits and prohibits lists, prohibition wins. Get the namespace (https://rslstandard.org/rsl) even slightly wrong and a conformant parser silently treats the document as unrecognized XML — no error, just a license that quietly does nothing. Publishing through only one of the six carriers (robots.txt, HTTP Link header, HTML link tag, inline script, RSS module, /.well-known/rsl.xml) misses crawlers that check a different one, and a max-age that's expired relative to your last content change is a staleness bug worth a CI check.

Critically, RSL is a declaration layer only — it doesn't block anyone or collect payment. Enforcement lives in a separate layer, typically an HTTP 402 Payment Required toll implemented via emerging middleware built on the x402 scheme: a crawler hits the content, gets a 402, pays, and retries with proof. RSL's payment block can point directly at that protocol, letting declaration and enforcement compose cleanly. On the JS/TS side, the open-source rsl-licensing library automates building, validating, and emitting RSL documents across all six carriers.