<?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.4.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-morrison-identity-attributed-commits-04" category="info" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="Identity-Attributed Commits">Identity-Attributed Git Commits via Tier-Structured Trailers</title>
    <seriesInfo name="Internet-Draft" value="draft-morrison-identity-attributed-commits-04"/>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <email>blake@truealter.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="21"/>
    <abstract>
      

<t>This document defines a git commit trailer grammar for
identity-attributed contributions using the <tt>~handle</tt> identity
primitive defined in the MCP DNS discovery draft.  The grammar binds sovereign actors,
automated bots, and AI instruments to specific commits via three
tier-structured trailers (<tt>Acted-By</tt>, <tt>Executed-By</tt>, <tt>Drafted-With</tt>)
and three optional cryptographic trailers (<tt>Identity-Signature</tt>,
<tt>Identity-Key-Id</tt>, <tt>Identity-Anchor</tt>).  The signature is computed
with Ed25519 over the commit's patch identifier, the value
<tt>git patch-id</tt> derives from the change the commit makes, under a
fixed domain-separation prefix.  It therefore attests the change
and not the resulting tree or the commit hash.  A commit that
carries the same change keeps a verifying signature across rebase
onto an unrelated base, cherry-pick, and message amendment.  A
merge commit carries no signature, and a squash is a new change
signed by whoever squashed it.  Conformant parsers reject cross-tier category
errors (e.g., an Instrument-tier handle in an <tt>Acted-By</tt> slot) as
malformed.  The mechanism is provider-neutral, depends only on
DNS and the <tt>~handle</tt> resolution algorithm of that draft, and
requires no central authority or platform-specific verification
service.</t>
    </abstract>
  </front>
  <middle>
    

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="problem-statement">
        <name>Problem Statement</name>
        <t>Source-control workflows now produce commits whose authorship is
shared between human contributors, automated bots, and AI
instruments operating under varying degrees of delegation.  Each of
the existing mechanisms for attaching identity to a commit covers
only part of this mix:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Git Signed-off-by <xref target="DCO"/>.</strong>  A legal attestation of contribution
rights under the Developer Certificate of Origin.  It carries no
cryptographic identity proof, no tier distinction, and no
resolution to a verifiable key.  A <tt>Signed-off-by:</tt> line is
whatever the committer types.</t>
          </li>
          <li>
            <t><strong>Git commit signing (<tt>git commit -S</tt>).</strong>  Cryptographically
binding, but the key model is provider-locked: GPG keys uploaded
to GitHub, SSH keys uploaded to GitLab, with each platform
maintaining its own key directory.  There is no DNS-resolved key
path and no canonical identity-to-key mapping.</t>
          </li>
          <li>
            <t><strong>Sigstore / gitsign <xref target="GITSIGN"/>.</strong>  A keyless signing path using
short-lived certificates issued from OIDC identity tokens and
recorded in the Rekor transparency log.  The cryptography is
sound, but the identity layer is bound to the operator of the
OIDC provider.  Migrating between providers re-roots identity.
No tier structure exists for non-sovereign signers.</t>
          </li>
          <li>
            <t><strong>The <tt>Co-Authored-By:</tt> trailer <xref target="GH-COAUTHOR"/>.</strong>  A plain-text
trailer that names a co-author by name and email address, and that
AI tools commonly use to name a model.  The value is text.  It has
no resolution path to an identity record or to a key, and nothing
in it distinguishes a person from a tool.</t>
          </li>
        </ul>
        <t>None of the above provides a provider-neutral, DNS-resolvable,
tier-structured identity binding for the human/bot/AI contribution
mix that has become typical of agent-augmented codebases.</t>
        <t>Attribution rests on the chain of signed attestations a commit
carries, and a copy of the same content does not carry that chain
(<xref target="MORRISON-IFT"/>, Section 6.5).</t>
      </section>
      <section anchor="design-goals">
        <name>Design Goals</name>
        <t>This document defines a trailer grammar with the following goals:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Provider-neutral.</strong>  No dependency on any specific identity
provider, certificate authority, or transparency log operator.</t>
          </li>
          <li>
            <t><strong>DNS-resolvable.</strong>  Public key material is reached through the
<tt>_alter</tt> DNS TXT <xref target="RFC1035"/> record of <xref target="MCPDNS"/>, under a zone
associated with the handle as <xref target="ALTER-URI"/> Section 3.4 describes.</t>
          </li>
          <li>
            <t><strong>Tier-structured.</strong>  Three distinct trailer slots correspond to
three distinct identity tiers: Sovereign (humans and
organisations with cryptographic agency), Bot (autonomous
agents under scoped delegation), and Instrument (AI models and
tool classes that lack keys).  Each slot accepts only handles
from its corresponding tier.</t>
          </li>
          <li>
            <t><strong>Cryptographically verifiable at the sovereign layer.</strong>
Sovereign attribution is bound by an Ed25519 signature whose
public key is reachable from DNS without prior trust
establishment.</t>
          </li>
          <li>
            <t><strong>Category-safe against misattribution.</strong>  Conformant parsers
reject cross-tier handle placement (e.g., an Instrument handle
in an <tt>Acted-By</tt> slot) as a structural grammar violation, not a
policy decision.  Misattribution is detected at parse time.</t>
          </li>
        </ol>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document specifies:</t>
        <ul spacing="normal">
          <li>
            <t>The trailer grammar in ABNF <xref target="RFC5234"/>.</t>
          </li>
          <li>
            <t>Multiplicity, placement, and ordering rules.</t>
          </li>
          <li>
            <t>The Ed25519 signature algorithm over the commit's patch identifier.</t>
          </li>
          <li>
            <t>Verifier behaviour for accepting, rejecting, and surfacing
attribution states.</t>
          </li>
          <li>
            <t>Security considerations specific to the trailer mechanism.</t>
          </li>
        </ul>
        <t>This document does NOT specify:</t>
        <ul spacing="normal">
          <li>
            <t>The <tt>~handle</tt> identity primitive itself.  This is defined by
<xref target="MCPDNS"/> and incorporated here by reference.</t>
          </li>
          <li>
            <t>Background to the tier taxonomy beyond what Section 3 of this
document states.</t>
          </li>
          <li>
            <t>Sovereign key custody, derivation, and recovery.  These are out
of scope for this document; implementations are expected to
apply standard hardware-backed-key custody practice as
summarised in Section 9.7.</t>
          </li>
          <li>
            <t>The IdentityLog transparency-log mechanism backing the optional
<tt>Identity-Anchor</tt> trailer.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
        

</section>
      <section anchor="definitions">
        <name>Definitions</name>
        <dl>
          <dt>Handle</dt>
          <dd>
            <t>A <tt>~</tt>-prefixed identifier per <xref target="MCPDNS"/>.  Handles are the unit
of identity addressing in this document.  A handle carries no zone
of its own.  Resolution queries the <tt>_alter</tt> underscore-prefixed
TXT record of the zone named by an <tt>org-scope</tt>, or of a zone
associated with the handle out of band, per <xref target="ALTER-URI"/>
Section 3.4, and never a zone derived from the handle's
spelling.  A handle that
matches the <tt>handle-ref</tt> rule of <xref target="ALTER-URI"/> names the same subject
as the <tt>alter:</tt> URI formed by prefixing it with <tt>alter:</tt>; the
trailer value <tt>~alice</tt> corresponds to <tt>alter:~alice</tt>.  The trailer
grammar of Section 4.1 carries the handle without the scheme name.</t>
          </dd>
          <dt>Sovereign-tier handle</dt>
          <dd>
            <t>A handle representing a human individual or formal organisation
with direct cryptographic agency.  Holds its own private key.
Can sign.  Examples: <tt>~alice</tt>, <tt>~example.com</tt>, <tt>~example-co.net</tt>.</t>
          </dd>
          <dt>Bot-tier handle</dt>
          <dd>
            <t>A handle representing an autonomous agent acting under scoped
delegation from a sovereign.  Holds a scoped key whose authority
is bounded by the sovereign's published delegation policy.  Can
counter-sign within the delegation envelope.  Examples:
<tt>~example-deps.bot</tt>, <tt>~example-merge.bot</tt>.</t>
          </dd>
          <dt>Instrument-tier handle</dt>
          <dd>
            <t>A handle representing an AI model, API endpoint, or tool class.
Does NOT hold cryptographic keys.  Cannot sign.  Exists as a
descriptive label only, suitable for attaching
provenance metadata to a contribution without making any
identity claim that requires cryptographic backing.  Examples:
<tt>~cc-example-model-1</tt>, <tt>~cc-example-model-2</tt>, <tt>~cc-example-model-3</tt>.</t>
          </dd>
          <dt>Patch Identifier</dt>
          <dd>
            <t>The value printed in the first field of <tt>git patch-id --verbatim</tt>
              <xref target="GIT-PATCH-ID"/> when given, on standard input, the output of
<tt>git diff-tree -p --root &lt;commit&gt;</tt>.  It is a function of the
change the commit makes, meaning the per-file diffs including
their context lines, and not of the commit's parents, message,
author, committer, timestamps, or the rest of the tree.  It is
hexadecimal digits: 40 in a SHA-1 repository and 64 in a SHA-256
repository, in the tests this document's author ran with git
2.56.0.  <xref target="GIT-PATCH-ID"/> describes it as a sum of SHA-1 hashes of
the per-file diffs; in a SHA-256 repository git computes it with
that repository's hash.  A commit with more than one parent, and a commit
whose diff is empty, produces no output and has no Patch
Identifier.</t>
          </dd>
          <dt>Tier-Slot Grammar</dt>
          <dd>
            <t>The constraint that a given trailer name accepts handles only
from its corresponding tier.  Cross-tier placement is a
grammatical error, not a policy violation.</t>
          </dd>
          <dt>Rung</dt>
          <dd>
            <t>A level of conformance in this document.  Rung 1 is the trailer
grammar and signature of Sections 4 to 7.  Rung 2 is the
mode-attributed commit of Section 8.  Rung 3 is attribution
anchored in a transparency log through the <tt>Identity-Anchor:</tt>
trailer (Section 4.4).</t>
          </dd>
          <dt>Conformant Verifier</dt>
          <dd>
            <t>A consumer of commit trailers that implements the parsing,
rejection, and signature-verification rules defined in
Section 7.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="identity-tier-taxonomy">
      <name>Identity Tier Taxonomy</name>
      <t>The trailer grammar in Section 4 partitions handles into three
tiers.  This section defines the taxonomy normatively for the
purposes of this specification.  Downstream attribution grammars
that reuse the taxonomy reference this document.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Tier</th>
            <th align="left">Cryptographic Agency</th>
            <th align="left">Trailer Slot</th>
            <th align="left">Examples</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Sovereign</td>
            <td align="left">Holds own key, signs</td>
            <td align="left">
              <tt>Acted-By:</tt></td>
            <td align="left">
              <tt>~alice</tt>, <tt>~example.com</tt>, <tt>~example-co.net</tt></td>
          </tr>
          <tr>
            <td align="left">Bot</td>
            <td align="left">Scoped delegated key</td>
            <td align="left">
              <tt>Executed-By:</tt></td>
            <td align="left">
              <tt>~example-deps.bot</tt>, <tt>~example-merge.bot</tt></td>
          </tr>
          <tr>
            <td align="left">Instrument</td>
            <td align="left">No key, no signature</td>
            <td align="left">
              <tt>Drafted-With:</tt></td>
            <td align="left">
              <tt>~cc-example-model-1</tt>, <tt>~cc-example-model-2</tt>, <tt>~cc-example-model-3</tt></td>
          </tr>
        </tbody>
      </table>
      <t>A handle's tier is read from its lexical form, as in <xref target="ALTER-URI"/>
Section 3.3: a trailing <tt>.bot</tt> marks the Bot tier, a leading <tt>cc-</tt>
marks the Instrument tier, and a handle carrying neither marker is
Sovereign-tier.  DNS does not settle a tier, and the envelope of
<xref target="MCPDNS"/> carries no tier field.  Implementations <bcp14>MUST NOT</bcp14> assign a
handle a tier other than the one its lexical form gives.</t>
      <t>Instrument-tier handles cannot make attestational claims.  A
<tt>Drafted-With:</tt> trailer is informational
provenance metadata, not a verifiable identity binding.</t>
    </section>
    <section anchor="trailer-grammar-normative">
      <name>Trailer Grammar (Normative)</name>
      <section anchor="abnf">
        <name>ABNF</name>
        <t>The following ABNF <xref target="RFC5234"/> defines the syntax of each trailer.
Implementations <bcp14>MUST</bcp14> accept exactly this grammar.</t>
        <artwork><![CDATA[
acted-by-trailer     = "Acted-By:" SP sovereign-handle LF
executed-by-trailer  = "Executed-By:" SP bot-handle LF
drafted-with-trailer = "Drafted-With:" SP instrument-handle LF
identity-signature   = "Identity-Signature:" SP "ed25519:"
                       base64url-signature LF
identity-key-id      = "Identity-Key-Id:" SP did-alter-uri LF
identity-anchor      = "Identity-Anchor:" SP "identitylog://"
                       timestamp "Z/sth/" seq "#" commit-id LF

sovereign-handle    = "~" handle-name
                      ; MUST NOT end in ".bot" and MUST NOT
                      ; begin with "cc-"
bot-handle          = "~" handle-name
                      ; MUST end in ".bot"
instrument-handle   = "~" handle-name
                      ; MUST begin with "cc-" and MUST NOT end in
                      ; ".bot"; tier determined by the "cc-" prefix
                      ; per [ALTER-URI]

handle-name         = ALPHA 0*62( ALPHA / DIGIT / "-" / "." )
                      ; letter first, per [ALTER-URI]
bot-suffix          = %x2E.62.6F.74
                      ; ".bot", matched case-sensitively
did-alter-uri       = "did:alter:" sovereign-handle "#" key-id
key-id              = 1*64( ALPHA / DIGIT / "-" / "_" )
base64url-signature = 86( base64url-char ) "=="
                      ; 64-byte Ed25519 signature, base64url-encoded
base64url-char      = ALPHA / DIGIT / "-" / "_"
timestamp           = 4DIGIT "-" 2DIGIT "-" 2DIGIT
                      "T" 2DIGIT ":" 2DIGIT ":" 2DIGIT
seq                 = 1*DIGIT
commit-id           = 40HEXDIG / 64HEXDIG
                      ; SHA-1 or SHA-256 commit identifier
]]></artwork>
        <t>The terminals <tt>ALPHA</tt>, <tt>DIGIT</tt>, <tt>HEXDIG</tt>, <tt>SP</tt>, and <tt>LF</tt> are
imported from <xref target="RFC5234"/>.  The trailer rules end in <tt>LF</tt> and not in
<tt>CRLF</tt> because the lines of a git commit message are terminated by
LF (%x0A).  A carriage return at the end of a line is not part of the
trailer value, and a verifier <bcp14>MUST</bcp14> treat a trailer whose value ends
in one as malformed.</t>
        <t>The three handle rules above match the same strings apart from the
<tt>.bot</tt> and <tt>cc-</tt> constraints, because a handle name may contain a dot (for
example <tt>~example.com</tt>).  The constraints are stated in comments in
the ABNF and are normative.  A handle ending in <tt>bot-suffix</tt> is a
Bot-tier handle and is valid only in an <tt>Executed-By:</tt> slot, and a
handle not ending in it is never valid there.</t>
        <t>The <tt>.bot</tt> suffix makes the tier syntactically distinguishable for
Bot trailers, and the <tt>cc-</tt> prefix does the same for Instrument
trailers, as in <xref target="ALTER-URI"/>.  A Sovereign handle carries neither
marker, and that absence is what makes it Sovereign-tier.  Cross-slot
placement is rejected by the verifier (Section 7).</t>
      </section>
      <section anchor="placement">
        <name>Placement</name>
        <t>Trailers <bcp14>MUST</bcp14> appear in the commit message footer block per the
git trailer convention <xref target="GIT-TRAILERS"/>.  The footer block is
separated from the commit message body by exactly one blank line.
Each trailer occupies one line of the footer block in the form
<tt>Key: Value</tt>.</t>
        <t>A commit message that places trailers anywhere other than the
footer block (e.g., interleaved with body paragraphs) is malformed
under this specification.  Conformant verifiers <bcp14>MUST</bcp14> refuse to
parse trailers from outside the footer block.</t>
      </section>
      <section anchor="ordering">
        <name>Ordering</name>
        <t>Trailers <bcp14>SHOULD</bcp14> appear in the following canonical order:</t>
        <ol spacing="normal" type="1"><li>
            <t><tt>Acted-By:</tt></t>
          </li>
          <li>
            <t><tt>Executed-By:</tt></t>
          </li>
          <li>
            <t><tt>Drafted-With:</tt></t>
          </li>
          <li>
            <t><tt>Identity-Signature:</tt></t>
          </li>
          <li>
            <t><tt>Identity-Key-Id:</tt></t>
          </li>
          <li>
            <t><tt>Identity-Anchor:</tt></t>
          </li>
        </ol>
        <t>Verifiers <bcp14>MUST</bcp14> accept trailers in any order, but emitters <bcp14>SHOULD</bcp14>
follow the canonical order to support diff-based review.</t>
      </section>
      <section anchor="multiplicity-rules">
        <name>Multiplicity Rules</name>
        <t>The following multiplicity constraints apply to a single commit:</t>
        <ul spacing="normal">
          <li>
            <t><strong><tt>Acted-By:</tt></strong> - At most one trailer per commit, and a commit
with more than one <tt>Acted-By:</tt> trailer is malformed.  A squash is a
new change attributed to whoever performed it, and the <tt>Acted-By:</tt>
trailers of the commits it replaces are not carried into it.</t>
          </li>
          <li>
            <t><strong><tt>Executed-By:</tt></strong> - At most one trailer per commit.  A commit
is executed by at most one bot in a single delegation context.</t>
          </li>
          <li>
            <t><strong><tt>Drafted-With:</tt></strong> - Zero or more trailers per commit.
Multi-instrument drafting (e.g., a commit drafted partly with
<tt>~cc-example-model-1</tt> and partly with <tt>~cc-example-model-2</tt>) is
permitted and expected.  Multiple <tt>Drafted-With:</tt> trailers on a single commit
form an unordered set; order of appearance is not semantically
significant and verifiers <bcp14>MUST NOT</bcp14> attribute differential
authority to earlier-appearing entries.</t>
          </li>
          <li>
            <t><strong><tt>Identity-Signature:</tt> and <tt>Identity-Key-Id:</tt></strong> - These two
trailers <bcp14>MUST</bcp14> appear together or not at all.  An
<tt>Identity-Signature:</tt> without an <tt>Identity-Key-Id:</tt> is malformed,
and vice versa.  When present, they bind to the <tt>Acted-By:</tt>
trailer of the same commit, except as Section 8.4 provides for
member signatures on a mode commit.  A commit with more than one parent
<bcp14>MUST NOT</bcp14> carry them (Section 5.2).</t>
          </li>
          <li>
            <t><strong><tt>Identity-Anchor:</tt></strong> - <bcp14>OPTIONAL</bcp14> in this version of the
specification.  Implementations targeting Rung-3-compliant
attribution (transparency-log-anchored) <bcp14>MUST</bcp14> emit it; all
other implementations <bcp14>MAY</bcp14> omit it.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="signature-algorithm-normative">
      <name>Signature Algorithm (Normative)</name>
      <section anchor="algorithm">
        <name>Algorithm</name>
        <t>The signature algorithm is Ed25519 <xref target="RFC8032"/>.  It uses SHA-512
internally and produces a 64-byte signature over an input message
of any length.  Implementations <bcp14>MUST</bcp14> use Ed25519 and <bcp14>MUST NOT</bcp14> use
Ed25519ph or Ed25519ctx variants.</t>
      </section>
      <section anchor="signed-payload">
        <name>Signed Payload</name>
        <t>The signed payload is the concatenation of a fixed prefix, an
object-format octet, and the commit's Patch Identifier (Section 2.2)
in binary form.</t>
        <t>The prefix is the 38 octets of the ASCII string
<tt>identity-attributed-commit/patch-id/v1</tt> followed by one NUL octet,
39 octets in all:</t>
        <artwork><![CDATA[
69 64 65 6e 74 69 74 79 2d 61 74 74 72 69 62 75
74 65 64 2d 63 6f 6d 6d 69 74 2f 70 61 74 63 68
2d 69 64 2f 76 31 00
]]></artwork>
        <t>The prefix is followed by one octet naming the object format of the
repository the commit belongs to: 0x01 for SHA-1 and 0x02 for
SHA-256.  The Patch Identifier follows, as the hexadecimal digits git
prints decoded to octets.  A verifier <bcp14>MUST</bcp14> reject any identifier that
is not 40 or 64 digits long.  The payload is the prefix, the format
octet and the identifier, 60 octets for a 40-digit identifier.  The
prefix separates this signature from any other use of the same key
over other data, and the trailing NUL ends it so that no longer
string can share it as a prefix.  The format octet keeps an
identifier computed in one object format from being presented as one
computed in the other.</t>
        <t>The Patch Identifier is obtained with:</t>
        <artwork><![CDATA[
git diff-tree -p --root <commit> | git patch-id --verbatim
]]></artwork>
        <t>taking the first field of the output.  <tt>git diff-tree</tt> is a plumbing
command and does not read the <tt>diff.*</tt> configuration that changes
the output of <tt>git diff</tt>.  A signer working before the commit exists
obtains the same input with <tt>git diff-index -p --cached HEAD</tt>, or
against the empty tree for a root commit.  It does not use <tt>git diff
--cached</tt>, since that command reads the configuration.</t>
        <t>A commit with more than one parent has no Patch Identifier, because
<tt>git diff-tree -p</tt> prints nothing for it.  A merge commit therefore
carries no <tt>Identity-Signature:</tt> and no <tt>Identity-Key-Id:</tt>, and
neither does a commit whose diff is empty.  The <tt>--verbatim</tt> option
is not present in every git release (Section 9.6).</t>
      </section>
      <section anchor="rationale-for-signing-the-change">
        <name>Rationale for Signing the Change</name>
        <t>A signature is useful if it survives the operations that carry a
change from one place in history to another.  A commit hash does not,
and it cannot contain a trailer that signs it.  Rebase, cherry-pick,
amend, and filter-branch all change the commit hash.</t>
        <t>The tree hash does not either.  A tree names the whole state of the
repository after the commit and changes whenever the parent
changes.  A commit rebased onto a different parent has a different
tree, and a squash has a tree that no contributor signed.</t>
        <t>The Patch Identifier depends on what the commit changes and on the
context lines around it, and on nothing else in the commit.  A
commit moved onto a different parent keeps the same identifier when
its diff is the same, and loses it when the base has altered the
lines the diff touches or the lines beside them.  The signature then
attests the change the sovereign made.  It does not attest the state
the repository was in before or after it.  The costs of that choice
are set out in Section 9.6.</t>
        <t>Where stronger anchoring is required, the optional
<tt>Identity-Anchor:</tt> trailer binds the signature to a specific
commit-id within a transparency log entry, recovering commit-level
identity at the cost of an external dependency.</t>
      </section>
      <section anchor="signature-format">
        <name>Signature Format</name>
        <t>The signature is encoded for placement in the trailer as:</t>
        <artwork><![CDATA[
ed25519:<base64url-signature>
]]></artwork>
        <t>The base64url encoding follows <xref target="RFC4648"/> Section 5 (URL- and
filename-safe alphabet) without line breaks.  A 64-byte Ed25519
signature encodes to 86 base64url characters plus two <tt>=</tt> padding
characters, for a total of 88 characters in the trailer value
following the <tt>ed25519:</tt> prefix.</t>
      </section>
      <section anchor="key-derivation-and-rotation">
        <name>Key Derivation and Rotation</name>
        <t>Sovereign keys are derived out-of-band; their public components
are published under the sovereign's <tt>_alter</tt> DNS record per
<xref target="MCPDNS"/>.  Key derivation, custody, and recovery procedures are
out of scope for this document.  This document treats the
sovereign key as a pre-existing Ed25519 keypair whose public
component is reachable via the DNS-resolved path of Section 6.1.</t>
        <t>The <tt>Identity-Key-Id:</tt> trailer supports key rotation by naming the
key that signed a given commit.  A
sovereign's DNS record <bcp14>MAY</bcp14> publish multiple historical keys
indexed by <tt>key-id</tt>, allowing verifiers to validate older commits
against the key that was current at the time of signing even
after the sovereign has rotated their primary signing key.</t>
      </section>
    </section>
    <section anchor="dns-resolution-normative-reference">
      <name>DNS Resolution (Normative Reference)</name>
      <section anchor="sovereign-key-resolution">
        <name>Sovereign Key Resolution</name>
        <t>The sovereign handle's public key is resolved via the <xref target="MCPDNS"/>
          <tt>_alter.&lt;zone&gt;</tt> DNS record mechanism, where the zone is the one
associated with the handle per <xref target="ALTER-URI"/> Section 3.4.  Verifiers
<bcp14>MUST</bcp14> use the resolution algorithm specified in <xref target="MCPDNS"/> to obtain
the public key corresponding to the <tt>key-id</tt> named in the
<tt>Identity-Key-Id:</tt> trailer.</t>
        <t>Verifiers <bcp14>MUST</bcp14> require DNSSEC <xref target="RFC4034"/> validation on the
<tt>_alter.&lt;zone&gt;</tt> lookup, as <xref target="MCPDNS"/> does.  <xref target="MCPDNS"/> defines no
other retrieval path for the envelope.  A key that cannot be
retrieved and validated this way is unresolved, and Step 3 of
Section 7 applies.</t>
      </section>
      <section anchor="instrument-metadata-resolution">
        <name>Instrument Metadata Resolution</name>
        <t>This document defines no record for an Instrument-tier handle,
and <xref target="MCPDNS"/> gives one no envelope.  A verifier <bcp14>MUST NOT</bcp14> treat
anything published about an Instrument-tier handle, such as its
provider, version or capability profile, as an attestational
claim.  Instrument handles cannot sign commits; a <tt>Drafted-With:</tt>
trailer says which instrument was involved, not that it
authorised the commit.</t>
      </section>
    </section>
    <section anchor="verifier-behaviour-normative">
      <name>Verifier Behaviour (Normative)</name>
      <t>A conformant verifier <bcp14>MUST</bcp14> perform the following steps in order:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Parse all trailers from the footer block.</strong>  Trailers
appearing outside the footer block <bcp14>MUST</bcp14> be ignored.</t>
        </li>
        <li>
          <t><strong>Reject cross-slot category errors.</strong>  For each trailer,
determine the handle's tier from its lexical form (Section 3).
No DNS lookup is made for this step.  If any handle appears in a slot
other than its tier's slot, for example an Instrument-tier
handle in an <tt>Acted-By:</tt> slot, or a Sovereign-tier handle in
a <tt>Drafted-With:</tt> slot, the commit is malformed and the
verifier <bcp14>MUST</bcp14> reject it as a category error.  The error
message <bcp14>SHOULD</bcp14> identify the offending trailer by name.</t>
        </li>
        <li>
          <t><strong>Verify signatures, if present.</strong>  If <tt>Identity-Signature:</tt>
and <tt>Identity-Key-Id:</tt> are present, the verifier <bcp14>MUST</bcp14>:  </t>
          <t>
a. Extract the <tt>key-id</tt> from the <tt>Identity-Key-Id:</tt> trailer.
b. Resolve the corresponding public key from the <tt>_alter</tt> record
   of the zone associated with the <tt>Acted-By:</tt> handle, per
   Section 6.1.
c. If the commit has more than one parent, or has no Patch
   Identifier, mark it <tt>unverified</tt>.
d. Otherwise compute the commit's Patch Identifier per Section
   5.2, form the signed payload, and verify the Ed25519
   signature against it using the resolved public key.  </t>
          <t>
If signature verification fails, the verifier <bcp14>MUST</bcp14> mark the
commit as <tt>unverified</tt> and <bcp14>MUST NOT</bcp14> report it as having a valid
sovereign attribution.</t>
        </li>
        <li>
          <t><strong>Verify the transparency anchor, if present.</strong>  If
<tt>Identity-Anchor:</tt> is present, the verifier <bcp14>SHOULD</bcp14> verify the
anchor against the referenced log according to the log's own
verification protocol.  Failure to verify the anchor <bcp14>MUST</bcp14> be
surfaced to the user but <bcp14>MUST NOT</bcp14> silently downgrade the
commit's verified status.</t>
        </li>
      </ol>
      <t>A conformant verifier <bcp14>SHOULD</bcp14> additionally:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Cache handle-to-key resolutions.</strong>  DNS lookups for the same
handle within a single verification pass should be performed
at most once.  Cache TTL <bcp14>SHOULD</bcp14> respect the DNS record TTL.</t>
        </li>
        <li>
          <t><strong>Distinguish attribution states in user-facing output.</strong>
Verifiers <bcp14>SHOULD</bcp14> present three distinct states to users:  </t>
          <ul spacing="normal">
            <li>
              <t><tt>verified</tt> - <tt>Acted-By:</tt> present with a valid
<tt>Identity-Signature:</tt> resolving to the published key.</t>
            </li>
            <li>
              <t><tt>claimed</tt> - <tt>Acted-By:</tt> present without a signature, or
with a signature whose key cannot be resolved.</t>
            </li>
            <li>
              <t><tt>anonymous</tt> - no <tt>Acted-By:</tt> present.</t>
            </li>
          </ul>
          <t>
Conflating these states is a security defect.</t>
        </li>
      </ol>
      <t>Because every tier is read from the handle's lexical form, Step 2
detects every cross-slot placement without DNS, including during a
DNS outage.  Only Step 3 depends on DNS.</t>
    </section>
    <section anchor="rung-2-extension-mode-attributed-commits">
      <name>Rung 2 Extension: Mode-Attributed Commits</name>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>The trailer grammar of Section 4 attributes each commit to individual
identities: one or more Sovereign actors, at most one Bot, zero or
more Instruments.  A class of contributions falls outside this model.
Joint manifestations produced by a mode, a bounded, DNS-addressable
composition of Sovereigns operating under declared threshold consent,
are not authored by any single <tt>~handle</tt>.  Examples include
pair-programming commits where two Sovereigns contributed
indistinguishably, working-group decisions ratified by a quorum,
AI-majority outputs produced by a mode whose signing authority sits
with the mode as a whole and with no single member, and
cross-organisation commits ratified jointly by two or more modes.</t>
        <t>Rung 1 of this specification has no surface for such attributions.
A committer must either name one member arbitrarily as <tt>Acted-By:</tt>
and misattribute the commit, or omit <tt>Acted-By:</tt> entirely and leave
the commit in the <tt>claimed</tt> state.  Rung 2 closes this gap by adding a
new trailer class, <tt>Acted-By-Mode:</tt>, whose value is a mode handle and
whose semantics are threshold-attestational rather than
individual-attestational.</t>
      </section>
      <section anchor="trailer-acted-by-mode">
        <name>Trailer: <tt>Acted-By-Mode</tt></name>
        <t>The following ABNF extends Section 4.1:</t>
        <artwork><![CDATA[
acted-by-mode-trailer = "Acted-By-Mode:" SP mode-handle LF
mode-handle           = "~" handle-name "@" org-scope
                        ; handle-name MUST NOT end in ".bot" and
                        ; MUST NOT begin with "cc-"
org-scope             = domain-label *( "." domain-label )
domain-label          = ALPHA / ( ALPHA *( ALPHA / DIGIT / "-" )
                                  ( ALPHA / DIGIT ) )
]]></artwork>
        <t>A mode handle names the mode by its handle and the hosting zone of
the mode by its <tt>org-scope</tt>, the form <tt>~&lt;handle&gt;@&lt;zone&gt;</tt> that
<xref target="ALTER-URI"/> gives a handle qualified by an organisational scope.
The trailer value <tt>~release@example.org</tt> corresponds to
<tt>alter:~release@example.org</tt>.  The zone is taken from <tt>org-scope</tt>
alone and never from the spelling of the handle.  The <tt>@</tt> is what
separates a mode handle from the handle rules of Section 4.1, none
of which admits it, and whether the named handle is a mode is
settled by the record of Section 8.3.</t>
        <t>The semantics of <tt>Acted-By-Mode:</tt> are threshold-attestational.  The
trailer asserts that the commit was authored under the compositional
consent standing of the named mode, not under the signing authority
of any single member.  A commit <bcp14>MAY</bcp14> carry both an individual
<tt>Acted-By:</tt> trailer (naming the Sovereign who physically performed
the commit operation) and an <tt>Acted-By-Mode:</tt> trailer (naming the
mode under whose standing the work was performed); the combination
attests "member M committed on behalf of mode O under compositional
consent".  A commit <bcp14>MUST</bcp14> be permitted to carry <tt>Acted-By-Mode:</tt> as
its sole <tt>Acted-By-*</tt> trailer class when the work is purely
mode-coupled and no single Sovereign claims primary authorship.</t>
      </section>
      <section anchor="tier-resolution">
        <name>Tier Resolution</name>
        <t>Under Rung 2 a tier is still read from the handle's lexical form
(Section 3).  A mode is not a fourth tier read from a spelling.  It
is a handle whose record, in the <tt>_alter.&lt;zone&gt;</tt> TXT record of the
zone its <tt>org-scope</tt> names, declares it a mode.</t>
        <t>A mode handle <bcp14>MUST</bcp14> resolve to an <tt>_alter</tt> record whose capability
declaration includes <tt>cap=mode</tt> (or an equivalent capability token
established in a later revision of <xref target="MCPDNS"/>).  The mode record
carries, at minimum:</t>
        <ul spacing="normal">
          <li>
            <t><tt>type=mode</tt> - asserts mode-tier classification.</t>
          </li>
          <li>
            <t><tt>threshold=&lt;num&gt;/&lt;den&gt;</tt> - declares the signing threshold required
for the mode to attest to a commit (for example, <tt>threshold=2/3</tt>
requires two of three member signatures).</t>
          </li>
          <li>
            <t><tt>members=&lt;uri&gt;</tt> - a reference to the mode's member attestation
keylist, itself a DNS-published or HTTPS-resolved JSON document
listing member Sovereign handles and their currently-valid
signing-key identifiers.</t>
          </li>
        </ul>
        <t>Verifiers <bcp14>MUST</bcp14> retrieve and DNSSEC-validate the mode record as
Section 6.1 requires for Sovereign key resolution.  A mode record
that cannot be retrieved and validated that way is unresolved.</t>
      </section>
      <section anchor="verification">
        <name>Verification</name>
        <t>Section 7 is extended for Rung 2 as follows.  For each
<tt>Acted-By-Mode:</tt> trailer on a commit, a conformant Rung 2 verifier
<bcp14>MUST</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Resolve the mode handle per Section 8.3 above.</t>
          </li>
          <li>
            <t>Fetch the threshold-attestation metadata (<tt>threshold</tt>, <tt>members</tt>).</t>
          </li>
          <li>
            <t>Enumerate the member signatures present on the commit, that is,
the set of <tt>Identity-Signature:</tt> trailers whose corresponding
<tt>Identity-Key-Id:</tt> binds to a Sovereign handle listed in the
mode's member keylist.</t>
          </li>
          <li>
            <t>Verify that the count of valid member signatures satisfies the
declared threshold.</t>
          </li>
        </ol>
        <t>Under the Rung 2 hard-gate profile, a commit bearing
<tt>Acted-By-Mode:</tt> whose member signature set does not satisfy the
declared threshold <bcp14>MUST</bcp14> be marked <tt>unverified</tt>.  Under the Rung 2
warn-only profile (the rollout default), verification is limited to
parse-only and slot-category correctness; threshold satisfaction is
surfaced as informational but does not downgrade the commit's
verified status.</t>
      </section>
      <section anchor="slot-exclusivity">
        <name>Slot Exclusivity</name>
        <t><tt>Acted-By-Mode:</tt> accepts mode handles ONLY.  Verifiers <bcp14>MUST</bcp14> reject
a value without an <tt>org-scope</tt>, and any Bot-tier or Instrument-tier
handle, appearing in this slot as cross-slot category errors per the
rules of Section 7, Step 2.  A handle whose record does not declare
it a mode fails Step 1 of Section 8.4.
The existing <tt>Acted-By:</tt> slot continues to accept Sovereign handles
ONLY, regardless of whether an <tt>Acted-By-Mode:</tt> is also present.</t>
      </section>
      <section anchor="interaction-with-co-authored-by">
        <name>Interaction with Co-Authored-By</name>
        <t>The <tt>Co-Authored-By:</tt> trailer <xref target="GH-COAUTHOR"/> remains unchanged by this
extension.  A commit-UI surface that does not parse the identity
trailer grammar natively shows the authoring mode only when it is
written as text.  Commits bearing <tt>Acted-By-Mode:</tt> <bcp14>SHOULD</bcp14> therefore
include a <tt>Co-Authored-By:</tt> line rendering the mode handle in
human-readable form.</t>
      </section>
      <section anchor="rung-2-rollout">
        <name>Rung 2 Rollout</name>
        <t>Rung 2 <bcp14>MUST</bcp14> be deployed in two sub-phases.  In the parse-only
sub-phase, conformant hooks and verifiers accept and recognise the
<tt>Acted-By-Mode:</tt> trailer, enforce slot-exclusivity per Section 8.5,
and surface member signature counts informationally.  They do NOT
enforce the threshold.  The parse-only sub-phase is permitted before
the <tt>_alter.</tt> resolver has shipped in the deployment.</t>
        <t>In the signature-verification sub-phase, verifiers additionally
enforce that the member signature set satisfies the mode's declared
threshold.  The signature-verification sub-phase <bcp14>MUST NOT</bcp14> be enabled
before the <tt>_alter.</tt> resolver is in production and the mode record
schema of Section 8.3 is stable.</t>
        <t>The warn-only profile is a permitted transitional state, not a
permanent operating mode.  Once the <tt>_alter.</tt> resolver is in
production and the mode record schema of Section 8.3 is stable, a
conformant deployment <bcp14>MUST</bcp14> promote from the warn-only profile to the
hard-gate profile.  A deployment <bcp14>MUST NOT</bcp14> remain on the warn-only
profile, nor stall indefinitely in the parse-only sub-phase, once
these preconditions are satisfied; continuing to accept
<tt>Acted-By-Mode:</tt> threshold claims without enforcement after that
point is non-conformant with this section.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="sovereign-key-compromise">
        <name>Sovereign Key Compromise</name>
        <t>If a sovereign's signing key is compromised, the sovereign rotates
the key and publishes the new key under a new <tt>key-id</tt> in their
<tt>_alter</tt> record.  The previous key <bcp14>SHOULD</bcp14> remain published as a
historical record so that commits signed during its validity
period continue to verify.  Sovereigns <bcp14>SHOULD</bcp14> also publish
revocation metadata distinguishing keys that were rotated for
hygiene from keys that were rotated due to compromise; verifiers
encountering a compromise-revoked key <bcp14>SHOULD</bcp14> warn the operator
that any commit signed by that key is suspect even if the
signature still validates mathematically.</t>
      </section>
      <section anchor="instrument-handle-spoofing">
        <name>Instrument Handle Spoofing</name>
        <t>Because Instrument handles cannot sign, the <tt>Drafted-With:</tt>
trailer is an unverified provenance claim.  A malicious committer
can always paste <tt>Drafted-With: ~cc-example-model-1</tt> into a commit they
hand-wrote.  Implementations <bcp14>MUST</bcp14> treat Instrument attribution as
informational, not attestational, and <bcp14>MUST NOT</bcp14> extend trust
decisions on the basis of an Instrument trailer alone.  The
Instrument tier documents; it does not attest.  The sovereign signature
on <tt>Acted-By:</tt> does not repair this.  It binds a real
cryptographic identity to the commit, and a false <tt>Drafted-With:</tt>
claim then has a named signer answerable for it.  The signature
does not make that claim true, and it attests nothing about which
tools were in fact used.  Attributability is
the whole of what the signature contributes here, and it is an
accountability property rather than a verification one.  A
deployment requiring assurance about instrument involvement <bcp14>MUST</bcp14>
obtain that assurance from a source outside this trailer grammar.
The bounds of what the signature does attest are stated in the
Limits of Sovereign Attestation subsection below.</t>
      </section>
      <section anchor="limits-of-sovereign-attestation">
        <name>Limits of Sovereign Attestation</name>
        <t>This subsection bounds the <tt>verified</tt> state defined in the Verifier
Behaviour section.</t>
        <t>A valid <tt>Identity-Signature:</tt> attests one proposition.  At
signing time the holder of the private key
published under the <tt>Identity-Key-Id:</tt> of the <tt>Acted-By:</tt> handle
asserted the signed payload of Section 5.2 over that change.  It does not
attest any of the following, and a verifier <bcp14>MUST NOT</bcp14> report or
imply any of them on the strength of a valid signature alone:</t>
        <ul spacing="normal">
          <li>
            <t>that the sovereign authored the content, or reviewed content
authored by anything else;</t>
          </li>
          <li>
            <t>that the change was made against any particular base, or that the
tree it produces is the tree the sovereign saw;</t>
          </li>
          <li>
            <t>that any handle named in <tt>Executed-By:</tt> or <tt>Drafted-With:</tt> did
or did not participate, in any degree;</t>
          </li>
          <li>
            <t>that a delegated actor was, at the moment it acted, operating
within an authority the sovereign had granted, in scope, in
force, and unrevoked;</t>
          </li>
          <li>
            <t>that the sovereign observed the act as it occurred, or is in a
position to enumerate the acts performed under its identity.</t>
          </li>
        </ul>
        <t>The signature is a point-in-time assertion over content.  Delegated authority is a
separate fact with its own scope, its own bounds and its own
lifetime, and no property of an Ed25519 signature over a patch
identifier carries it.  A deployment that needs to know whether a
non-sovereign actor was authorised to act for a sovereign <bcp14>MUST</bcp14>
establish that from an authority record obtained out of band;
specifying such a record is out of scope for this document.  A
valid signature in particular <bcp14>MUST NOT</bcp14> be treated as evidence
that an authority existed, that its bounds were respected, or
that it had not been revoked before the commit was made.  The
same bound applies one tier down.  A Bot-tier counter-signature
attests that a scoped key was used, and does not attest that the
use fell within the delegation envelope the sovereign intended.</t>
        <t>The absence of a trailer proves nothing either.  A commit carrying <tt>Acted-By:</tt>
and no delegate or instrument trailer is not evidence that no
delegate or instrument was involved.  The Negative-Attribution
Risk subsection below states the deliberate-omission case; a
further case is that a record of delegated activity may be
legitimately withheld from a particular reader without being
absent from the record itself.  Verifiers <bcp14>MUST NOT</bcp14> infer absence
of delegation from absence of a named delegate.</t>
        <t>Nothing in this document makes attribution complete.  A signature
establishes that one commit is attributable.  It says nothing
about whether the full record of activity conducted under that
identity is visible to the person or organisation the identity
belongs to; completeness of that record, where a deployment
offers it, is a property of the deployment and not of this
grammar.  Implementations <bcp14>MUST NOT</bcp14> present signature validity to
a sovereign as evidence that everything done under their identity
is visible to them.</t>
        <t>Attribution under this document therefore identifies who is
answerable for a commit.  That is recognition and not certainty
(<xref target="MORRISON-IFT"/>).  It does not establish what took place when the
commit was made.  Implementations <bcp14>SHOULD</bcp14>
phrase user-facing output accordingly, and <bcp14>MUST NOT</bcp14> label a
signed commit in terms that assert supervision, review, or
authorisation.</t>
      </section>
      <section anchor="dns-poisoning">
        <name>DNS Poisoning</name>
        <t>A successful DNS poisoning attack against the <tt>_alter.&lt;zone&gt;</tt>
zone could redirect verifiers to a substitute public key under
the attacker's control.  This risk is mitigated by:</t>
        <ul spacing="normal">
          <li>
            <t>DNSSEC validation, required by Section 6.1.  A key from an
unsigned zone, or one that fails validation, is unresolved.</t>
          </li>
          <li>
            <t>Independent transparency-log anchoring through the optional
<tt>Identity-Anchor:</tt> trailer.  The log is a second source of truth
that DNS poisoning does not reach.</t>
          </li>
        </ul>
      </section>
      <section anchor="patch-identifier-collision">
        <name>Patch Identifier Collision</name>
        <t><xref target="GIT-PATCH-ID"/> describes the Patch Identifier as a sum of SHA-1
hashes of the per-file diffs.  SHA-1 is cryptographically weakened
for collision resistance (SHAttered, 2017), and a sum of hashes is
not a hash function with the properties of SHA-1 itself.  This
document has not analysed how hard it is to construct a second
change with the same Patch Identifier, and a verifier <bcp14>SHOULD NOT</bcp14>
assume more than the strength of SHA-1.  An attacker who could do so
could present a different change under a valid signature.  The
signature itself is Ed25519 and is not weakened by this.  Verifiers
<bcp14>SHOULD</bcp14> record the commit hash alongside the Patch Identifier in any
local audit log.  A later finding about the identifier can then be
checked against the history.</t>
      </section>
      <section anchor="costs-of-the-patch-identifier-basis">
        <name>Costs of the Patch-Identifier Basis</name>
        <t>Signing the change has costs, and the following are accepted.</t>
        <ul spacing="normal">
          <li>
            <t><strong>A moved commit still verifies.</strong>  A commit moved onto a base the
signer never saw verifies if its diff and the context around it
are unchanged, because the Patch Identifier does not depend on the
parent.  The change may behave differently on that base.  This is
the bound already stated in Section 9.3, that the signature says
nothing about the state the repository is in.</t>
          </li>
          <li>
            <t><strong>The commit message is not signed.</strong>  Because the Patch Identifier
ignores the message, the message and the trailers in it can be
altered without invalidating the signature.  That includes the
<tt>Drafted-With:</tt> and <tt>Executed-By:</tt> trailers.</t>
          </li>
          <li>
            <t><strong>A rebase can break a signature.</strong>  A commit rebased onto a base
that alters the lines its diff touches, or the lines beside them,
has a different Patch Identifier and no longer verifies.  This
fails closed.  The same applies to a cherry-pick whose conflict
resolution changes the diff.</t>
          </li>
          <li>
            <t><strong>Git version.</strong>  The <tt>--verbatim</tt> option is needed so that
whitespace is not stripped before hashing, and it is not present in
every git release.  A verifier using a git without it cannot
compute the value defined here, and a verifier <bcp14>MUST NOT</bcp14> substitute
the default or <tt>--stable</tt> mode, whose results differ for changes
that alter whitespace.</t>
          </li>
          <li>
            <t><strong>Object formats.</strong>  The identifier was 40 hexadecimal digits in a
SHA-1 repository and 64 in a SHA-256 repository in the author's
tests with one git release.  Other releases have not been checked, and the
format octet of Section 5.2 exists so that identifiers from the two
formats are never taken for one another.</t>
          </li>
          <li>
            <t><strong>No signature on merges or empty commits.</strong>  A merge commit and a
commit with an empty diff have no Patch Identifier.  Their
attribution rests on the parents and on whoever created them, and
not on this mechanism.</t>
          </li>
        </ul>
      </section>
      <section anchor="key-custody-at-the-commit-signing-boundary">
        <name>Key Custody at the Commit-Signing Boundary</name>
        <t>The pre-commit hook (or analogous integration point) that invokes
the signing operation is a trust-sensitive boundary.  The hook
runs in the unprivileged developer process and may have access
to the sovereign's private key.  Implementations <bcp14>SHOULD</bcp14> route
signing through a privileged helper (for example, a unix domain
socket exposed by a dedicated signing daemon, or a hardware
authenticator using WebAuthn PRF) rather than reading the
private key directly from unprivileged process memory.  Direct
key handling in the developer process is acceptable for
prototyping but <bcp14>MUST NOT</bcp14> be relied upon in production
deployments where commit attribution carries weight.</t>
      </section>
      <section anchor="negative-attribution-risk">
        <name>Negative-Attribution Risk</name>
        <t>A committer may deliberately omit the <tt>Drafted-With:</tt> trailer to
conceal AI-instrument involvement in a contribution.  This is
detectable only by out-of-band evidence and is not addressable at
the protocol layer.  Where AI-disclosure obligations exist (for
example, in regulated software development contexts), they <bcp14>SHOULD</bcp14>
be enforced at the policy layer with this protocol providing the
truthful path for honest committers, not the verification path
for dishonest ones.</t>
      </section>
      <section anchor="mode-threshold-non-enforcement-under-the-rollout-default">
        <name>Mode-Threshold Non-Enforcement Under the Rollout Default</name>
        <t>The Rung 2 extension's security value for <tt>Acted-By-Mode:</tt> rests
entirely on the member-signature threshold check defined in the
Verification subsection above.  The rollout path defined in the Rung
2 Rollout subsection does not enforce that check universally.  The
parse-only sub-phase, itself a <bcp14>MUST</bcp14>-mandated first phase for any
deployment whose resolver has not shipped, surfaces member signature
counts informationally without enforcing the threshold, and the
warn-only profile carries the same non-enforcement forward as the
stated rollout default.  In either state, a committer holding fewer
than the declared threshold of member keys (including zero, where
local key custody permits it) can attach <tt>Acted-By-Mode:</tt> claiming
full quorum or governance ratification, and the commit's verified
status is not downgraded.  Implementations <bcp14>MUST</bcp14> treat commits
carrying <tt>Acted-By-Mode:</tt> under a non-hard-gate profile as
unverified for any purpose that depends on the threshold claim.  See
the Rung 2 Rollout subsection above for the <bcp14>MUST</bcp14>-level obligation to
promote a deployment out of the warn-only profile once its
preconditions are satisfied.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="git-trailer-name-registration">
        <name>Git Trailer Name Registration</name>
        <t>At the time of writing, IANA does not maintain a registry of git
commit trailer names.  If such a registry is established, this
document requests registration of the following trailer names
with reference to this specification:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Acted-By</tt></t>
          </li>
          <li>
            <t><tt>Executed-By</tt></t>
          </li>
          <li>
            <t><tt>Drafted-With</tt></t>
          </li>
          <li>
            <t><tt>Identity-Signature</tt></t>
          </li>
          <li>
            <t><tt>Identity-Key-Id</tt></t>
          </li>
          <li>
            <t><tt>Identity-Anchor</tt></t>
          </li>
        </ul>
        <t>Until a formal registry exists, this document recommends that
implementers coordinate with the author and
treat the trailer names defined here as reserved for the
identity-attributed commit grammar.</t>
      </section>
      <section anchor="uri-scheme-dependencies">
        <name>URI Scheme Dependencies</name>
        <t>This document writes the <tt>Identity-Key-Id:</tt> trailer as a <tt>did:alter</tt>
DID <xref target="DID-ALTER"/>.  The <tt>alter:</tt> URI scheme is the
subject of IANA considerations in <xref target="ALTER-URI"/>; this document does
not separately register it.</t>
        <t>The <tt>identitylog://</tt> URI scheme used by the optional
<tt>Identity-Anchor:</tt> trailer is reserved by this document until a
registration exists.  Implementations encountering <tt>identitylog://</tt> URIs
without a registered scheme <bcp14>MUST</bcp14> treat the anchor as an opaque
reference and <bcp14>SHOULD NOT</bcp14> attempt resolution.</t>
      </section>
      <section anchor="no-other-iana-actions">
        <name>No Other IANA Actions</name>
        <t>This document requests no other IANA actions.</t>
      </section>
    </section>
    <section anchor="relationship-to-existing-standards">
      <name>Relationship to Existing Standards</name>
      <t>The trailer grammar defined here is intended to coexist with
prior commit-attribution mechanisms.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Mechanism</th>
            <th align="left">Purpose</th>
            <th align="left">Coexistence with this spec</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Git <tt>Signed-off-by</tt> <xref target="DCO"/></td>
            <td align="left">Legal attestation of contribution rights</td>
            <td align="left">Orthogonal.  A commit <bcp14>MAY</bcp14> carry both a <tt>Signed-off-by:</tt> and an <tt>Acted-By:</tt> trailer.  They answer different questions.</td>
          </tr>
          <tr>
            <td align="left">Git commit signing (<tt>git commit -S</tt>)</td>
            <td align="left">Cryptographic identity via GPG/SSH key directories</td>
            <td align="left">Orthogonal.  A commit <bcp14>MAY</bcp14> be both GPG-signed and <tt>Acted-By</tt>-signed.  Verifiers handle each path independently.</td>
          </tr>
          <tr>
            <td align="left">Sigstore / gitsign <xref target="GITSIGN"/></td>
            <td align="left">Keyless cryptographic identity via OIDC</td>
            <td align="left">Architecturally adjacent.  Different identity provider model (OIDC + Rekor vs DNS-resolved DID + IdentityLog).  May coexist.</td>
          </tr>
          <tr>
            <td align="left">
              <tt>Co-Authored-By:</tt> <xref target="GH-COAUTHOR"/></td>
            <td align="left">Plain-text co-author line</td>
            <td align="left">Orthogonal.  <tt>Drafted-With:</tt> names an Instrument-tier handle where <tt>Co-Authored-By:</tt> names a person or a tool as text.  A commit <bcp14>MAY</bcp14> carry both.</td>
          </tr>
          <tr>
            <td align="left">Linux kernel <tt>Assisted-by</tt> <xref target="LINUX-AI-ASSIST"/></td>
            <td align="left">Disclosure-only attribution of AI assistance in kernel contributions; legal liability remains with a human via DCO (<tt>Signed-off-by</tt>)</td>
            <td align="left">Architecturally adjacent and complementary.  <tt>Assisted-by:</tt> discloses AI involvement in prose-readable form; <tt>Drafted-With:</tt> names the same involvement with an Instrument <tt>~handle</tt>.  Both <bcp14>MAY</bcp14> appear on the same commit.</td>
          </tr>
        </tbody>
      </table>
      <t>Sigstore identifies signers, the DCO attests to legal rights, and
<tt>Co-Authored-By:</tt> names a co-author as text.  The three trailer
slots here separate a sovereign actor, a delegated bot and a
non-signing instrument in the grammar itself, and none of those
mechanisms does.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author thanks colleagues at Alter Meridian Pty Ltd for the
framing of identity tiers, and external reviewers who tested the
tier-slot grammar and the cross-tier rejection rules.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>draft-morrison-identity-attributed-commits-04 (October 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Prose rewritten against the drafting rules, with no requirement
changed.  <xref target="MCPDNS"/> is pinned to revision 08 and <xref target="ALTER-URI"/> to
revision 04, the revisions last posted.</t>
        </li>
        <li>
          <t>Defines Rung in Section 2.2 and writes the three tier names as
Sovereign-tier, Bot-tier and Instrument-tier handle.  Moves
<xref target="ALTER-URI"/> to the normative references, adds <xref target="DID-ALTER"/>, and
replaces a pointer to an implementation the text never names.</t>
        </li>
      </ul>
      <t>draft-morrison-identity-attributed-commits-03 (October 2026):</t>
      <ul spacing="normal">
        <li>
          <t>The signature is now computed over a Patch Identifier under a
fixed domain-separation prefix and an object-format octet, and no
longer over the tree hash.
The Abstract, Section 1.3, Section 2.2, Section 5, Section 7 and
Section 9 follow.  The earlier statement that the tree hash is
stable across rebase, cherry-pick and squash was wrong, because a
tree names the whole resulting state, and it is removed.</t>
        </li>
        <li>
          <t>A merge commit and a commit with an empty diff carry no
<tt>Identity-Signature:</tt>.</t>
        </li>
        <li>
          <t>Removes squash aggregation of <tt>Acted-By:</tt> trailers from Section 4.4
and the aggregation-race subsection of Section 9.  A squash is a
new change signed by whoever squashed it.</t>
        </li>
        <li>
          <t>Adds the costs of the Patch-Identifier basis to Section 9.</t>
        </li>
        <li>
          <t>ABNF: trailer lines end in LF as git commit messages do, and
<tt>handle-label</tt> is renamed <tt>handle-name</tt>.  The <tt>.bot</tt> constraint on
the three handle rules is stated, and the timestamp rules no longer
refer to undefined terminals.</t>
        </li>
        <li>
          <t>Corrects the cross-reference for key custody in Section 1.3 to
Section 9.7 and the placeholder in Section 8.7 to Section 8.3.</t>
        </li>
        <li>
          <t>Adds the missing reference for the Linux kernel <tt>Assisted-by</tt>
convention, removes a pointer to an Appendix that does not exist,
and replaces a reference to a page that no longer resolves.</t>
        </li>
        <li>
          <t>Removes references that the text did not cite, and statements
about the document's own contribution.</t>
        </li>
        <li>
          <t>States how a handle corresponds to an <tt>alter:</tt> URI <xref target="ALTER-URI"/>,
and removes self-description and padding from the prose.  No
requirement changes.</t>
        </li>
        <li>
          <t>Section 10.2 points at <xref target="ALTER-URI"/>, not <xref target="MCPDNS"/>, for the IANA
considerations of the <tt>alter:</tt> URI scheme.</t>
        </li>
        <li>
          <t>ABNF: <tt>handle-name</tt> begins with a letter and no longer admits "_",
as the handle grammar of <xref target="ALTER-URI"/> requires.</t>
        </li>
        <li>
          <t>An Instrument-tier handle is identified by its <tt>cc-</tt> prefix, per
<xref target="ALTER-URI"/>.  DNS resolution cannot settle it, because <xref target="MCPDNS"/>
gives an Instrument-tier handle no envelope.  The
<tt>instrument-handle</tt> rule now requires the prefix, and the Instrument
examples carry it.</t>
        </li>
        <li>
          <t>Instrument Metadata Resolution no longer resolves Instrument
handles through <tt>_alter</tt>, since <xref target="MCPDNS"/> gives an Instrument-tier
handle no envelope.  The <bcp14>MUST NOT</bcp14> on attestational use is kept.</t>
        </li>
        <li>
          <t>Every tier is read from the handle's lexical form, as in
<xref target="ALTER-URI"/>, and no longer from DNS.  Step 2 of Section 7 makes no
DNS lookup, and the paragraph on its DNS-unavailable fallback is
removed.</t>
        </li>
        <li>
          <t>A handle carries no zone of its own.  The zone is the one an
<tt>org-scope</tt> names or one associated with the handle out of band,
as in <xref target="ALTER-URI"/>, and never one read from the handle's spelling.</t>
        </li>
        <li>
          <t>Removes the HTTPS <tt>.well-known</tt> fallback from Sections 6.1, 8.3
and 9.  <xref target="MCPDNS"/> defines none and requires DNSSEC.</t>
        </li>
        <li>
          <t>The mode handle of Section 8.2 is written <tt>~&lt;handle&gt;@&lt;zone&gt;</tt>, and
the zone comes from its <tt>org-scope</tt>.  Revision 02 read the zone from
the handle's first label, against <xref target="ALTER-URI"/>.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1035" target="https://www.rfc-editor.org/info/rfc1035" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC4034" target="https://www.rfc-editor.org/info/rfc4034" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4034.xml">
          <front>
            <title>Resource Records for the DNS Security Extensions</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <author fullname="D. Massey" initials="D." surname="Massey"/>
            <author fullname="S. Rose" initials="S." surname="Rose"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS. This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records. The purpose and format of each resource record is described in detail, and an example of each resource record is given.</t>
              <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4034"/>
          <seriesInfo name="DOI" value="10.17487/RFC4034"/>
        </reference>
        <reference anchor="RFC4648" target="https://www.rfc-editor.org/info/rfc4648" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
          <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="RFC5234" target="https://www.rfc-editor.org/info/rfc5234" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml">
          <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="RFC8032" target="https://www.rfc-editor.org/info/rfc8032" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="MCPDNS" target="https://datatracker.ietf.org/doc/html/draft-morrison-mcp-dns-discovery-09">
          <front>
            <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-09"/>
        </reference>
        <reference anchor="ALTER-URI" target="https://datatracker.ietf.org/doc/html/draft-morrison-alter-uri-scheme-05">
          <front>
            <title>The 'alter' URI Scheme for Dispatchable ~handle References</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-alter-uri-scheme-05"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="DID-ALTER" target="https://datatracker.ietf.org/doc/html/draft-morrison-did-alter-method-00">
          <front>
            <title>The did:alter Decentralized Identifier Method</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-did-alter-method-00"/>
        </reference>
        <reference anchor="GITSIGN" target="https://docs.sigstore.dev/cosign/signing/gitsign/">
          <front>
            <title>gitsign: Keyless Git Signing</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="DCO" target="https://developercertificate.org/">
          <front>
            <title>Developer Certificate of Origin v1.1</title>
            <author>
              <organization/>
            </author>
            <date year="2004"/>
          </front>
        </reference>
        <reference anchor="GIT-TRAILERS" target="https://git-scm.com/docs/git-interpret-trailers">
          <front>
            <title>git-interpret-trailers(1)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="GH-COAUTHOR" target="https://docs.github.com/en/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors">
          <front>
            <title>Creating a commit with multiple authors</title>
            <author>
              <organization>GitHub</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="LINUX-AI-ASSIST" target="https://docs.kernel.org/process/coding-assistants.html">
          <front>
            <title>AI Coding Assistants</title>
            <author>
              <organization>The Linux Kernel documentation</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="MORRISON-IFT" target="https://doi.org/10.6084/m9.figshare.31951383">
          <front>
            <title>Identity Field Theory: Toward a Physics of Being Known</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="GIT-PATCH-ID" target="https://git-scm.com/docs/git-patch-id">
          <front>
            <title>git-patch-id(1)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8196XIbR5bu/3qKvHRMWNSgIJKSKJuyPU1rsTij7ZJ0L+Nw
DIpAgahWoQpdVSDF9vIs8yz3ye75zpKZVQBkd8xMxCh6AYFaMk+ePOt3TqZp
mnRFV+Ynbu9sllf0+S497bqmuFp3+cx9V3TuWb1cFl3rborMXRZ5k150zXra
rRv6/bLJijJv2r0ku7pq8psdj9FH7CWzelplS3rbrMnmXbqsm6Zo6yot7KbM
35RO5ab04FEyzbr8um7uTlxRzeukWDUnjgbRdkcHB18eHCVJtu4WdXOSOJfS
f52br8tSXvRtmX3I3Rt9Ef9YN9dZVfw964q6OnGnZZc37k3eFLMiq9z77s69
7mZ8Yb6k2Z24KzziD/S+PMO1YxpYklR1s6Qn3OR46fnLZ4cHDx/rx6PDwy/1
46ODh4/s4/GjL/Tj4yP/7RcHD4/s4+ET/vbNs/fP316c8AhsbZ4X7bS+yZs7
V89pMrO8JJpWXf6xc++buqundeku8oaukHWiB7jLP1+683xaNzMiPB4WiPSb
JPoHiNRlzXXenbhF163akwcPZlmXdU02/UCUKvJuPqYnPaB1f7DoluWDwbov
p6t0VrXpzOaXHnzJT6Wn0MiODo6O+c+W3py3WHwb/hnNvqnyLn2OJ24w1I4H
n76+fHGefn9+1ifv5SJ3n/Pifu7oR3cxXeTL3M3rxhHlV1k3XWRXZe5+XWTV
jP7/PJ/nTV5N8/+9lOXZpOumSFueTHrw+L+FsNuem+D+aDs8P3ueMqU3qTwr
Zif8CPc8n9Keb7Ky+DtJCJEa84JpQcSc/a8lLM1AibDkgaYHB/8thN3+3O/O
Li/OvnvbJ+Q1icXimub4b/ldmbcti+kL+qaorve2z7CetmO6p+3qJh/P8psH
0xqPeNDKXQ/0kQ/6U3mIxXz2biCL8pu8rFdE3Gd5gzWDdIZcetcU10Xlbg7H
hztGYXdOw41M695bSd7zvNPL89Oz1y/OLzYmnxYg5aohWnaqgO4d7m9/Jy5v
p0sIbabCg+3345Wv0mfvTr+/fPVuwLfPmpx4qrp2mROd5G6LbuGW67IrViQN
hEm3igKa3AlW59X6ave60IgW6yseYV49WBGTp03+t3Xedu2DRX2bdnX7QF6c
khyqrnP6U4eUZqomUwwptSGlOiR65+uzt9//OT09S08vLs4uLvszOz0jNTLD
1E7btmi7rOp2TwPb93VRrT8S2xEfl44Gv17StuUNt3t6H/hqXudVU5PMxGxm
PHj/0jF2GnTfu/Pzs4t3b9Ozl4OhmlnhXhZ5OcNg2B64rG+zZkYr835x1xbT
Fnz4bY4Z/VtV31b/k1JksOE3517wnA8PxscHXzx6sPxyPKcNuMhoAz48/PLx
4cMvHiqjvz+9fPYqPXu+yeisesg6+sfY2+5KkjRNXXbVQrh1SXK5KFq/am6W
z4sqb4l2dI9xtu4Hd91ky2XWQAUmW4wzurySz0Sl1q1bULwjBpmoipw4uytZ
NQU9mVSDvnFGRhxfS4YOGypeR4tIHDtmNRvBVVHNWtfigpwklKOZEGePYPLV
pHLocVd1144cvdYRPxcVzZYn2Lqudu0qn0LS6PzEOuoWTZ6T3Uuytg22rIkC
d29yOoUB+u3dZOQmLz7m03X4k4U3/fUn2m+T/QRv5ce5egVaZKWbNnerrqbh
rxb03uip3jKGqM7w0skoCd+SME/PZnhHMKGrKTHuZF9J0tp9jtaRJrTCuBIW
Ri9mR48fH37pQCYmrsz389YxM+hqQL+O+OebrFznyQQrb9wyofVpaJlaN2/q
pTyExU30PLekHUPEXld0rcuSefGRKDejhSiqtM1XWcP7xpFspZ9o2Gcd7qa/
SO844h8ItejRTL+q5otck7eQX+AkJmg8EbfI2gU979Qz6iLryC9ooGX5upa2
tA34Q56vwNhEjGJ+hycG0mXTpiaV2eRXWZsnxMY1sQ5NqMlL4Sb6ekQPyhsy
GlfF9IOw1pLkVkaPprdUM7AXBpMsc9qONiQbTVWH18nNmWv/tqYJYN0yV+W3
Nn1ch3feudtFnWPt5EJsEryBjHy2rCosU9OCj5r8r/mUXoZZpOBhZ95RQkOu
wWn5+HqMF5PJYZtBrlTzlfYf/Ri43LVl3e27rE2WWYn35TPluGWOgRbtEiMn
6X1DfNSkVb6G4TYihlnl2J11VZJnUiXYzbIjYklA61qXLClcVtJAiV+XkNNY
QtnyTKUESq9ohIBqG6rohtwndljRCmF4qd/VvMCwI6CBiDw3xTQfi9hbFjN6
e5J8BsOrqWe0zXFR8tlncJnIml+6C1JdOaiTJBf1mqySlMUa+VK3dfNhXta3
GMstJk63516G0Fq1Xu0vihURJ2HBTiuZd7d5XrnFmhYtSElILLddYiWxxIJx
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
QCPzj1zUynQQIJQk5mSbxI1t/MT9YP+KBS4ZpwwyGKPhTa1W87vD7SXYZlap
YmNFIT5pkMn0DMv6wDFarlvLPElxANhWsVtZc1XQzmmKkqOEMUAM84zaKcY2
mDRswg6KhRV2T5MrqIghzEnsGkh4N8hXll6hj8BUkipSCpmteJk4gkxSBMhS
DxnHbhqFF6cQEsiKxgUZLBJ54UKJQaLLrfhC652lPJ/2a1FpqczVSoKI6F8k
IQ71T08GI5psLR1FYgFSL+q9dDKo9+Q2ClH9ZX+eXJfIl4TSy/jPuGJoUHvn
9v6w53zTrV21jO5p757dNYefeIC/aaPq0L++d8fXdraDdOa5f4/r53rf7Se9
P6NbrZ7LCtDub69E21WNF/8b3rlPd3EK5rTHSyFpy98Soxa+74eHxxCvsYz9
u7RzToaX99qfdQqBIYH6lTznmz9YDJABRXE8VOJcvtznb8SXQQRWvZZaxMj8
inFPQ1oDMU3x/8FKgejOYTuxxNqJbbtWPXUf2s0+5NriKppckpXsfPpWbN72
sIZr5qTKfAyu8IeJ1bUkAb7U39MDK0Yrq/qdzRD5qhivKAGybKZocnECSRXp
PrfmdBbx8C/jqhOU2vsqmdDYLmBjH2rSI0gXIGwGMupTEkcRWyFBSBZwp6iI
SIoiqueVcUhGRdoeoUVR39KMKaKwzFBMB0bUhGTWUAcawrOn4GI0AZIsgtYg
gbBwvQZvybbigXsR/C9YVCST3YoPVWI4avBZojl7kMi+oBGqTcJueQmLRZ2i
Sn4jB+MtyKBgavpX7j81UgLfyYal5d73VFu+8VqVMQhoWlvOQV1+1zt929bF
2OsRT4OUAW3f1UrNTZ5pGYjQwvQIP96f9BViQCLwxOCkr6GLRTlMyWgqNSIX
rJawCtJ5waebwpkjquLgO8Rh++95nqq4M+9bkMQry9/jYSRxhJRBUrLTtHPD
vF43ML4KzmbY07K4ReMZgyy9EJQFlo3pm2INsykbTSmTv1sHi0hgiXgfmVks
3bB4gOOhItBgpobp+EyAQRhOBxZyAok8Vkw5tZTp9XTB13jyxN2TjAdyRiSn
sYujhAKfLJH4dtjWLQlHCjVcaWSgd0uKWGUnj1ojg6HJPtplV8VyveQqogmO
GtFRpF4AiTlSGJ8FDD3fYbLs66+q9fKbB1+RB/UN7vbEi4VL8C8MESIFIkGV
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
N+hjPHEkC86mxcg7XbFMSf4/lIa/UTDKAAA=

-->

</rfc>
