<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="info" docName="draft-canel-robots-ai-control-01" ipr="trust200902" submissionType="IETF" updates="9309" xmlns:xi="http://www.w3.org/2001/XInclude">

  <front>
    <title>Robots Exclusion Protocol Extension to communicate AI preferences vocabulary</title>
    <author initials="F." surname="Canel" fullname="Fabrice Canel" role="editor">
      <organization>Microsoft Corporation</organization>
      <address>
        <postal>
          <street>One Microsoft Way</street>
          <city>Redmond</city>
          <region>WA</region>
          <code>98052</code>
          <country>United States</country>
        </postal>
        <email>facan@microsoft.com</email>
      </address>
    </author>
    <author initials="K." surname="Madhavan" fullname="Krishna Madhavan">
      <organization>Microsoft Corporation</organization>
      <address>
        <postal>
          <street>One Microsoft Way</street>
          <city>Redmond</city>
          <region>WA</region>
          <code>98052</code>
          <country>United States</country>
        </postal>
        <email>krmadhav@microsoft.com</email>
      </address>
    </author>
    <date day="04" month="April" year="2025"/>
    <area>Applications and Real-Time Area</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <abstract>
      <t>This document extends the RFC9309 by facilitating the communication of content usage specifically within the area of Artificial Intelligence (AI).</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Although the Robots Exclusion Protocol allows service owners to manage the access of automated clients, known as crawlers, to the URIs on their services as specified by [RFC8288], it does not offer any mechanisms to regulate how the data retrieved by these services can be used in the field of Artificial Intelligence (AI).</t>
      <t>Application developers are requested to honor these tags. The tags are not a form of access authorization however.</t>
    </section>

    <section title="Requirements Language">
      <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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.</t>
    </section>

    <section title="Specification">
      <section title="Robots Control Rules">
        <t>This RFC defines solely the communication method for the AI preference vocabulary, without detailing the vocabulary itself. The term AIPreferenceVocabularyTerm is a non-null string that serves as a placeholder for the AI preference vocabulary terms.</t>        
        <list>
          <t>DisallowAIPreferenceVocabularyTerm - These lines specify whether a URI and its associated data are prohibited to be used for the scenario outlined by this AI preference vocabulary term.</t>
          <t>AllowAIPreferenceVocabularyTerm - These lines specify whether a URI and its associated data are allowed to be used for the scenario outlined by this AI preference vocabulary term.</t>
        </list>
        <t>The values are case insensitive and honor the same matching and prioritization logic as existing Allow and Disallow robots.txt rules.</t>
      </section>

      <section title="Application Layer Response Header">
        <t>The same rules can also be set in the Application Layer Response Header X-Robots-Tag:</t>
        <list>
          <t>noAIPreferenceVocabularyTerm - instructs the parser that the data is prohibited to be used for the scenario outlined by this AI preference vocabulary term.</t>
          <t>AIPreferenceVocabularyTerm - instructs the parser that the data can be used for the scenario outlined by this AI preference vocabulary term.</t>
        </list>
        <t>The values are case insensitive and honor the same matching and prioritization logic defined for X-Robots-Tag.</t>
      </section>

      <section title="HTML Meta Element">
        <t>Same rules can also be set via an HTML meta tag (Meta Robots):</t>
        <list>
          <t>&lt;meta name="robots" content="noAIPreferenceVocabularyTerm"&gt;</t>
          <t>&lt;meta name="examplebot" content="AIPreferenceVocabularyTerm"&gt;</t>
        </list>
      </section>
    </section>

    <section title="IANA Considerations">
      <t>TODO: https://www.rfc-editor.org/rfc/rfc9110.html#name-field-name-registry</t>
    </section>
   </middle>
</rfc>
