<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.32 (Ruby 3.3.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-gondwana-dkim2-debug-header-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="DKIM2 Debug Header">A Diagnostic Header Field for DKIM2 Implementations</title>

    <author initials="B." surname="Gondwana" fullname="Bron Gondwana">
      <organization>Fastmail Pty Ltd</organization>
      <address>
        <postal>
          <street>Level 2, 114 William Street</street>
          <code>3000</code>
          <country>Australia</country>
        </postal>
        <phone>+61 457 416 436</phone>
        <email>brong@fastmailteam.com</email>
      </address>
    </author>

    <date year="2026" month="September" day="18"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 37?>

<t>Implementations of DomainKeys Identified Mail Signatures v2 (DKIM2)
benefit from seeing extra debug information during the early deployment
phase.</t>

<t>This document is intended to help testers, and unlikely to be published.</t>



    </abstract>



  </front>

  <middle>


<?line 45?>

<section anchor="introduction"><name>Introduction</name>

<t>DKIM2 (<xref target="DKIM2"></xref>) software generates Message-Instance and
DKIM2-Signature header fields.  Validators also create
Authentication-Results headers that may include dkim2 status.</t>

<t>During interoperability testing it is useful to have debug
information in a consistent place, so testers can examine the
headers and see what disagreement or misunderstanding may have
caused failures.</t>

<t>Several testing implementations already create a header field called
X-DKIM2-Info.  This document describes how to create it.</t>

<t>Nothing in this document is normative, and <xref target="DKIM2"></xref> does not
depend on it.</t>

</section>
<section anchor="terminology-and-conventions"><name>Terminology and conventions</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
<xref target="RFC2119"></xref>.  These words take their normative meanings only when they
are presented in ALL UPPERCASE.</t>

<t>Basic email terminology is taken from <xref target="RFC5598"></xref>. The terms Signer,
Verifier, Originator, Message-Instance, Recipe and Chain of Custody
are used as defined in <xref target="DKIM2"></xref>.</t>

<t>Syntax descriptions use Augmented BNF (ABNF) <xref target="RFC5234"></xref>. The tokens
"FWS", "CRLF", "VCHAR" and "WSP" are imported from <xref target="RFC5322"></xref>.</t>

<t>An "emitter" is any piece of software which adds an X-DKIM2-Info
header field to a message. An "action" is the single step in DKIM2
processing which one such field records.</t>

</section>
<section anchor="why-x"><name>The "X-" name</name>

<t><xref target="DKIM2"></xref> excludes from its header hash every header field whose name
begins with "x-", so this field can be added at any point, by any
system, without changing any Message-Instance header hash or
invalidating any DKIM2-Signature.</t>

</section>
<section anchor="no-protocol-meaning"><name>No protocol meaning</name>

<t>An X-DKIM2-Info header field is not a verification result.  If the
software is generating an Authentication-Results (<xref target="AUTHRES"></xref>) data
then the verification result goes there.</t>

<t>The field is not signed, nor covered by any hash.  It only records what
the emitter says it did.  Software MUST NOT make any decision about a
message on the basis of an X-DKIM2-Info header field.</t>

</section>
<section anchor="field"><name>The X-DKIM2-Info header field</name>

<section anchor="syntax"><name>Syntax</name>

<t>The value is a sequence of tag-value pairs separated by semicolons,
in the style of the DKIM2-Signature header field.</t>

<figure><artwork><![CDATA[
info-field  = "X-DKIM2-Info:" [FWS] tag-list [FWS] CRLF
tag-list    = tag-spec *( [FWS] ";" [FWS] tag-spec )
tag-spec    = tag-name "=" tag-value
tag-name    = ALPHA *( ALPHA / DIGIT / "-" )
tag-value   = *( tv-char / FWS )
tv-char     = %x21-3A / %x3C-7E
              ; VCHAR except ";"
]]></artwork></figure>

<t>A tag-value may contain "=", ",", "(", ")" and space. It MUST NOT
contain ";", which separates tags. There is no quoting mechanism; an
emitter MUST replace or remove ";" in any value it substitutes.</t>

<t>Five tags are always present, in the order "draft", "repo", "date",
"sw", "action", followed by any supplementary tags in alphabetical
order. Tag names are lower case. Unknown tags MUST be ignored. A
message may carry any number of X-DKIM2-Info fields, from any number
of emitters.</t>

</section>
<section anchor="provenance"><name>Provenance tags</name>

<t>These identify the software which emitted the field. They are the
same in every field an emitter produces.</t>

<dl>
  <dt>draft:</dt>
  <dd>
    <t>The <xref target="DKIM2"></xref> revision the emitter implements, without the "draft-"
prefix, for example "ietf-dkim-dkim2-spec-06".</t>
  </dd>
  <dt>repo:</dt>
  <dd>
    <t>Where the emitter's source code lives, as host and path with no
scheme, for example "git.example.com/dkim2". For DKIM2 code
embedded in larger software, this names the fork carrying it.</t>
  </dd>
  <dt>date:</dt>
  <dd>
    <t>The date the emitter's DKIM2 behaviour last changed, as YYYY-MM-DD.
A version stamp for the code, not the date of the draft. Bump it on
any change to what is emitted.</t>
  </dd>
  <dt>sw:</dt>
  <dd>
    <t>The program within "repo" which emitted the field, for example
"inbound-filter".</t>
  </dd>
</dl>

</section>
<section anchor="action-tag"><name>The action tag</name>

<dl>
  <dt>action:</dt>
  <dd>
    <t>What the emitter did at the point it added this field. One action
per field; several actions mean several fields.</t>
  </dd>
</dl>

<t>An action value is a short verb, optionally followed by "=" and a
result, optionally followed by space-separated qualifiers:</t>

<figure><artwork><![CDATA[
action-value = verb [ "=" result ] *( SP qualifier )
]]></artwork></figure>

<t>The vocabulary is in <xref target="actions"/>.</t>

</section>
<section anchor="supplementary"><name>Supplementary tags</name>

<dl>
  <dt>hc:</dt>
  <dd>
    <t>The number of header fields in the header hash of the
Message-Instance this field describes. Fields, not names: two "To"
fields both hashed count two.</t>
  </dd>
  <dt>hn:</dt>
  <dd>
    <t>The names of those fields, lower case, in the order they were
hashed (which <xref target="DKIM2"></xref> defines as alphabetical), comma-separated
with no whitespace. A name appears once per field, so the list may
contain duplicates; its length equals "hc", and it is empty when
"hc" is 0.</t>
  </dd>
  <dt>snapf:</dt>
  <dd>
    <t>"Snapshot fetched": the identifier of the stored earlier copy of
the message the emitter diffed against to compute a Recipe.</t>
  </dd>
  <dt>snaps:</dt>
  <dd>
    <t>"Snapshot stored": the identifier under which the emitter stored
the message in its current state, for a later Recipe.</t>
  </dd>
</dl>

<t>Snapshot identifiers are meaningful only to the emitter which wrote
them; examples might be a database record id, or a path on disk.</t>

</section>
</section>
<section anchor="actions"><name>Actions</name>

<t>The actions any emitter may record, with their supplementary tags.
An emitter MAY record other actions in the same form; a reader should
not expect them from other software.</t>

<section anchor="verify"><name><spanx style="verb">verify=&lt;result&gt;</spanx></name>

<t>The emitter verified the message on receipt. The result is one of
the four <xref target="DKIM2"></xref> output states in lower case, or "none" if there was
no DKIM2-Signature, optionally followed by a free-text explanation in
parentheses:</t>

<figure><artwork><![CDATA[
action=verify=pass (i=1..2 verified)
action=verify=fail (Message-Instance m=2 header hash
  mismatch (sha256))
action=verify=none (no DKIM2-Signature headers found)
]]></artwork></figure>

<t>The authoritative result is in Authentication-Results (<xref target="AUTHRES"></xref>).
No supplementary tags.</t>

</section>
<section anchor="mi"><name><spanx style="verb">mi-m&lt;N&gt;</spanx></name>

<t>The emitter added a Message-Instance with "m=" N. Accompanied by
"hc" and "hn"; where a snapshot store is used, also "snaps" and, for
N above 1, "snapf".</t>

<t>An emitter which found the topmost Message-Instance still matched,
and added nothing, records no action.</t>

</section>
<section anchor="sign"><name><spanx style="verb">sign d=&lt;domain&gt; a=&lt;algorithm&gt;</spanx></name>

<t>The emitter added a DKIM2-Signature with that Signing Domain and
algorithm. No supplementary tags.</t>

</section>
<section anchor="not-signed"><name><spanx style="verb">not-signed=&lt;reason&gt;</spanx></name>

<t>The emitter was asked to sign and declined. The reason is a short
token chosen by the emitter, for example "broken-mi-chain" when the
Message-Instance chain would not undo to "m=1". No supplementary
tags.</t>

</section>
</section>
<section anchor="emitter"><name>Emitter behaviour</name>

<t>One field per action. An emitter MUST NOT combine actions into one
field, and MUST NOT modify or remove any X-DKIM2-Info field already
present.</t>

<t>The field goes at the top of the header block when the action is
taken. Where the action added a header field, the emitter MUST add
that field first and the X-DKIM2-Info after it, so the X-DKIM2-Info
sits immediately above the field it describes.</t>

<t>The value is folded. Folding MUST happen only after the ";" between
tags or after a "," inside a list; a consumer MUST ignore whitespace
next to ";" and ",". An emitter MUST NOT fold inside a token.</t>

<t>The field is excluded from the <xref target="DKIM2"></xref> header hash by the "x-" rule
(<xref target="why-x"/>). An emitter MUST NOT include it in anything it signs or
hashes.</t>

</section>
<section anchor="reading"><name>Reading the field</name>

<t>The field is for a person reading a message which did not verify.</t>

<t><list style="symbols">
  <t>Which software touched this, and to which draft? Compare "draft",
"repo", "sw" and "date" across the fields.</t>
  <t>Why does the header hash of "m=2" not match? Compare the "hn" of
the "mi-m2" field with the names the Verifier hashed.</t>
  <t>Why did the Recipe not undo? Take "snapf" from the failing "mi-m"
field to the emitter's operator.</t>
  <t>Why was this not signed? Look for "not-signed", else for a "verify"
that is not "pass".</t>
</list></t>

</section>
<section anchor="examples"><name>Examples</name>

<t>Line breaks and indentation follow <xref target="RFC5322"></xref> folding. Domains,
repositories and program names are examples.</t>

<t>An inbound filter verified a message and, finding no
Message-Instance, added "m=1":</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06;
  repo=git.example.net/dkim2; date=2026-08-28;
  sw=inbound-filter; action=mi-m1; hc=8;
  hn=content-type,date,from,message-id,mime-version,subject,
  to,to;
  snaps=a5/a5440deb07cdcf63cd16bfaa29d9a87c0b97a300e1c2d3f4
Message-Instance: m=1; ...
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06;
  repo=git.example.net/dkim2; date=2026-08-28;
  sw=inbound-filter; action=verify=none (no DKIM2-Signature
  headers found)
Authentication-Results: mx.example.net; dkim2=none
]]></artwork></figure>

<t>The same message after a mailing list recorded its changes as "m=2":</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06;
  repo=git.example.org/listmanager; date=2026-08-28;
  sw=listmanager; action=mi-m2; hc=18;
  hn=archived-at,content-type,date,feedback-id,from,list-archive,
  list-help,list-id,list-owner,list-post,list-subscribe,
  list-unsubscribe,message-id,message-id-hash,mime-version,
  precedence,subject,to;
  snapf=a5440deb07cdcf63cd16bfaa29d9a87c0b97a300
Message-Instance: m=2; ...
]]></artwork></figure>

<t>An outbound filter then verified the chain and signed:</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06;
  repo=git.example.net/dkim2; date=2026-08-28;
  sw=outbound-filter; action=sign d=list.example.org a=rsa-sha256
DKIM2-Signature: i=2; d=list.example.org; ...
]]></artwork></figure>

<t>A Signer which declined because the Message-Instance chain would not
undo:</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06;
  repo=git.example.net/dkim2; date=2026-08-28;
  sw=outbound-filter; action=not-signed=broken-mi-chain
]]></artwork></figure>

<t>Two implementations on different drafts:</t>

<figure><artwork><![CDATA[
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-06;
  repo=git.example.net/dkim2; date=2026-08-28;
  sw=inbound-filter; action=verify=fail (Message-Instance m=1
  header hash mismatch (sha256))
...
X-DKIM2-Info: draft=ietf-dkim-dkim2-spec-05;
  repo=git.example.com/mta; date=2026-08-25;
  sw=delivery-proxy; action=mi-m1; hc=8;
  hn=content-type,date,feedback-id,from,message-id,mime-version,
  subject,to
]]></artwork></figure>

</section>
<section anchor="iana-considerations"><name>IANA considerations</name>

<t>None.</t>

</section>
<section anchor="security-considerations"><name>Security considerations</name>

<t>The field is not signed or hashed. Anyone handling the message can
add, alter or remove one undetected. Software MUST NOT act on it.</t>

<t>The field discloses the software, draft revision and source
repository of each system, something of an emitter's storage layout,
and the names of header fields present at hashing time. An operator
MAY strip X-DKIM2-Info at its outbound boundary; verification is
unaffected.</t>

<t><xref target="RFC5322"></xref> permits ";" in a header field name, so a name copied into
"hn" verbatim could be read as further tags. An emitter SHOULD omit
from "hn" any name containing a character outside %x21-3A / %x3C-7E,
and SHOULD cap the length of "hn".</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="RFC5234">
  <front>
    <title>Augmented BNF for Syntax Specifications: ABNF</title>
    <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
    <author fullname="P. Overell" initials="P." surname="Overell"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="68"/>
  <seriesInfo name="RFC" value="5234"/>
  <seriesInfo name="DOI" value="10.17487/RFC5234"/>
</reference>

<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="DKIM2">
   <front>
      <title>DomainKeys Identified Mail Signatures v2 (DKIM2)</title>
      <author fullname="Richard Clayton" initials="R." surname="Clayton">
         <organization>Yahoo</organization>
      </author>
      <author fullname="Wei Chuang" initials="W." surname="Chuang">
         <organization>Google</organization>
      </author>
      <author fullname="Bron Gondwana" initials="B." surname="Gondwana">
         <organization>Fastmail Pty Ltd</organization>
      </author>
      <date day="28" month="August" year="2026"/>
      <abstract>
	 <t>   DomainKeys Identified Mail v2 (DKIM2) permits a person, role, or
   organization that owns a signing domain to document that it has
   handled an email message by associating their domain with the
   message.  This is achieved by providing a hash value that has been
   calculated on the current contents of the message and then applying a
   cryptographic signature that covers the hash values and other details
   about the transmission of the message.  Verification is performed by
   querying an entry within the signing domain&#x27;s DNS space to retrieve
   an appropriate public key.  As a message is transferred from author
   to recipient systems that alter the body or header fields will
   provide details of their changes and calculate new hash values.
   Further signatures will be added to provide a validatable &quot;chain&quot;.
   This permits validators to identify the nature of changes made by
   intermediaries and apply a reputation to the systems that made
   changed.  DKIM2 also allows recipients to detect when messages have
   been unexpectedly &quot;replayed&quot; and will ensure that Delivery Status
   Notifications are only sent to entities that were involved in the
   transmission of a message.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dkim-dkim2-spec-06"/>
   
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC5598">
  <front>
    <title>Internet Mail Architecture</title>
    <author fullname="D. Crocker" initials="D." surname="Crocker"/>
    <date month="July" year="2009"/>
    <abstract>
      <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service. These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness. To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them. But the many differences in perspective currently make it difficult to know exactly what another participant means. To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5598"/>
  <seriesInfo name="DOI" value="10.17487/RFC5598"/>
</reference>


<reference anchor="AUTHRES">
   <front>
      <title>Reporting DKIM2 Verification Results in Authentication-Results</title>
      <author fullname="Bron Gondwana" initials="B." surname="Gondwana">
         <organization>Fastmail Pty Ltd</organization>
      </author>
      <date day="5" month="September" year="2026"/>
      <abstract>
	 <t>   DomainKeys Identified Mail Signatures v2 (DKIM2) produces a
   verification result for an email message.  This document defines how
   that result is reported in the Authentication-Results header field,
   registering the &quot;dkim2&quot; authentication method, the result values it
   can take, and two properties which identify the signing domain and
   the point in the chain at which verification failed.  Diagnostic
   detail about each hop is carried in a human-readable comment.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-gondwana-dkim2-authres-00"/>
   
</reference>




    </references>

</references>


<?line 343?>

<section anchor="changes-from-earlier-versions"><name>Changes from Earlier Versions</name>

<t>draft-gondwana-dkim2-debug-header-00</t>

<t>Initial version.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81abW/bSJL+3r+iQWOxzp6osZW3iTzeOSdONsY6Ts52ZnYQ
BLctsiXxzLdhNyMLQf77PVXVJCXZntkFDofxB0sim91V1VVPPVXNOI6Vz3xu
p/pEn2ZmUVbOZ4l+a01qG/0ms3mq51WjT/9+9m6iz4o6t4UtvfFZVTplZrPG
fpmGu6d21i7CoyqtktIUmDdtzNzHi6pMV6Y0cXqTFZM4paHxkofGBwfKtbMi
cw6TXq9rPHT2+vqNKttiZpupSo23U/VlqhJ8WVTNeqqzcl6ptqY7bqqyuplq
37TOTw4OXhxM1I1dr6omxTylt01pfXxKUijnTZn+t8mrEmusrVN1NtWffJWM
tKsa39i5w7d1QV8+K2Vav6wggI6Vxl9Wuql+OdZ/C7rwRVHyZVOV29erZjHV
b4zzhcly/cGv9blP+Y7DOtZP9bn9YnM9GenDwyf65yzPM1PoK77J45IqxcyP
D2Ae+dmWnnQ/gZ6NwWi+XC9Zmeg/nh3qJ0+f6yeHz/STx88ivmlp8ameQbrF
f86DMN6aYpxUhVJl1RTYyS+wLo2+fPNqcnj4ov/xdPL4yfDj8WQiP3izYdr4
dJxZP+cdDdvqapsoRZuzO/HTpy++lx8nH6/fXr6+kgl23IIM3mBbVBzH2sxI
z8QrteN2uprr0wqqlH+3a6fPUtzJ5plN9Tuy9VW2KI1vMY/+MtH7LO4jNbOl
nWdez5uq0M7arFxoe4sFNPui7oXGRqZtQ7f90mprmnyNIXVerUkCVS+Ns2Ol
rpeZ03Dylq5qfM/gamUKIXyllzavNVwTzgeHgs/ptsyzG4upcHdmdd3O8swt
bToWXYssTXOr1B55bFOlbUKCKCWBtf+JPz8/gpfO/co0Vi+gTkPer99Z58zC
xmcleXdiaTl5Lu4toSXS9Jzi2Y21/gn+g+CpGqdN7iqdNBaTqRPYn4yZsB3i
S+va3LvwtINBjNeFWUPXJG9Tq3nX4NBYxEGTU7EbWaKpasg3y/IMnk+W4Bts
qNbZeZuzmcwXK+ZXm+bPSm3g7qXLYEAYt85NYilCO5PqxJTYPFNkpaVdUp2A
ZGnsrV6RoGkGuyCaeIMAYQCYtqRhBAIkDmlCIgBXIBNwDt5DbgNNrhCbiLFB
8h0PNDkMlq6D3SDupoEhXp7bVP0jlm04g26w+bbHpNYlTTbDBi6rFRkjTJV5
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

-->

</rfc>

