<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-car-ai-txt-wellknown-00" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="ai-txt">AI.TXT: A Declaration File for AI Usage Preferences, Licensing, and Policy</title>
    <seriesInfo name="Internet-Draft" value="draft-car-ai-txt-wellknown-00"/>
    <author initials="K." surname="Cardillo" fullname="Kayla Cardillo">
      <organization>Independent</organization>
      <address>
        <email>contactkaylacard@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="12"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI policy</keyword>
    <keyword>well-known URI</keyword>
    <keyword>training policy</keyword>
    <keyword>content licensing</keyword>
    <keyword>machine learning</keyword>
    <abstract>
      <?line 77?>

<t>This document requests registration of two Well-Known URIs under the
"/.well-known/" path: "ai.txt" and "ai.json". These URIs define a structured,
machine-readable file in which a site operator can declare AI usage
preferences (training, scraping, indexing, caching), licensing terms,
required attribution, and per-agent rules.</t>
      <t>"ai.txt" is positioned as a structured attachment surface for AI
usage preferences in addition to robots.txt and HTTP-header carriage
proposed by the IETF AIPREF working group. As the AIPREF vocabulary
stabilizes, "ai.txt" can
carry those preferences in a typed, single-file form alongside the
broader licensing, attribution, and policy declarations defined in
this document.</t>
      <t>This format is complementary to "robots.txt" <xref target="ROBOTS"/>. Where
"robots.txt" can block crawling entirely, "ai.txt" expresses nuanced
policies such as "you may crawl but not train on this content" -- a
distinction that "robots.txt" alone cannot express.</t>
    </abstract>
  </front>
  <middle>
    <?line 98?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>AI systems increasingly interact with website content in ways that go
beyond traditional crawling: training language models on web content,
indexing content for retrieval-augmented generation, caching content
for future reference, and scraping data for analysis. Website
operators currently have no standard, machine-readable mechanism to
communicate their policies regarding these AI-specific uses.</t>
      <t>"robots.txt" <xref target="ROBOTS"/> can block crawling entirely, but it cannot
express nuanced policies. A newspaper may wish to allow crawling
(for search indexing) while prohibiting training (for model development).
A blog may wish to allow training under a specific license. A
corporation may wish to allow some AI agents while blocking others.</t>
      <t>"ai.txt" addresses this gap. It is a policy declaration file, served
at a well-known location, that communicates to AI systems:</t>
      <ul spacing="normal">
        <li>
          <t>Whether content may be used for AI model training</t>
        </li>
        <li>
          <t>Whether content may be scraped, indexed, or cached</t>
        </li>
        <li>
          <t>Under what license terms AI training is permitted</t>
        </li>
        <li>
          <t>Which AI agents are permitted and under what conditions</t>
        </li>
        <li>
          <t>What attribution and disclosure requirements apply</t>
        </li>
        <li>
          <t>What compliance and audit expectations exist</t>
        </li>
      </ul>
      <section anchor="relationship-to-existing-standards">
        <name>Relationship to Existing Standards</name>
        <t>"ai.txt" is complementary to, and does not replace, existing standards:</t>
        <dl>
          <dt>robots.txt <xref target="ROBOTS"/>:</dt>
          <dd>
            <t>Declares crawling restrictions. "ai.txt" adds training, licensing,
and per-agent policy declarations that "robots.txt" cannot express.
Both files may coexist.</t>
          </dd>
          <dt>agents.txt:</dt>
          <dd>
            <t>Declares AI agent capabilities (endpoints, protocols, auth).
"ai.txt" declares policy. A site may use both: "agents.txt" to
declare what agents can DO, and "ai.txt" to declare what is ALLOWED.</t>
          </dd>
          <dt>security.txt <xref target="RFC9116"/>:</dt>
          <dd>
            <t>Declares security vulnerability disclosure contacts. Similar
well-known file pattern; different domain.</t>
          </dd>
        </dl>
      </section>
      <section anchor="relationship-to-aipref">
        <name>Relationship to AIPREF</name>
        <t>The IETF AIPREF working group is developing a vocabulary
<xref target="AIPREF-VOCAB"/> for expressing AI usage preferences and an
attachment specification <xref target="AIPREF-ATTACH"/> for carrying those
preferences via robots.txt directives and HTTP response headers.</t>
        <t>"ai.txt" complements that work; it does not replace it. AIPREF
defines the vocabulary (the set of preference terms and their
semantics) and two carriage mechanisms (robots.txt and HTTP headers).
"ai.txt" is a third carriage mechanism -- a single, structured,
typed file -- that provides three properties not addressed by robots.txt
attachment or per-response headers:</t>
        <ul spacing="normal">
          <li>
            <t>Carriage of preferences for an entire site, independent of any
individual response or robots.txt path block.</t>
          </li>
          <li>
            <t>A single audit surface -- one file at one URL -- that can be fetched
once and cached for site-wide preference resolution.</t>
          </li>
          <li>
            <t>A place to declare preferences alongside related declarations
(licensing, attribution, per-agent rate limits) that fall outside
AIPREF's scope.</t>
          </li>
        </ul>
        <t>When the AIPREF vocabulary stabilizes, "ai.txt" implementations
SHOULD use AIPREF preference names where they apply. Implementations
SHOULD treat the preferences carried in "ai.txt" as equivalent in
authority to the same preferences carried via the AIPREF
robots.txt or HTTP-header mechanisms. Where multiple carriers
disagree for the same site and resource, conflict resolution is
out of scope for this document and may be addressed by future AIPREF
output.</t>
      </section>
      <section anchor="related-work">
        <name>Related Work</name>
        <t>The following efforts overlap with or are adjacent to this document.</t>
        <dl>
          <dt>Spawning ai.txt (2023) <xref target="SPAWNING-AITXT"/>:</dt>
          <dd>
            <t>An earlier file at "/ai.txt" published by Spawning Inc. for
text-and-data-mining opt-out, scoped narrowly to TDM permission
per file pattern. The format defined in this document is a strict
superset, covering training, scraping, indexing, caching,
per-agent rules, licensing, and attribution. The present document
acknowledges Spawning's prior
use of the name and positions itself as a successor declaration
surface rather than a competing one.</t>
          </dd>
          <dt>W3C TDM Reservation Protocol <xref target="TDMREP"/>:</dt>
          <dd>
            <t>Defines a "/.well-known/tdmrep.json" file for declaring text and
data mining reservations under EU Directive 2019/790. Adjacent in
domain (machine-readable opt-outs) but narrower in scope (TDM
reservation only). "ai.txt" can reference or coexist with
"tdmrep.json"; sites with TDM-only requirements MAY use
"tdmrep.json" alone.</t>
          </dd>
          <dt>Cloudflare Content Signals Policy <xref target="CF-CONTENT-SIGNALS"/>:</dt>
          <dd>
            <t>A robots.txt extension deployed at scale (millions of domains)
that adds AI-specific signals (search, ai-input, ai-train) to
robots.txt User-agent / Allow / Disallow records. Like AIPREF
attach, it carries preferences inside robots.txt. "ai.txt"
carries the same class of preferences -- plus licensing,
attribution, and per-agent metadata -- in a separate file. Sites
MAY publish both; their semantics SHOULD agree.</t>
          </dd>
          <dt>agents.txt:</dt>
          <dd>
            <t>A companion well-known file that declares what AI agents CAN do
on a site (sanctioned endpoints, protocols, authentication). Where
"ai.txt" expresses usage preferences and policy, "agents.txt"
expresses positive capability. They are designed to coexist.</t>
          </dd>
        </dl>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="the-aitxt-well-known-uri">
      <name>The "ai.txt" Well-Known URI</name>
      <section anchor="location">
        <name>Location</name>
        <t>The "ai.txt" file MUST be served at:</t>
        <artwork><![CDATA[
https://example.com/.well-known/ai.txt
]]></artwork>
        <t>The file MUST be served over HTTPS in production deployments. HTTP
is permitted only in development or testing environments.</t>
        <t>The file MUST be served with Content-Type "text/plain; charset=utf-8".</t>
      </section>
      <section anchor="format">
        <name>Format</name>
        <t>The "ai.txt" file uses a block-based key-value format inspired by
"robots.txt". Each line contains a key, a colon, and a value. Lines
beginning with "#" are comments. Indented lines (two or more spaces,
or one or more tabs) belong to the preceding block.</t>
        <t>A minimal "ai.txt" file:</t>
        <artwork><![CDATA[
# ai.txt
Spec-Version: 1.0
Site-Name: My Blog
Site-URL: https://myblog.com
Training: deny
]]></artwork>
      </section>
      <section anchor="site-fields">
        <name>Site Fields</name>
        <dl>
          <dt>Site-Name (REQUIRED):</dt>
          <dd>
            <t>Human-readable name of the site or service.</t>
          </dd>
          <dt>Site-URL (REQUIRED):</dt>
          <dd>
            <t>Canonical HTTPS URL of the site.</t>
          </dd>
          <dt>Spec-Version (OPTIONAL):</dt>
          <dd>
            <t>Version of the "ai.txt" specification the file conforms to
(e.g., "1.0"). This is a regular field, not a comment.</t>
          </dd>
          <dt>Generated-At (OPTIONAL):</dt>
          <dd>
            <t>ISO 8601 timestamp of when the file was generated. This is a
regular field, not a comment.</t>
          </dd>
          <dt>Description (OPTIONAL):</dt>
          <dd>
            <t>Brief description of the site.</t>
          </dd>
          <dt>Contact (OPTIONAL):</dt>
          <dd>
            <t>Contact email for AI policy inquiries.</t>
          </dd>
          <dt>Policy-URL (OPTIONAL):</dt>
          <dd>
            <t>URL to a human-readable AI policy page.</t>
          </dd>
        </dl>
      </section>
      <section anchor="content-policy-fields">
        <name>Content Policy Fields</name>
        <t>These fields declare site-wide defaults. Each accepts "allow" or
"deny". The value "conditional" is valid only for the Training
field, where it activates the per-path rules defined in the
Training Path Fields section; implementations encountering
"conditional" on any other field SHOULD treat it as "deny".</t>
        <dl>
          <dt>Training (OPTIONAL, default "deny"):</dt>
          <dd>
            <t>Whether AI systems may use content for model training.</t>
          </dd>
          <dt>Scraping (OPTIONAL, default "allow"):</dt>
          <dd>
            <t>Whether AI agents may scrape or read content.</t>
          </dd>
          <dt>Indexing (OPTIONAL, default "allow"):</dt>
          <dd>
            <t>Whether AI systems may index content for retrieval.</t>
          </dd>
          <dt>Caching (OPTIONAL, default "allow"):</dt>
          <dd>
            <t>Whether AI systems may cache content.</t>
          </dd>
        </dl>
      </section>
      <section anchor="training-path-fields">
        <name>Training Path Fields</name>
        <t>When Training is "conditional", these fields specify per-path rules:</t>
        <dl>
          <dt>Training-Allow (OPTIONAL):</dt>
          <dd>
            <t>Glob pattern for paths where training is permitted.</t>
          </dd>
          <dt>Training-Deny (OPTIONAL):</dt>
          <dd>
            <t>Glob pattern for paths where training is denied.</t>
          </dd>
        </dl>
        <t>Multiple Training-Allow and Training-Deny lines MAY appear.
More specific patterns take precedence.</t>
      </section>
      <section anchor="licensing-fields">
        <name>Licensing Fields</name>
        <dl>
          <dt>Training-License (OPTIONAL):</dt>
          <dd>
            <t>SPDX license identifier <xref target="SPDX"/> for AI training use
(e.g., "CC-BY-4.0").</t>
          </dd>
          <dt>Training-Fee (OPTIONAL):</dt>
          <dd>
            <t>URL to commercial licensing or pricing page.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agent-blocks">
        <name>Agent Blocks</name>
        <t>Agent blocks declare per-agent policy overrides. The wildcard "*"
sets the default for all agents.</t>
        <artwork><![CDATA[
Agent: *
  Rate-Limit: 60/minute

Agent: ClaudeBot
  Training: allow
  Rate-Limit: 200/minute

Agent: GPTBot
  Training: deny
  Scraping: deny
]]></artwork>
        <t>Agent identifiers SHOULD match the first token of the agent's
User-Agent header (case-insensitive).</t>
        <t>Fields within an Agent block:</t>
        <ul spacing="normal">
          <li>
            <t>Training, Scraping, Indexing, Caching: Override site-wide policy</t>
          </li>
          <li>
            <t>Rate-Limit: Advisory rate limit in "N/window" format (second,
minute, hour, day)</t>
          </li>
        </ul>
      </section>
      <section anchor="content-requirement-fields">
        <name>Content Requirement Fields</name>
        <dl>
          <dt>Attribution (OPTIONAL):</dt>
          <dd>
            <t>Whether AI outputs must attribute the source. One of: "required",
"recommended", "none".</t>
          </dd>
          <dt>AI-Disclosure (OPTIONAL):</dt>
          <dd>
            <t>Whether AI-generated content derived from this site must be
disclosed as AI-generated. One of: "required", "recommended",
"none".</t>
          </dd>
        </dl>
      </section>
      <section anchor="compliance-fields">
        <name>Compliance Fields</name>
        <dl>
          <dt>Audit (OPTIONAL):</dt>
          <dd>
            <t>Whether AI agents must provide audit receipts. One of: "required",
"optional", "none".</t>
          </dd>
          <dt>Audit-Format (OPTIONAL):</dt>
          <dd>
            <t>Expected audit format identifier (e.g., "rer-artifact/0.1").</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="the-aijson-well-known-uri">
      <name>The "ai.json" Well-Known URI</name>
      <section anchor="location-1">
        <name>Location</name>
        <t>The JSON companion file MUST be served at:</t>
        <artwork><![CDATA[
https://example.com/.well-known/ai.json
]]></artwork>
        <t>The file MUST be served with Content-Type
"application/json; charset=utf-8".</t>
      </section>
      <section anchor="format-1">
        <name>Format</name>
        <t>The JSON format contains equivalent information to "ai.txt" in a
typed JSON structure suitable for direct consumption by programmatic
clients. The "ai.txt" file MAY reference the JSON file via:</t>
        <artwork><![CDATA[
AI-JSON: https://example.com/.well-known/ai.json
]]></artwork>
        <t>A minimal "ai.json" document:</t>
        <sourcecode type="json"><![CDATA[
{
  "specVersion": "1.0",
  "site": {
    "name": "My Blog",
    "url": "https://myblog.com"
  },
  "policies": {
    "training": "deny",
    "scraping": "allow",
    "indexing": "allow",
    "caching": "allow"
  },
  "agents": {
    "*": {}
  }
}
]]></sourcecode>
        <t>Field semantics are identical to those defined in Section 2 for the
text format, with one structural difference: in the JSON form, the
"specVersion" member, the "policies" member (with all four of its
"training", "scraping", "indexing", and "caching" members), and the
"agents" member are REQUIRED. Defaults that the text format applies
implicitly MUST be stated explicitly in JSON documents.</t>
      </section>
    </section>
    <section anchor="agent-behavior">
      <name>Agent Behavior</name>
      <section anchor="discovery">
        <name>Discovery</name>
        <t>AI agents and crawlers SHOULD fetch "/.well-known/ai.txt" and/or
"/.well-known/ai.json" before interacting with an unfamiliar site.</t>
        <t>Agents SHOULD prefer the JSON format when both are available.</t>
        <t>Agents SHOULD cache the policy for the duration declared by the HTTP
Cache-Control header, with a minimum TTL of 60 seconds.</t>
      </section>
      <section anchor="compliance">
        <name>Compliance</name>
        <t>"ai.txt" is advisory. It declares the site owner's policy.
Compliance is expected in good faith but is not enforced by the
file itself.</t>
        <t>Agents SHOULD respect Training declarations by not using content
for model training when Training is "deny".</t>
        <t>Agents SHOULD respect rate limit declarations.</t>
        <t>Servers MUST enforce rate limits and access control independently
of the declarations in "ai.txt".</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Policy declarations MUST NOT include actual credentials, tokens, or
secrets of any kind.</t>
      <t>"ai.txt" is advisory; servers MUST enforce policies independently.</t>
      <t>Agents MUST validate that referenced URLs use HTTPS before following
them.</t>
      <t>Site owners SHOULD review their "ai.txt" periodically to ensure it
accurately reflects current policy.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="well-known-uri-registration-aitxt">
        <name>Well-Known URI Registration: "ai.txt"</name>
        <t>This document requests registration of the following Well-Known URI
in the "Well-Known URIs" registry established by <xref target="RFC8615"/>:</t>
        <dl>
          <dt>URI suffix:</dt>
          <dd>
            <t>ai.txt</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>Kayla Cardillo</t>
          </dd>
          <dt>Specification document(s):</dt>
          <dd>
            <t>This document.</t>
          </dd>
          <dt>Related information:</dt>
          <dd>
            <t>Text-format AI policy declaration file. Allows website operators
to declare their AI content policy - training permissions, licensing
terms, per-agent rules, and compliance requirements.</t>
          </dd>
        </dl>
      </section>
      <section anchor="well-known-uri-registration-aijson">
        <name>Well-Known URI Registration: "ai.json"</name>
        <t>This document requests registration of the following Well-Known URI
in the "Well-Known URIs" registry established by <xref target="RFC8615"/>:</t>
        <dl>
          <dt>URI suffix:</dt>
          <dd>
            <t>ai.json</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>Kayla Cardillo</t>
          </dd>
          <dt>Specification document(s):</dt>
          <dd>
            <t>This document.</t>
          </dd>
          <dt>Related information:</dt>
          <dd>
            <t>JSON-format AI policy declaration file. Companion format to ai.txt.</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9116">
          <front>
            <title>A File Format to Aid in Security Vulnerability Disclosure</title>
            <author initials="E." surname="Foudil">
              <organization/>
            </author>
            <author initials="Y." surname="Shafranovich">
              <organization/>
            </author>
            <date year="2022" month="April"/>
          </front>
        </reference>
        <reference anchor="ROBOTS" target="https://www.rfc-editor.org/rfc/rfc9309">
          <front>
            <title>Robots Exclusion Protocol</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="September"/>
          </front>
        </reference>
        <reference anchor="SPDX" target="https://spdx.org/licenses/">
          <front>
            <title>SPDX License List</title>
            <author>
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="AIPREF-VOCAB" target="https://datatracker.ietf.org/doc/draft-ietf-aipref-vocab/">
          <front>
            <title>A Vocabulary for Expressing AI Usage Preferences</title>
            <author>
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-aipref-vocab"/>
        </reference>
        <reference anchor="AIPREF-ATTACH" target="https://datatracker.ietf.org/doc/draft-ietf-aipref-attach/">
          <front>
            <title>Attaching AI Usage Preferences to Content</title>
            <author>
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-aipref-attach"/>
        </reference>
        <reference anchor="SPAWNING-AITXT" target="https://site.spawning.ai/spawning-ai-txt">
          <front>
            <title>ai.txt -- Generate ai.txt files for your website</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="TDMREP" target="https://www.w3.org/community/tdmrep/">
          <front>
            <title>TDM Reservation Protocol</title>
            <author>
              <organization/>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="CF-CONTENT-SIGNALS" target="https://blog.cloudflare.com/content-signals-policy/">
          <front>
            <title>Cloudflare Content Signals Policy</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 493?>

<section anchor="example-news-site">
      <name>Example: News Site</name>
      <artwork><![CDATA[
# ai.txt - AI Policy Declaration
Spec-Version: 1.0

Site-Name: News Daily
Site-URL: https://newsdaily.com
Contact: ai@newsdaily.com
Policy-URL: https://newsdaily.com/ai-policy

Training: conditional
Scraping: allow
Indexing: allow
Caching: allow

Training-Allow: /articles/free/*
Training-Deny: /articles/premium/*
Training-License: CC-BY-4.0
Training-Fee: https://newsdaily.com/ai-licensing

Agent: *
  Rate-Limit: 30/minute

Agent: ClaudeBot
  Training: allow
  Rate-Limit: 120/minute

Agent: GPTBot
  Training: deny

Attribution: required
AI-Disclosure: required
]]></artwork>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The "ai.txt" format draws on the design of "robots.txt" <xref target="ROBOTS"/>
and "security.txt" <xref target="RFC9116"/> for structural inspiration. The SPDX
license identifiers referenced in Training-License are maintained
by the Linux Foundation <xref target="SPDX"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81ba3Mbt5L9rir9BxTzIVKKQ0lO4hvTtVWXluREG1vyWnSc
fNoaDkES18MZ7mBGNK8r+e17uhvAYIaU4/uorXWVbXIeQKMfp083wCRJjo9q
U+d6rAaTm9H01+lYTdSVzvK0SmtTFuqlybValJWa3Kh3Nl1q9abSC13pItN2
qF6ZTBfWFMuhSou5elPmJtsNjo/S2azSD2OVmqT+WB8fzcusSNeYZl6lizrJ
0iqRW8lW5/mHotwWyfk5nktrPPTk/MnT5PxpcvHk+CjDlWVZ7cbKFIvy+Mhs
qrGqq8bWT87Pn53jibTSKcTebDA3C21Zlrc6zZOpWevjo21ZfVhWZbMZq5ti
rjca/xS1um9ma2Mt3jg+Oj76oHd4bj4+PlIqoeVueDHylaRMWEz17u2NXKur
1BRYeufBrCxqGjv3ipHL6zRbmUKrXKdVwVePj2wNMf87zcsCS95pS9c2huev
y8xdUsqWVQ2V2/bCbh19x/qbelVWTm5T4MbPI3WZVnOT5yVdVUp0/3O6y9Pe
nbJapoX5O+utox25rdepyce8qjSrP9AAsN38r0u6PsrKNQlQlNUaAzxoluHt
y8snFxfP/OcfLv7yXfj89OJ7//nZxcX5mN4ms/bex72nYxEgeKd44kt+FPpR
EzPHYtW9zprK1Dv1S5MXukpnJqdvV8ZmeWmbSg9knOBYT5Lz7+RSpDf643R3
PcIkDTTUu/7bSN2v0kWVFuWDyVYs6d2Lu+l9T9C35aysrbr+mOUNuRbipYQ5
y9wJUqfVUtdjtarrjR2fnW2321G1yBI9N3VZjWCPM3ylv8++PX+2Lzxfun9z
9WtvXrrkwlHjf1s/Mp/dzD/yLOKh2p715mDtTG7evL1+mfxydzl5sWeJX8os
nTWAiB0jw/XHTaUt+fpBkHhEDsyXIoKyD7oaGV0vWCbAxJkgBF0CRGDkRfJA
8/XFfCrfra6MtuRDwZA3iMCq0HVyRSN5yNkbMFrmZDqdXP7UX2ddc9AeXhW5
4KXE+r++wJSn+neuUEYUV5m8v725/TGZ3BC8d9eYmhEwWCWJ+lFT9NRauUsL
RJtl8+7KpgL+zayp9WM+hVsju0m3BG2j1Jz5z4nH/87CvqXv06vXb6/f9OTB
ReA2Vvwg2ecLYmf7LSsWULRuCoT+WT0HPG76ynxC3y9fJpd3t9Pr22lyf/Pj
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
B9LF3J9dluYqIvF/AQllNE9OQAAA

-->

</rfc>
