<?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.21 (Ruby 3.3.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-vaughan-aipref-vocab-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="AIPREF Vocab">Vocabulary for Expressing Content Preferences for AI Training</title>
    <seriesInfo name="Internet-Draft" value="draft-vaughan-aipref-vocab-00"/>
    <author fullname="Thom Vaughan">
      <organization>Common Crawl Foundation</organization>
      <address>
        <email>thom@commoncrawl.org</email>
      </address>
    </author>
    <date year="2025" month="January" day="20"/>
    <area/>
    <workgroup>AI Preferences</workgroup>
    <keyword>AI Preferences</keyword>
    <keyword>Opt-Out</keyword>
    <keyword>Vocabulary</keyword>
    <abstract>
      <?line 42?>

<t>This document proposes a vocabulary for expressing content preferences for rightsholders who wish to manage the use of their content in AI training. This vocabulary allows publishers to express preferences through metadata or content-delivery protocols. The vocabulary can be applied at different levels of granularity and incorporates preferences for permissions, usage scope, and data retention, providing a foundation for interoperability across various Internet protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://thunderpoot.github.io/draft-vaughan-aipref-vocab/draft-vaughan-aipref-vocab.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-vaughan-aipref-vocab/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        AI Preferences  mailing list (<eref target="mailto:ai-control@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ai-control/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ai-control/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/thunderpoot/draft-vaughan-aipref-vocab"/>.</t>
    </note>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>As AI models become more reliant on large-scale data (driven by scaling laws that link model performance to dataset size), content publishers seek ways to control how their content is used in training these models. This draft provides a vocabulary that enables publishers to signal preferences for AI training concerning their content.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="scope">
      <name>Scope</name>
      <t>The AI-PREF vocabulary is limited to expressing content preferences for AI training and does not include enforcement mechanisms or client authentication. Default opt-in or opt-out statuses are beyond the scope of this proposal, as it focuses solely on establishing a standard for signalling explicit preferences. In cases where no preferences are signalled, the decision on whether this constitutes an opt-in or opt-out should be determined at the policy level downstream.</t>
      <t>It is important to note that preference signals are advisory.</t>
    </section>
    <section anchor="vocabulary-elements-preference-signals">
      <name>Vocabulary Elements / Preference Signals</name>
      <section anchor="permission">
        <name>Permission</name>
        <t>Basic indicators of whether content can be used for AI training.</t>
        <ul spacing="normal">
          <li>
            <t><strong>allow_training</strong>: Boolean</t>
          </li>
          <li>
            <t><strong>restricted_training:</strong> public, non-commercial, internal, licensed</t>
          </li>
        </ul>
      </section>
      <section anchor="purpose">
        <name>Purpose</name>
        <t>Defines acceptable uses in training.</t>
        <ul spacing="normal">
          <li>
            <t><strong>purpose</strong>: String:
            </t>
            <ul spacing="normal">
              <li>
                <t><strong>generation</strong>: Creating models that are capable of generating content</t>
              </li>
              <li>
                <t><strong>embedding</strong>: Converting content to vector representations
                </t>
                <ul spacing="normal">
                  <li>
                    <t><strong>classification</strong>: Categorising or labelling content</t>
                  </li>
                  <li>
                    <t><strong>summary</strong>: Creating condensed versions of content</t>
                  </li>
                  <li>
                    <t><strong>paraphrase</strong>: Creating derivative versions of content</t>
                  </li>
                  <li>
                    <t><strong>quotation</strong>: Repetition of a passage or fragment of original content</t>
                  </li>
                  <li>
                    <t><strong>translation</strong>: Converting content between languages</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="temporal-restrictions">
        <name>Temporal Restrictions</name>
        <t>Specifies the date range for training use.</t>
        <ul spacing="normal">
          <li>
            <t><strong>effective_date</strong>: <tt>ISO 8601</tt> Date string</t>
          </li>
          <li>
            <t><strong>expiration_date</strong>: <tt>ISO 8601</tt> Date string</t>
          </li>
        </ul>
      </section>
      <section anchor="content-specific-granularity">
        <name>Content-Specific Granularity</name>
        <t>Defines the scope of applicability. Refers to the level at which preferences apply within the content.</t>
        <ul spacing="normal">
          <li>
            <t><strong>scope</strong>: global, content-specific, conditional</t>
          </li>
        </ul>
      </section>
      <section anchor="content-type">
        <name>Content Type</name>
        <t>Specifies content types the preference applies to.</t>
        <ul spacing="normal">
          <li>
            <t><strong>mime_type</strong>: text, image, video, audio, application, <xref target="RFC2046"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="derivative-content">
        <name>Derivative Content</name>
        <t>Allows or restricts derivatives like summaries.</t>
        <ul spacing="normal">
          <li>
            <t><strong>allow_derivatives</strong>: Boolean</t>
          </li>
          <li>
            <t><strong>derivative_type</strong>: summary, paraphrase, translation</t>
          </li>
        </ul>
      </section>
      <section anchor="data-retention">
        <name>Data Retention</name>
        <t>Defines content retention period post-training.</t>
        <ul spacing="normal">
          <li>
            <t><strong>retention_period</strong>: <tt>ISO 8601</tt> Duration string (e.g., P3Y6M4DT12H30M5S)</t>
          </li>
        </ul>
      </section>
      <section anchor="preference-persistence">
        <name>Preference Persistence</name>
        <t>Indicates if preferences should persist in derived datasets, or be optional. A derived dataset is the result of processing, transforming, or extracting information from the original source, such as aggregated statistics and summaries, or subsets of data.</t>
        <ul spacing="normal">
          <li>
            <t><strong>metadata_persistence</strong>: Boolean</t>
          </li>
        </ul>
      </section>
      <section anchor="precedence">
        <name>Precedence</name>
        <t>Conflicts should be resolved by assigning precedence values (e.g., <tt>high</tt>, <tt>medium</tt>, <tt>low</tt>) to rules, with a defined hierarchy that allows content producers to override publishers, domain operators, and others as necessary.</t>
        <ul spacing="normal">
          <li>
            <t><strong>precedence:</strong> Sets priority when preferences conflict with other layered preferences.</t>
          </li>
        </ul>
      </section>
      <section anchor="geographic-restrictions">
        <name>Geographic Restrictions</name>
        <t>Specifies regions where preferences apply, <tt>ISO 3166-1</tt>.</t>
        <ul spacing="normal">
          <li>
            <t><strong>geo_limitations:</strong> Specifies geographic regions where training permissions apply.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>Implementing the AI-PREF vocabulary effectively can be accomplished using various mechanisms, depending on the needs and existing infrastructure of content publishers. Approaches include, but are not limited to, using HTTP headers, possible extensions to <xref target="RFC9309"/> (<xref target="PURPOSE"/>), and (for example) &lt;meta&gt; tags and other embedded data (such as EXIF) for sub-document-level control.</t>
      <section anchor="http-headers">
        <name>HTTP Headers</name>
        <t>Publishers can use HTTP headers to communicate AI-PREF preferences directly in response to client requests. This approach allows fine-grained control and easy integration into existing server configurations.</t>
        <t><strong>Example header:</strong></t>
        <sourcecode type="http-message"><![CDATA[
AI-PREF: allow_training=true; purpose=generation,classification; retention_period=P3Y6M4DT12H30M5S
]]></sourcecode>
        <t>This header specifies that the content can be used for text generation and classification, with a retention period of 3 years, 6 months, 4 days, 12 hours, 30 minutes, and 5 seconds. The syntax and options should be carefully chosen to ensure compatibility with common web servers and clients.</t>
      </section>
      <section anchor="robots-exclusion-protocol-rep">
        <name>Robots Exclusion Protocol (REP)</name>
        <t>For publishers who already use REP (as defined in <eref target="https://datatracker.ietf.org/doc/rfc9309/">RFC9309</eref>), extending REP rules to include AI-PREF preferences could be beneficial.</t>
        <t>Example rule:</t>
        <artwork><![CDATA[
User-agent: *
Allow-Training: non-commercial
Purpose: embedding, summarisation
]]></artwork>
        <t>This REP rule specifies that all user agents are allowed to use the content for non-commercial AI training, limited to embedding and summarisation purposes. Further extensions to REP could specify additional constraints, such as geographic limitations or temporal restrictions.</t>
      </section>
      <section anchor="meta-tags-for-sub-document-level-control">
        <name>&lt;meta&gt; Tags for Sub-Document Level Control</name>
        <t>To specify AI-PREF preferences at the level of individual HTML documents or specific parts of a document, &lt;meta&gt; tags and HTML attributes can be used.</t>
        <t>Example &lt;meta&gt; tag:</t>
        <sourcecode type="html"><![CDATA[
<meta name="AI-PREF" content="allow_training=false; retention_period=0">
]]></sourcecode>
        <t>Example HTML attribute:</t>
        <sourcecode type="html"><![CDATA[
<div data-aipref="allow_training=false; retention_period=0">
]]></sourcecode>
        <t>The methods above specify that AI training is not allowed for the content of this document, with no retention period permitted. &lt;meta&gt; tags can be used to provide  specific content preferences for a specific piece of content, and thus provide a flexible way to manage AI training signals at a more granular level.</t>
      </section>
      <section anchor="well-known-locations">
        <name>“Well-Known” Locations</name>
        <t>According to <xref target="RFC8615"/>, “well-known” locations can serve metadata or configuration information that is easily discoverable by automated clients. AI-PREF preferences can be published at a “well-known” URL. There is already the Text and Data Mining Reservation Protocol (<eref target="https://www.w3.org/community/reports/tdmrep/CG-FINAL-tdmrep-20240510/">TDMRep</eref>) which has the same or overlapping intent.</t>
        <t>Example:</t>
        <artwork><![CDATA[
https://example.com/.well-known/aipref
]]></artwork>
        <t>At this URL, a JSON or other structured format can specify AI-PREF preferences for the entire domain or specific content types.</t>
        <t>Example JSON 1:</t>
        <sourcecode type="json"><![CDATA[
{
  "allow_training": false,
  "purpose": ["generation"],
  "retention_period": "0"
}
]]></sourcecode>
        <t>Example JSON 2:</t>
        <sourcecode type="json"><![CDATA[
{
  "version": "1.0",
  "resources": [
    {
      "path": "/videos/tutorial.mp4",
      "type": "video/mp4",
      "components": [
        {
          "name": "Introduction",
          "time-range": "00:00:00-00:01:00",
          "preferences": {
            "classification": "allowed",
            "embedding": "allowed"
          }
        },
        {
          "name": "Main Content",
          "time-range": "00:01:01-00:05:00",
          "preferences": {
            "generation": "prohibited",
            "summarization": "allowed"
          }
        }
      ]
    }
  ]
}
]]></sourcecode>
        <t>This approach simplifies discovery for automated clients and provides a centralised way to communicate content preferences across a domain.</t>
        <t>TDMRep Example:</t>
        <t>A rightsholder could expose a “well-known” TDMRep file at:</t>
        <t>https://example.com/.well-known/tdmrep</t>
        <t>Example TDMRep JSON Content:</t>
        <sourcecode type="json"><![CDATA[
{
  "version": "1.0",
  "license": "https://example.com/license",
  "contact": {
    "email": "tdm-support@example.com",
    "url": "https://example.com/contact"
  },
  "resources": [
    {
      "path": "/articles/",
      "type": "text/html",
      "restriction": "no-crawling"
    },
    {
      "path": "/api/data/",
      "type": "application/json",
      "restriction": "license-required"
    }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="embedded-metadata">
        <name>Embedded Metadata</name>
        <t>Preferences for multimodal data can be embedded directly into file metadata (such as EXIF or XMP) as self-contained control signals.  Compatibility and tamper resistance (e.g. signing) should be considered.</t>
        <t>Example EXIF:</t>
        <artwork><![CDATA[
AI-Pref-Allow-Training: false
AI-Pref-Purpose: embedding
AI-Pref-Retention-Period: 0
]]></artwork>
        <t>Example PDF Metadata Using XMP:</t>
        <sourcecode type="xml"><![CDATA[
<x:xmpmeta xmlns:x="adobe:ns:meta/">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
         xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:Rights>Text mining allowed; Data sharing restricted</dc:Rights>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
]]></sourcecode>
        <t>Preferences can be applied at the file level, or even to specific components (e.g., chapters in a PDF or frames in a video).</t>
        <t>Example WEBVTT:</t>
        <artwork><![CDATA[
WEBVTT

00:00:00.000 --> 00:01:00.000
Usage Preferences: allow_training=true; purpose=generation,classification

00:01:01.000 --> 00:05:00.000
Usage Preferences: allow_training=false;
]]></artwork>
      </section>
      <section anchor="content-credentials-iso-22144">
        <name>Content Credentials (ISO 22144)</name>
        <t>TBD</t>
      </section>
      <section anchor="iscc-iso-24138">
        <name>ISCC (ISO 24138)</name>
        <t>TBD</t>
      </section>
    </section>
    <section anchor="example-usage-scenarios">
      <name>Example Usage Scenarios</name>
      <t>TODO examples</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not affect the security of the Internet. AI-PREF preferences do not include enforcement mechanisms, which should be addressed by AI model developers. Publishers should be aware that preferences may not prevent unauthorised use and may rely on mutual agreements or legal protections.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document does not require any immediate IANA actions but may suggest future registry entries for the vocabulary terms to support interoperability.</t>
    </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="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC9309" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9309.xml">
          <front>
            <title>Robots Exclusion Protocol</title>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="G. Illyes" initials="G." surname="Illyes"/>
            <author fullname="H. Zeller" initials="H." surname="Zeller"/>
            <author fullname="L. Sassman" initials="L." surname="Sassman"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document specifies and extends the "Robots Exclusion Protocol" method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers. Specifically, it adds definition language for the protocol, instructions for handling errors, and instructions for caching.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9309"/>
          <seriesInfo name="DOI" value="10.17487/RFC9309"/>
        </reference>
        <reference anchor="RFC8615" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
          <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="PURPOSE">
          <front>
            <title>Robots Exclusion Protocol User Agent Purpose Extension</title>
            <author fullname="Gary Illyes" initials="G." surname="Illyes">
              <organization>Google LLC.</organization>
            </author>
            <date day="18" month="October" year="2024"/>
            <abstract>
              <t>   The Robots Exclusion Protocol defined in [RFC9309] specifies the
   user-agent rule for targeting automatic clients either by prefix
   matching their self-defined product token or by a global rule * that
   matches all clients.

   This document extends [RFC9309] by defining a new rule for targeting
   automatic clients based on the clients' purpose for accessing the
   service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-illyes-rep-purpose-00"/>
        </reference>
      </references>
    </references>
    <?line 370?>

<section anchor="t-signals">
      <name>Table of Preference Signals</name>
      <t>This table defines terms and values that specify metadata preferences for the use of content in AI training. Each term includes a description of its purpose and example values:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Values</th>
            <th align="left">Description</th>
            <th align="left">Example</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>allow_training</tt></td>
            <td align="left">Boolean</td>
            <td align="left">Basic indicator of whether content can be used for AI training</td>
            <td align="left">
              <tt>allow_training: false</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>purpose</tt></td>
            <td align="left">String: <tt>generation, classification, summarisation, embedding</tt>, etc</td>
            <td align="left">Defines acceptable applications for training e.g. fine-tuning, classification, summarisation, etc</td>
            <td align="left">
              <tt>purpose: classification, summarisation</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>effective_date</tt></td>
            <td align="left">Date string, <strong>ISO 8601</strong></td>
            <td align="left">Start date of when permissions take effect</td>
            <td align="left">
              <tt>effective_date: 2024-10-30T15:52:55.440238</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>expiration_date</tt></td>
            <td align="left">Date string, <strong>ISO 8601</strong></td>
            <td align="left">Date after which permissions no longer apply</td>
            <td align="left">
              <tt>expiration_date: 2024-10-30T15:52:55.440238</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>scope</tt></td>
            <td align="left">String: <tt>global, content-specific, conditional</tt></td>
            <td align="left">Defines whether the preferences apply universally, to specific content, or under certain conditions</td>
            <td align="left">
              <tt>scope: content-specific</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>mime_type</tt></td>
            <td align="left">
              <tt>text, image, video, audio</tt></td>
            <td align="left">Specifies the type(s) of content the preference applies to</td>
            <td align="left">
              <tt>mime_type: text, image</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>allow_derivatives</tt></td>
            <td align="left">Boolean</td>
            <td align="left">Indicates whether derivative works (summaries, paraphrasing) are allowed based on content</td>
            <td align="left">
              <tt>allow_derivatives: true</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>derivative_type</tt></td>
            <td align="left">String: <tt>summary, paraphrase, translation</tt></td>
            <td align="left">Lists permissible types is <tt>allow_derivatives</tt> is <tt>true</tt></td>
            <td align="left">
              <tt>derivative_type: summary, paraphrase</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>retention_period</tt></td>
            <td align="left">Duration string, <strong>ISO 8601</strong></td>
            <td align="left">Specifies how long content may be retained after use (e.g. after training).</td>
            <td align="left">
              <tt>P3Y6M4DT12H30M5S</tt> representing three years, six months, four days, twelve hours, thirty minutes, and five seconds.</td>
          </tr>
          <tr>
            <td align="left">
              <tt>preference_persistence</tt></td>
            <td align="left">Boolean</td>
            <td align="left">Whether preferences must persist with derived data, boolean for either <tt>required</tt> or <tt>optional</tt></td>
            <td align="left">
              <tt>preference_persistence: true</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>precedence</tt></td>
            <td align="left">
              <tt>String:high, medium, low</tt></td>
            <td align="left">Sets priority when preferences conflict with other layered preferences</td>
            <td align="left">
              <tt>precedence: high</tt></td>
          </tr>
          <tr>
            <td align="left">
              <tt>geo_limitations</tt></td>
            <td align="left">Location codes, <strong>ISO 3166</strong></td>
            <td align="left">Specifies geographic regions where training permissions apply</td>
            <td align="left">
              <tt>geo_limitations: EU, US</tt></td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <ul spacing="normal">
        <li>
          <t>Greg Lindahl</t>
        </li>
        <li>
          <t>Sebastian Nagel</t>
        </li>
        <li>
          <t>Gary Illyes</t>
        </li>
        <li>
          <t>Mark Nottingham</t>
        </li>
        <li>
          <t>Suresh Krishnan</t>
        </li>
        <li>
          <t>Martin Thomson</t>
        </li>
        <li>
          <t>Paul Keller</t>
        </li>
        <li>
          <t>Leonard Rosenthol</t>
        </li>
        <li>
          <t>Special thanks to the program committee and contributing members of the IAB AI-CONTROL Workshop, and aipref Working Group.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61b63LbxpL+j6eYpf9IKoIXSfbajO1ElmRbG8nSSnRyUnEq
GgJDEkcgwIOLKMZWKu+wf3er9ln2UfIk+3XPDDAgKdsndapSEQjMpaevX/e0
fd/3iqiI1UC0fkgDOSpjmS3FOM3E8d08U3keJRNxmCaFSgpxkamxylQSqJyH
HJyIYSajBGNanhyNMnWLdQ5OLi6PXwteruUFslCTNFsORJSMU88L0yCRM+wX
ZnJc+LeynExl4ssIu439W5rk93peXo5mEXbHzss5Rp8cD197STkbqWzghVhz
4AVpkqskL/OBKLJSedh7z5OZkqCh5S3S7GaSpeWcKXJJb3k3aonP4cATvmh+
ozfn88I/Lwt6rFni3aqkxKZCPLSoEJrSFj3OZBTjUUY+qCyyNP4uUsW4k2YT
+iqzYIqv06KY54NulwbTq+hWdeywLr3ojrJ0katuvUyXpk+iYlqOsAD+JKHK
5mladB9mJ02JwbG8cPZ0pnb0ep0o/cwin/nUmRazuOV5siymaUZMxYZCjMs4
1pIeTtOZ+EHP5E84n0yi32QB8Q6gXbNZmojDTC5i8ToFXfyBRyrNSCw8+y7g
cQENIw55XpJmMwy9hVg8Uq7616Md8fPJ1bl4+qTX/2XLnnmxWHSiPGX24q9P
X33SJV8moV9EM+XrRfhE2wNxJAspVKxmUP5cYBB0uFAQjEwmSuixufjzj/8S
l4qMBcOYdJGOBa2r59DCeUXSXv/Jk4dJoq+QdQlhL/E3VLml5ZB+sNUVUyWy
tf2I1Tk96NmR3XyqokzAmsLoNiJz0pRoaUZxvFS5j8X8eQldyFVNGeiXRSaD
G5XVSgnj7T40tQsiL9NRCo4c3wVxSZvBQtIiDdJYvM8V/MWEvYgej1FwKjSK
KRoenYGJTc4s9nhXEnyZRMWyi+3SrMi7RTjDY/fwjf/65N3Bqa9/+7u93f3e
436PSBmqu4I5wEI8YycFMYGMW80zS5rneb7vCznK6biF5w2nUS5w0pLELuZZ
StSCm+K26SBV7SAD4yDnKw4yiybTIp+mMUwtF4tpKhZRPhVFCgeRSOgQybIE
LyA3LSm7UpSQZyqMd+0IJsohQMYxXIOYl6MYK9LqWNRQ1CCjmMJfTaZipgpJ
MoXx2U38UMWwF6w2N7zIaSPl7hPIRIyUkPN5HKlQyEKE0ZgXL0SsblXMOjfJ
ZELjISNjJkEKIWdsA6tMmavMuPa8jcMTG/Ignas2T2UaM0X0YUSbSLuNQmKy
xGzrHHghNkZMzOQoinnrIEtx/FsQkpa5OKHviSqc4xlhz6IwjBX8BI3J0rAM
2ON4BzlxfQZTw7lGCoqn8Csje4sjiSNjZxxzovw8kLHSxG6FGbgINi0FvSVS
Y7kgzoNb+HmjF6Rzs8sAI0hYNDcHcXn0m9pu1ypUSzRX6kYs5JJlawKAmKaL
VVXJSYWI6ZW+0IhcmYMY5WG7NexcVWcmVSVyFKtVncqjSSLjNSE6ykmEBGC0
2bemjLj9iMDDrRam9khHaoxp/JtsTQlEY0HhOBets/dXw1Zb/xXvzvn58vg/
359cHh/R89Xbg9PT6sEzI67enr8/Paqf6pmH52dnx++O9GS8FY1XXuvs4KeW
VrvW+cXw5By+pMV8bLgAYAriBMyANW5O2glTyD3wMciikeb9q8OL//vf/r74
+PHfLl8f7vb7z+7vzY+n/X/fx4/FVCV6tzSJl+YnOLb0YF5KkkKTXcPm5lEh
Y1iHhBJA4ImANBTYufMzceaXgXg+Cub9/ZfmBR248dLyrPGSebb+Zm2yZuKG
Vxu2qbjZeL/C6Sa9Bz81flu+Oy+ffwurUcLvP/32pcc6dEX+QWvLwYnP8NLR
XsgqjmYRCaV2gp9zy67yss9J8SFJyesicIUKpoBhAcd9OE6K91E+y9l1wg2S
SgDrkFIH7I06pNSyjOEfgB0hRQykp7SEeSOMlhw/oEUjtUx1UNYuT/v9KDdR
RsYs8qgAlQFPytNYQVXgdgDfJNuldoX4BVeYhXwebaPseXD6OAqixpk78HJQ
KlpvQYqEozZYQpSZJVTIGilCFTBaoJ0xB68yTSiBbiQMpQY3m847Tcs4JGMJ
YSbw9IkOG7TqPAVtSx03wPQFlgJcn0GxT9iNRTMK7+RnIUfIQ2nHVNNqyNQk
yxCIBpmFdjNO9nJsEVvXQejiSk/F2EfiogpBnvdK5lEAyYckzDTjeGaPbBXI
REF2sysKRFYpdnY4Hn/41b7d2RmIVymEB8RLn6GRwGQBVLQeM9jZ0b42aOOw
iU8wB+AyIi1gR5PQEz4DJalQ062hk+exEyURBIGak2IwcbkbAwxhBp0RQVcg
AdsCWNMHYDFETlJf+nYIQRSkQCb4MeOJy3BGvDxFeTOjtiyzlEJaFobm2Ozv
M3cUSfNWBQUBogZuzRnj0wpBLCGOsbEnXkbnjREbMmbGcqS0itd767l5OZtB
7I1TYEzIbMPGGUMNDY2bM+cyk/NpJjV7qskAa9EtpxKfnf2PMi0qcoFdVRFZ
MC7FHOchZAPKx5mcsCfBBxxoElE8XV0MUkvyuD79OhNHqlgoRfgjmZRYWmvy
UJHNYMFLo2E6rl7NYcDjiPEfwxRAGJu01L4PKmO0RAHTBXTiD7/SYCLh2iZQ
1wShYXqsPXr03TzSqvPF4USjKR/4hqhAvKnhYq3KDafIeDMwuK6Dw40NHKFR
2n9APxfTKJg2XRnmIbIioeUorhwowqpC6xO1kzgdkXVZJJwb0vhNyHKUsUu8
GC4pAtV8rXQb7zXxjpvScJkINhvPkAPC8pd69wK5CWx8Bim2BcGxFH6/DCP6
ow+usa+BEr39J/f3HabmqFZNQxhAq04F2Lq0DuSOClNsvAFn2UhAU9NfOeNW
XVb9qSbcmBpQeWU5beGorqaRQPGlRfC1gC3HKnBPiDhKQ4SFvPBX3FY16MOv
etSqjpVaAY2eiS3VmXTa4mLvpydn+0fD/u7bvd7Z46tt7TZryVyQQecFPSPq
aKdPfnPcUCMTxOZ6MHlV5oYKLWoHNgO/ERIQ9lhXOuJgdQxFNJ2r5wwNaIs0
0NDEcI3yAf7F6STnn3SYqphBiU6WzniZynXkaQls0oYwoPyAC3IyydREEvwh
sAGCo0BD7UrovEFejohyU5yQVjNNXsh8tqxxdcEwMFChZhr0bhyzktWhHkdM
Yzo6ciBy5BN2L/NqFlKyuARfjZSup8iLr/F3psKonNETtPF6mww8K2Oil0wY
bjRk3QnFNELkyYKpSVVM9lvjO0rhjIdI4Tgz2JSTx7QBNmaScAolixTkDQwv
OMsBDxNFgpEMJjgyVKRTlL4its2hhZzgEm5vaEtgOKKJ5kXhpZf4HDZgGLPy
jUonZDtwgw+5bEiTY44Ga2vura3tgEtF/WtD8ESlH35lFKwjK5NdrTipN20u
XoUCJynXu3Q4O57NNZbSugjR5+BsZoK3V302qd8mcF5FlrguJgSAOnOWTYgY
RJNtyl6DbcgMITXhzD/VvjxRKtSKre5Iy7WlwAkVGRL4MlNOlHakD9OcQ0Nk
MGWAxAi/LUalxjcE++vsoW3oeTscXiDpkiFrDxxUHhEIUrZkxZqm3fOzvR5l
elsfP3578f7y4vzq+MWJf9RZL5Dd329rtdvS1SNJ3NsWH56TCX54KQo5yWu1
FBpUGXcitqy1H//t5PW2Rv3lyLc5qq9joikSaE3jM7zVZ/C8izqrJzFQ0ck9
pC4xcJ2NPGIlSVf7wghWUUCOsCRY/Jzq7zxP50SZ+gdsvLD1BmmYbo2VDNmf
kL7hTLaawcKU+ZIB78S4dDyntYipYqeh+DiaGK/PUWznWLPQHAEaj0Tg999/
F1RC9GeKAZhnDjLQZFTg+wVdGXwjjGhe1GC43YSi39ThygSiF6sxhvY0VUNN
icgd9GVSn4cyCYICot6dGdKkoPKFa3ET2r4nlkqSij4BcE+KKZ72oTBL/O3v
Cvhn+rbXE4gylLJp/XsMnhLMMdW+fAn7vtOaN9d1mtqzB7ARquTDeKdgVMIZ
dpKTsZERg0JTe2MidYleLNTIiC03ByIFMQ7w4Rrx1uXxBQL2a6oR1tpKVVMZ
A5uHS9ZaDBJbMq9CA5TxZ2OGX1G9zsYBjexuwxbZmtnB0JoceOh4tgiwyQQC
y5cRRAYJIVnDqawi0hID1kGP6t2+pHr3QOxoiObbu7LBSrrnmbRuIKpEqm1j
d65xVa1iltRVJaPCUUlFdt7UZMi0ra6KEOdcPSTda1LhJrXtRkHFEuViCk2X
tR9o0usy026r4SKJWs0zTS7gQWjhta4l0I4Ep6x/c0KVE84Em4pJdTInbmqd
qnzokHwone0KzvHIFvBO2Tkeap8DPqYVNZtkbCxWe1TYGJUGANJL7Px2eHZa
1QWZKJs4ECLW2EpWA9obfDuvIAvQP+IaiuMPHEVy5w0qrzaLPX7Pdz0vWob2
lpXpi9aKixvLOFcbHFiv9VIrVLVfk6qBuyHOzhHIXPn9hU3Ix4DsaUrBewR4
VnGfFdctxkW6DGf11t52WaW11bKawex1knRDTkF4poAGd1aE4DrgIrX1cFEL
8qGioXRkHQEdOmCjba7ayrxaT4pxjBBGoGEhl86Nj3vcqpqFI+t7BnuRorVP
K/eff/z3jyqO/e+TdJH8+cf/iNM0sAjsAFAqY9us8MjTJ/3H9/dtmragaTd2
WmynMQ/YP6/eCtURtpGDsJzAd0TqCJEgjJBH39K1C05HiL8sAK/JW1hHv9l3
as5b1x7qY6+R+f7ylOMSuEEownh+UoOvvtITW//i68RtU2qYSlOngAFy0RNc
iAF0NBQ1hQZjVCYQWAIM3utg926nPnFXm5UxlYNCKzh4AJ0S/3F1/o63Yc9a
wdzQXD1rOX7Gk1n7IdMAO20SlK0rO1cxHAfEO/eNI/h7jgj00RNixfZbA8HW
36ZPJhLg3c+tGs+0fuGPq94Bo1q9lne/4oZ41921XU0Rjib1O72WWVGnwTlt
yFW0j/x/okQWUxrb5coKpAv1zChQz+b7PJlH0YlpFA/qNj4RsEkTUuRqcXcD
HkMumKa794fVCnoD6ifgohuftjfg/3z6fx8PzcGO1DDa3YnoaeBBWs04yMYa
GFhFaneMM+S+er5vf/5YZ6QopsL0pWPhNH0+1uN/7liOlgxoaDoFlizWT2UQ
x29rp998MvP0i2d//VLpWTMvySNKQhlBWY+mL/bX/Bk7HefmNMBLAJGIYojx
7m7utCmCmKtpaYwQpqY9lKi9xUGjXcDAJnXHvRIb/KSZP45gOLIglPAlV6Pd
mmNvZgk2OyNsizY+b33mUqLlNBS5m9rPPJa4IYOikn+Le3poKujx83JOPvg7
Z7qRf6vM4oc2sGt6RpO/yh0AoEUBMH533QlQFtblNqbqkwMyaUSS+tx5xK1u
jgVt2GYecfqxYRunuNslBj+4m2GgTyk1PLdR9aYyAxkc2xLBmQnjSPNX3P+s
jGGxaQjwynHeBOG6uFDn9NBiVqYKEzRqDhQ2/nZ2sc130ioec0daM5k3cKYj
qKXLSQ0ZHEF4iivUEV1dAj5xLVCYWuG2m3KaKlMDERMJRjc5pafus9WsioNR
9XU9qao+VcVp/4LD0UD0ViLRxdHriqniPZeEcHhrHHcEjO8Gd7M5w3H8TPLB
HaBxmI7UAM/0ugsADKE9z8Lx4BLL6VH49YJVuolJ+s+ePev2dru7uz5G+Dol
95P8kV7ErnPEDQecpAv6DThdAvc7nlDvEgbVJojLsc5+g65tZev2O/1utTIt
HgaDS3Y+LxlkzczduHa032jAlU8ll9rru8zn3XqeJbO7QqdmQtdw4aX3vFsx
ziYIF+sg0ek3IgDDesmQWJfKb3UhwoExNmLbEnMwlfOCygfUU8Hi1DdxM2Ve
cdzfdjTsx+NXPwyHVsf0L8+zcbvT6/WE778UNn7TC2T5BOkd+v9qmUlvRJG0
sdHjr99I52G1b7D3VocZ1bGLiPKMLaob7+729/c/bHuQy/DVEY89uTo8NB/3
+3tP3Y82PglNwRX8EpVqqXXn/OjcVjFz3aWhgpIr5Kt14mZHXdVtIbk0rAG1
naob4arWrc2ZRJh+RbdG22D22rHIMKTOEH1NYfu8REhqRRcDcFxOkdSZtuAG
oGYnQo58bslU4B31N4ky0Q2wjAqo3EJujwZlpoNjVhZUQ5CTTKmqfhCrCXdX
pYWqChpUeD94d/C1bDRBAvvBi8/oSoVACK8g9Zpc7CZS8nIygfWKccnlcroL
gC0vKUHgjlGbMLitYUikdSOYjtRrXXe2p24kgxsifWjbBdZ7L8THR4VvosS9
OY9uXgjtJTDvRpwzN0bMdpvjVJFpU5Jj2igfaqA8JshHy1u1YTDm+FOq9NA1
j+lO1dcMWvc1LXANn5CDYoVP4gdN3SfheuRPlbF8wsiBT1x58C9GXDdN+Bof
zaUbPTXbUv7JrhSxtroJj9d6Z3NK2tJ0hYhrxzmtlaAbVb92HVKv8VwEzIe1
hhQH7eTNvgOO/HwfUJS63Pil/XgPS/Xg88PNEauLJ25RoJM6fQltsbNjL5N3
dpgLgIe6UUJzOmlciRXyRpmrLLG29kBQpcDv9/y93rD/ePB4d/D4cWd/v7e7
99QSU3VMfBU1/E2Ooa62x8GhJUlFnCL/yky3w/ryX0EQd0I0xf81LRHXjqjr
vrANl5Rwh9RanEMJl+2VWG1qZtAI/jcISKcyQpL1PmRYmsLBGjmGfmqo4LYE
ouj6wYYKPmGjF4bmbOXbrqt4sHlDuBs12jauXQN2miiaNlz3F1heOa1F9A9U
csLY1R191VTBgNgt4I8k2XiaVCRv2lv/MxhDWf2+4lIl6S91cdDgUwSGvFI7
Mmfd6AKPvenU9Nrsvrb3xrYRQ+ZqYYj1q9nasW6qlTypF5pMoWILxThuRzCZ
iTYhigw629C/rR/a7hC1q9d513WTmr7WRri2t2x5dFfds42RcJqrtgJJNiRq
rtuKaZQByTSu3MYk8erWTbvgSuPczoumAv1o1KaBO0oEcNuZwvVvt++kLUZm
Nl8yRzz92uaR12R017ZnhYW1mYyGLtXNEDzD6BH1cLSF7uBoC+rfINn8Szol
RGPTgeB2EU3LRKVumwOrqqlrC/73MlZdqD1iRV3+QheEWN9yII7ft8X7KyKI
sdpBQOWVWIXc5Zd7Hwf636mp8EWLY27rnno03mBPmFUSymnsUU8JjBqwPBHv
4E/ozRuCWyfcNoBfZzK7Ee/SgpRwKmc0A5Atn4rvEeemCTdpnVFJI+F/X0Xl
mh1xIctYfK/iWGX4daog5SwUl3RxC2jK2xI3gDiBq5KbqqMO+BOcmXEVi25N
NPzhvJ5uhLgvlGK+7o5lgH7wiqD54fm74eX5qfiRnNk0nWtt1zVtfklT39C/
mOt4/w+6VrXKbDgAAA==

-->

</rfc>
