GitHub

RSL License

Checks for a robots.txt License directive pointing to a valid RSL document

Checks for a License: directive in robots.txt pointing to a valid Really Simple Licensing (RSL) document, plus a matching rel="license" link on pages. RSL is a machine-readable licensing standard (v1.0, December 2025) that lets a site state usage terms — including AI-training terms and pay-per-crawl pricing — in a format crawlers can parse instead of a prose page a bot can’t act on.

Rule IDax/rsl-license
CategoryAgent Experience
ScopeSite-wide
Severitywarning (only when the declared license reference is broken; otherwise informational)
Weight1/10

What it checks

The audit looks for a License: line in robots.txt:

robots.txt
txt
License: https://example.com/license.xml

When present, it fetches the referenced document and validates it as well-formed RSL XML per the v1.0 schema (permissions, prohibitions, and optional payment terms). It also checks representative pages for a matching <link rel="license" href="..."> tag, which gives page-level tooling (not just crawler-level robots.txt readers) a path to the same terms.

Reported outcomes:

  • No License: directive: informational, no license declared.
  • License: present but the target doesn’t parse as valid RSL: a warning — a declared reference that is broken or malformed misleads the crawlers that honor it.
  • Valid RSL document found: informational summary of the declared terms.

Solution

Publish an RSL document describing your terms and reference it from robots.txt:

robots.txt
txt
User-agent: *
License: https://example.com/license.xml
license.xml
xml
<rsl xmlns="https://rslstandard.org/rsl">
  <content url="https://example.com/*">
    <license>
      <permits type="train-ai">false</permits>
      <permits type="ai-input">true</permits>
    </license>
  </content>
</rsl>

Add the matching rel="license" link to your page templates so both crawler-level and page-level tooling resolve to the same document.

Enable / Disable

Disable this rule

squirrel.toml
toml
[rules]
disable = ["ax/rsl-license"]

Disable all Agent Experience rules

squirrel.toml
toml
[rules]
disable = ["ax/*"]

Enable only this rule

squirrel.toml
toml
[rules]
enable = ["ax/rsl-license"]
disable = ["*"]

Type to search…

↑↓ navigate ↵ open esc close