<?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-03" 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-03"/>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <email>blake@truealter.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="09"/>
    <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, which a copy of the same content does not carry
(<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>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-informative-reference">
      <name>Identity Tier Taxonomy (Informative Reference)</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 lines of a git commit message are
terminated by LF (%x0A), so the trailer rules end in <tt>LF</tt> and not in
<tt>CRLF</tt>.  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.  A squash is a
new change and is attributed to whoever performed it, so the
<tt>Acted-By:</tt> trailers of the commits it replaces are not carried
into it, and a commit with more than one <tt>Acted-By:</tt> trailer is
malformed.</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"/>, which uses SHA-512
internally and produces a 64-byte signature over an arbitrary
input message.  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, and not with <tt>git diff
--cached</tt>, which reads that 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, so it 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>Key rotation is supported by the <tt>Identity-Key-Id:</tt> trailer, which
identifies which key was used to sign 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 is
defined at the mode level rather than at any member's level, 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 pick one member arbitrarily as <tt>Acted-By:</tt>,
which misattributes, or omit <tt>Acted-By:</tt> entirely, which drops the
commit to 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>Rung 2 does not change how tiers are read, which stays lexical
(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.  Commits bearing <tt>Acted-By-Mode:</tt> <bcp14>SHOULD</bcp14> include a
<tt>Co-Authored-By:</tt> line rendering the mode handle in human-readable
form, so that the authoring mode is visible in commit-UI surfaces
that do not parse the identity trailer grammar natively.</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 referenced backend
implementation.</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, so a false <tt>Drafted-With:</tt>
claim becomes attributable to a named signer rather than
anonymous, but it 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,
which is that 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, which 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, which Section 6.1 requires.  A key from an
unsigned zone, or one that fails validation, is unresolved.</t>
          </li>
          <li>
            <t>Independent transparency-log anchoring via the optional
<tt>Identity-Anchor:</tt> trailer, which provides a second source of
truth that is unaffected by DNS poisoning.</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, so that a later finding about the identifier can 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>  The Patch Identifier ignores
the message, so 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 depends on the <tt>did:alter:</tt> URI scheme via the
<tt>Identity-Key-Id:</tt> trailer.  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 rather than to replace them.</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.  None of them separates
a sovereign actor, a delegated bot, and a non-signing instrument in
its grammar, which is what the three trailer slots here do.</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.  Additional contributors will be named at review time.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <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 "_",
matching the handle grammar of <xref target="ALTER-URI"/>.</t>
        </li>
        <li>
          <t>An Instrument-tier handle is identified by its <tt>cc-</tt> prefix, per
<xref target="ALTER-URI"/>, and not by DNS resolution, which 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, which <xref target="ALTER-URI"/> forbids.</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/draft-morrison-mcp-dns-discovery/">
          <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>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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>
        <reference anchor="ALTER-URI" target="https://datatracker.ietf.org/doc/draft-morrison-alter-uri-scheme/">
          <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>
        </reference>
      </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81963IbR5bm/3qKXDomLGpREElJlE3ZnqZ1sTij25K0u3sc
jkERKJDVKlShqwqk0L48yz7LPtme71wyswqA7I7ZiVhFX0CgLpknT57rd06m
aZp0RVfmJ27vbJZX9HmdnnZdU1ytunzmvis696xeLIqudbdF5i6LvEkvumY1
7VYN/X7ZZEWZN+1ekl1dNfntjsfoI/aSWT2tsgW9bdZk8y5d1E1TtHWVFnZT
5m9Kp3JTevAwmWZdfl036xNXVPM6KZbNiaNBtN3RwcGXB0dJkq26m7o5SZxL
6b/OzVdlKS/6tsw+5O6Nvoh/rJvrrCr+kXVFXZ2407LLG/cmb4pZkVXufbd2
r7sZX5gvaHYn7gqP+BO9L89w7ZgGliRV3SzoCbc5Xnr+8tnhwcPH+vHo8PBL
/fjo4OEj+3j86Av9+PjIf/vFwcMj+3j4hL998+z987cXJzwCW5vnRTutb/Nm
7eo5TWaWl0TTqss/du59U3f1tC7dRd7QFbJO9AB3+ZdLd55P62ZGhMfDApF+
l0T/BJG6rLnOuxN303XL9uTBg1nWZV2TTT8QpYq8m4/pSQ9o3R8MlnwxXaaz
qk1nNrUH/Di6nYZ0dHB0nCRY7IjK351dXpx997ZPmWtikeKahvjv+brM25ZZ
9oK+Karrve0DrKftmO5pu7rJx7P89sG0xiMetHLXA33kYDwP6c/nz94N1iW/
zct6SbR5ljddMS/AqVijd01xXVTu9nB8uGMUduc03Mik6r314JHMO708Pz17
/eL8YmPyaUFs0CybvEs73Yz3Dve3vxOXt9MFGJip8GD7/Xjlq/TZu9PvL1+9
O++/8VmT03pU1y5zsj/dXdHduMWq7IplmSuPbWU4mtwJVufV6mr3utCIblZX
PMK8erAkHk2b/O+rvO3aBzf1XdrV7QN5cTq9yarrnP7UIaWZiowUQ0ptSKkO
id75+uzt939JT8/S04uLs4vL/sxOz2hLzTC107Yt2i6rut3TuLzJ3euiWn0k
tmsq2o00+NWCZBjvl93T+8BX8zovm3pK/EqzmfHg/UvHN92ihBx4d35+dvHu
bXr2cjBUE7HuZZGXMwyGZeNlfZc1M1qZ9zfrtpi24MNvc8zo36v6rvrvFALR
rt0+94LnfHgwPj744tGDxZfjOW3Am4w24MPDLx8fPvzioTL6+9PLZ6/Ss+eb
jL7MuukNaYp/jr3tLrrj9PXli/P0+/Oz/rOxlp+zZP/c0Y/uYnqTL3JHoseR
2OX7syti7d+I32b0/+f5PG/yihbv/0exyhNJV01BpMA8NqVqmqYuu2rxsC5J
Lm+K1nOvm+Xzospb4iGine1wlQvuuskWi6wBZZItCpsur+Qzza11qxac1xFx
J0q5ibO7kmVT0JNJrusbZ6TY+VpSfqy8vFYQS2HseMvZCK6Kata6FhfkJKkd
zYR2+AhmQE36gh53VXftyNFrHe3roqLZ8gRb19WuXeZTSFydn2jM7qbJc7KF
iHhtsG9MJLp7k9MpjJJv15ORm7z4mE9X4c/nGCL99WeSO5P9BG/lx7l6CVpk
pZs262VX0/CXN/Te6KneWoLKyvDSySgJ35JSS89meEcwq6opsdtkX0nS2n2O
1pEmtMS4EhbKL2ZHjx8ffulAJiauzPfz1jFT62rMacoj/vk2K1d5MsHK266Z
0Po0tEytmzf1Qh7CYjd6nlsQnxOxVxVd67JkXnwkys1oIYoqbfNl1jC3O9Ix
9BMN+6zD3fQX6V9H/APhHj2a6VfVfJFr8hZyHJzEBI0n4m6y9oaed+oZ9Sbr
yFaknZDLA1vaiDbgD3m+BGMTMYr5Gk8MpMumTU2mQ5NfZW2eEBvXxDo0oSYv
hZvo6xE9KG+adbosph+EtRYkvzN6NL2lmoG9MJhkkdPOtSHZaKo6vE5uzlz7
9xVNAOuWuSq/s+njOrxz7e5u6hxrJxdik+ANZPixWVRhmZoWfNTkf8un9DLM
IgUPO7OYExpyDU7Lx9djvNid+c0gV6pUo/1HPwYud21Zd/sua5NFVuJ9+Uw5
bpFjoEW7wMhJi90SHzVpla+IrcsRMcwyx+6sq5Ks1SrBbpYdEUsCWte6ZEnh
spIGSvy6gL7CEsqWZyolUP5FIwSc0pjpFSpwof+IHZa0Qhhe6nc1LzDsKWhi
Is9tMc3HIvYWxYzeniSfERW6pp7RNsdFyWefwYwmIb9wFyRmc1AnSS7qFVln
KYs1sq/v6ubDvKzvMJY7TJxuz70MobVqvflzUyyJOAkrOFrJvLvL88rdrGjR
gpSExHLbJVYSSywYiWJzyQ67zRpm31l+TVuCtTz5A/k1T5jW6EVGe7ueJyB4
/pGMClzsF61lxUa7jq7CDyaSIRi9Tceit014CYnHOlkZWu5F8fGESOnu3zcz
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
Sd0y8CShQivJAzOEgRjea2QJImtERoMxLF+STwdkkJ/x4YcQdyhEZImq7jja
yqlWDRxY1MAHFGjkUYzDXGqWuhg5cUMjObIYcqHhJe+tie5HgAG+dmIBEu8N
eh8/jZOgEg+IkBaRCfaEvSYPKGKFcGl+672zAMALsJd9cZ+2xCu8scJJQ7Gb
PamLin1jQ1m05ny3epPFdHmn2Ag8ypL8Fg2FJ8sVueOtJD55M1nQwBKgz8no
IFbIs0Uv+qADbRPlak4uxC/zTv3ADk+SX4Qw+u+XfsbOnbLZY78pJNYxi8pX
pjbcH/73S/JLGv/r/5X+3m+funznY2iWwWjEsMXq0czfiJmrtVn6iBrZyPbV
Hzfhwiw5QhsIe9GLx6qpZc+PUDf81l/+uNkTEzYOFNIz3tYyvRih4V8ZI3vw
zl/+X6h9GkRy6r0aiRVJqHUWJFGZf2Shgg3IDjntr9iLCj7UwxPLg0BmTWS+
xOgfZC+BwB1jfDJ6aMaCbUKjmiThmogieinL7sj5ZMRBlRcA7vDDeczBy0hV
VjJ2y7I9bd51CFdHD2VQgtqwUFM+1BZ5uEwQNnOgkgeRKos7wP3kIHdiqQu5
r+YRsjJis6bKN8jJiqHtWcJxcLlFthrDh9USp76yUozFlmE+Q94weYh4oolN
DlltMVJNSUQx/WHmT6JZ+kzVdO7eW5OH+xyfQIBYpHFId/WDxj2x2q6JjB8h
Nznd7+NmW2ksqtIR8067ci0iUUUoje23335LMhYBV2sDDvOm+drtedGw5y7e
Byco1YV6/TLJbSfHN9Od8Q7nm4mXo9tmSnHG99p9dFtvJfi+gJ+JbvfQg3if
fx1VLHgMnjxkL5fQ+cleskNMI5F6/GjVlNEj4xeRYIFtboQZwPrkLbNiFkCb
vbszjm9u3i1xTx2jXV3W1ycPHuwcqbd/3d5/PGi7mwd7tDv/7vY+21OTA+Ok
lycbyyUv/21Pd0cKO2rHW56G3Zlz5NztQRrt8c63n3bee5UDMc8G5R7Jp70k
Wnz/758cSm8YySZX/NMPHA6yNzV93c4nyDCeKiop7zhWHcIF8kCJMe18xjCa
lkRDj6h0+vr9q1N3cP/46J5+fuCen5EvQf+/R2+h/x3vuf2drylzxjOxy7kZ
wsPKtKs5jTNemX/5ePRifHw0Pn45fvLod4gw0njdjIRtm6dtXrWF2HlJf0PY
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
eITZRS5Q6T4UfWN7+RI+5m7pkhFkJ9emKDQ2jv9bLrPbipSt+WAo7rG4E6HK
ANGz07en28ChcIjsrO+3YNjz/LrA4WqCjDnt92a9IynFDg4/LsJNFdZMvpHb
OTuBE0MMK6ev4JpRaeLnk7Z6A2rXQsHmSDIYPlaHuC4boU00vg1cSf89CSuI
QdXisEOIlHQa00zwR+Rs89+xjuYvNuE8/a8FZtP/TmK/ExRfdUXJxbvNglGr
On/xI0aDVAiWFSeM6gEOAVUP/2Jacw4B/OzDkeICsf0tOyQKVmg/hthjhCCC
e8oYCmXQ6Bzw0FNIFzKcw07M8/35mbsAGDwnFad9wQs5u6/fr7S3gSbhPOUJ
P6KVR2jo/FNNY9Vh33JzofJ0Jb4nMQaz6LTH8YPTRZ8OaA1+TuSINUFllGtd
HsaC2Gmp/XPPe6NYtaH3wR9p615ExNcQaxjOShgl6XG8cMkWmdhDBG8bo2wH
6clls8pnNvJIpDIXaT86xtfWy4w2XxI2Eve09QFtxgeQaxnXvIp1XKujzUtx
OlWpczlgcN3Y5I3W4WopnGql4VVeyiRJo2MTv7Dyrgu0KSCR3m5vbdXj86L1
CAQJ7IupygcDkkNSW8PqNLb5vc/a9hydrrYTGy2j+Yt7Y5fubpryi3uveuWP
/fuFBLbASkD0CPhP8usPPuK/+u+X5Jf0D/z7Qxf9F67/b/hHM2PlN5FD1Mgz
ItdoPXE/Pn/27qd4DV6Tj1fGkOxhizLXwCFs9fJ3DW2ya+1TsrMHyOC1GuYd
9JvtST2EwJD5jiKsvHF4l/RXjOcVIfv5fMxJdNB4ejHZB3dtx2BDDn/3/rsH
FxevIve9Zrv2U/O7ymVydG+qmVaOXXvdqt/28CV2KDasS3Y4ipBnZW9hG0vi
1Amkd3L3AEYGN4BGavPi7Lu3fu1+QYiJqzd3YM0xz3dnz5/Z5afNFJHMKelz
Ofhv9jfa4YLf8zT3d1tTa2lG5+7xk/4nyaoPJEpu2/6ZAM/PntNvpgde19cA
Hbzhk8h5g49tYpv1mP06UB7o+xLtnTjxM61TVfhct7l1C/eXbBhxEJNgZydv
jYdsjkvvi+AvGePg2bPBSa87uX/MM31dVKuPxF9NRdSbnLYtw+dkC74+e/v9
X9LTs/T04uLs4vInmsNzH2/Q2u1IStN+PD0DJsJSyUVlD+61EnzqSt7LZWHo
eSur1YaUXNnKfEFCgLZMXzTsf4JHmNMF2cM6mWNZ8awYgttq5zYa7SCOQ9zE
tTtSU8u24dMdS+Vdy/gRFuKNijripoPfYl9iFfTkVUNShxNNsSiJ31YR7EYS
ktqWF2Tx8MFaySniT0K+u/kkcGpgkLe1P1h8EY7h66OOIHlGPSjylT/snn06
k3C9IBk3AlI7IIIG+YIDaX3iO8OXdSfFFmSXsMlxOgXUtcxn1xwVVMiijB8m
wIeWQQx5dr1i9Jo75VTIG5Jrs4LW4T0x1+suWNTzRrot0WRDrUshh97zOcJ6
vI7i0KXXBOcwJKKe4GKpsTfrxnvSXH6vPYD+pg4nF9xjC/oC2vhcKjA8uetX
hiBnABpezI6eHJ1h9tkrSaQnP59UKwQS8tnXe1yRs/drkvApy+mibhpAUNLd
R3e26cFDkpG0mIhFHB0cHe+T43V/cLwT+/53luOaGVx5I5OoLj1SKnyIqTa8
Uw7i+J0c7ahKdefJphXSMpqQrO3AMH9QGTrPYoCnVy23KB/5vM8h0tbRuafh
j8fh4xNNgvhct/qp1rldzluW+E7AWvdGIIl0Sc7RVsBKawa3dyybdLKQE8mQ
WrvDoVMh9Z9ZscHwfDXJ8MkBBBJk8nlLkoy1tJu5vzW79Inckkh6Ju3Wwhd+
5jk/v7VRZ9fXjaFJ43ZwcfcVzh6EhnWP9HxndlfC7WkDszyKvUTpui8/fcB7
qIK0nJZcivBnJ5SYzew83U8hSqQKjwRkeDHf/e3blyde6EgSXZtFvn4JsRiZ
aAo3gKNkybSJdptkgOBEFkn2r/2Cv6zX4ATtJycKYEJ8xnFbpiD8eq0ApXi7
i7KeLArou8VSLwmHljqJqXAD6sqcLDn8gQQDT/WZNFJpIwkV3EcIxTjYGOFB
aGMhEBZtmvETPyL2uLT0KbrnC7okorV0GIzWikHXxOP9AeCX3TYIJ0+rW6yo
YCuFW7XgQ+ZOXH+6hKlKgkZbWFgIHDadnT+unmI7bKAFlPZ1ODZQpZCajG1v
k/j7oi6HbP5ZMc+0sN3rpQkER4DNmLstHeP7SSO86ULw6gDA+V5x/f6W7JzE
gZcokBKmqps6L+epgAuXHoarx5+FpDjbPGwFhN5ki4BgExJ4xjgYHwnxWd3G
L2cKWCO3kV9chBFkGeMIkBW+bYaQoi3a20/SmtXbiGXOIfg+mEV7Ze795x5I
sYA8sLSBEjNqtx2NXd650/Yu2mCJzXw71Ok0tdPe7BSKHjkM86zw0BCVMUPI
yqu5V6eAxkxVDE4J2u0W9M8OuhTkUjDBtMnuhGUHK/XQfO4mHOhsOzu8BAgZ
65AtikRF76ePSNqyg/oPtdJyy6Jb34ERWjxO/8DE/TM2px6yzPXg9CI+d6tA
G4OlzOLFP99knutQtq+xTZkfgfbwTrsq9VotaYkFK+RwdkIgPowmdo4xfHAY
XNdVld2SnhJvhFwddHURa6RvGZisCOf3ahtfq1Ibtr69yRXrAoYZdpM0UPYn
jj2LasBY7AyDuqOogW5d5bto7FtkxnIWV3BTQtKed/R7CiegmgQCxCZIC7z5
COpGpd+X248b05a+nv8Fxj426zdurtTrqHLEDkuDjF+1pduxWQWdEVcK4f1J
SxFt+Sxf7Xl5cOT8odh8G27Qx3jiSMKV7QyTGXFbZeLLq2JG8vn/Ancem2HE
xQAA

-->

</rfc>
