<?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-chuang-agent-attribution-header-fields-00" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Local Headers">Agent Attribution Header Fields</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-agent-attribution-header-fields-00"/>
    <author fullname="Weihaw Chuang">
      <organization>Google, Inc.</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <author fullname="Emil Gustafsson">
      <organization>Google, Inc.</organization>
      <address>
        <email>emgu@google.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="19"/>
    <workgroup>Independent Stream</workgroup>
    <keyword>Agent</keyword>
    <keyword>Attribution</keyword>
    <keyword>Identity</keyword>
    <abstract>
      <?line 36?>

<t>When human users communicate with autonomous computer agent users, the human users should be able to identify that communication as coming from agent users and know which humans are responsible for the agent users.  This document specifies email header fields that an email sender can use to transmit agent user attribution information to email receivers.  The first header field is human readable and specifies the agent's responsible humans' email address.  The second header field is machine readable and specified in JSON attribution information.</t>
    </abstract>
  </front>
  <middle>
    <?line 40?>

<section anchor="introduction">
      <name><strong>Introduction</strong></name>
      <t>Recent autonomous computer agent users have gained the capability to communicate with human users through such means such as emails (<xref target="RFC5322"/>).  Human users should be able to identify that communication as coming from computer agents.  They should also be able to identify which humans are responsible for the agent, that is the human owner of the agent.   For example when the agent misbehaves and sends unwanted email, the recipient may want to communicate with the responsible human to stop the behavior.  This document specifies email header fields (<xref target="RFC5322"/>) that an email sender can use to transmit agent user attribution information to email receivers.  The first header field Agent-of specifies the agent's responsible human's email address, and is human and machine readable.  The second header field Agent-attribution is specified in JSON attribution information, and is meant to be machine readable only.</t>
      <section anchor="terminology-and-definitions">
        <name><strong>Terminology and Definitions</strong></name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
      </section>
      <section anchor="header-fields">
        <name><strong>Header Fields</strong></name>
        <t>This specification defines two header field-names (<xref target="RFC5322"/>) agent-of and agent-attribution.</t>
        <t>When the agent-of header field is attached to an email, it defines that a computer agent sent the message.   The field value is an address-list (<xref target="RFC5322"/>) of the responsible humans of the agent  that sent an email.  This is meant to be human and machine readable.</t>
        <artwork><![CDATA[
agent-of        =   "Agent-of:" address-list CRLF
]]></artwork>
        <t>With this header field, the responsible human information here is simplified for readability.  If there are multiple responsible humans of an agent, multiple addresses may be specified or an email address alias may be used to represent many users that control that agent.  In other scenarios, when an agent triggers the creation of another agent, the responsible human information SHOULD be propagated so that it is always available to the newly created agent.</t>
        <t>Alternatively when the sender wishes to represent a more complex responsibility relationship, they can use the agent-attribution header field.   The field value is a base64string (<xref target="RFC4648"/>) of JSON (<xref target="RFC8259"/>).  The JSON key-value of attributes about the identity of the responsible humans that allows arbitrary definition of  responsibility and delegation relationship of computer agents.  We expect that there will be an IANA registry for these values as well as future updates to this document to represent those relationships.  It is meant to be only machine readable.  When the agent-attribution header field is attached to an email, it also defines that a computer agent sent the message.</t>
        <artwork><![CDATA[
agent-attribution        =   "Agent-attribution:" base64string CRLF
]]></artwork>
        <t>If both header fields are present in a message, the receiver SHOULD take a union of the sender identities of both header fields.</t>
        <section anchor="authentication">
          <name><strong>Authentication</strong></name>
          <t>Senders SHOULD sign these header fields with DKIM (<xref target="RFC6376"/>).  Receivers that use these headers MUST DKIM authenticate them, i.e the signature passes and the header fields are covered by the header hash.  If DKIM2 (<eref target="https://datatracker.ietf.org/doc/html/draft-ietf-dkim-dkim2-spec">draft-ietf-dkim-dkim2-spec</eref>) authentication is available, then DKIM2 results SHOULD be used for authentication instead of DKIM.  To prevent spoofing of the responsible humans, receivers that use those identities MUST check for DMARC relaxed (<xref target="RFC9989"/>) alignment with a passing DKIM or DKIM2 signature domain.</t>
        </section>
      </section>
      <section anchor="security-considerations">
        <name><strong>Security Considerations</strong></name>
        <t>These headers MUST be DKIM authenticated before they can be used as defined in <xref target="authentication"/>.  Similarly the responsible humans' email addresses domains MUST be DKIM aligned as defined in <xref target="authentication"/>.  Presence of this header field does not infer any trustworthiness.  It is simply a claim by the sender that the creator of the email is an agent and a second claim of who are the responsible humans of an agent.  Receivers MUST make their own judgement of the utility of this information.</t>
      </section>
      <section anchor="iana-considerations">
        <name><strong>IANA Considerations</strong></name>
        <t>This document has no IANA actions yet.</t>
        <t>--</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC5322">
        <front>
          <title>Internet Message Format</title>
          <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
          <date month="October" year="2008"/>
          <abstract>
            <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5322"/>
        <seriesInfo name="DOI" value="10.17487/RFC5322"/>
      </reference>
      <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="RFC4648">
        <front>
          <title>The Base16, Base32, and Base64 Data Encodings</title>
          <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
          <date month="October" year="2006"/>
          <abstract>
            <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4648"/>
        <seriesInfo name="DOI" value="10.17487/RFC4648"/>
      </reference>
      <reference anchor="RFC8259">
        <front>
          <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
          <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
          <date month="December" year="2017"/>
          <abstract>
            <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
            <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="90"/>
        <seriesInfo name="RFC" value="8259"/>
        <seriesInfo name="DOI" value="10.17487/RFC8259"/>
      </reference>
      <reference anchor="RFC6376">
        <front>
          <title>DomainKeys Identified Mail (DKIM) Signatures</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
          <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
          <date month="September" year="2011"/>
          <abstract>
            <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
            <t>This memo obsoletes RFC 4871 and RFC 5672. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="76"/>
        <seriesInfo name="RFC" value="6376"/>
        <seriesInfo name="DOI" value="10.17487/RFC6376"/>
      </reference>
      <reference anchor="RFC9989">
        <front>
          <title>Domain-Based Message Authentication, Reporting, and Conformance (DMARC)</title>
          <author fullname="T. Herr" initials="T." role="editor" surname="Herr"/>
          <author fullname="J. Levine" initials="J." role="editor" surname="Levine"/>
          <date month="May" year="2026"/>
          <abstract>
            <t>This document describes the Domain-based Message Authentication, Reporting, and Conformance (DMARC) protocol.</t>
            <t>DMARC permits the owner of an email's Author Domain to enable validation of the domain's use to indicate the Domain Owner's or Public Suffix Operator's message handling preference regarding failed validation and to request reports about the use of the domain name. Mail-receiving organizations can use this information when evaluating handling choices for incoming mail.</t>
            <t>This document obsoletes RFCs 7489 and 9091.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9989"/>
        <seriesInfo name="DOI" value="10.17487/RFC9989"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
