<?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.36 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-morrison-mcp-dns-discovery-03" category="info" submissionType="independent" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="MCP DNS Discovery">Discovery of Model Context Protocol Servers via DNS TXT Records</title>
    <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-03"/>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <postal>
          <country>Australia</country>
        </postal>
        <email>blake@truealter.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="06"/>
    <abstract>
      <?line 69?>

<t>This document defines a DNS-based mechanism for the discovery of
Model Context Protocol (MCP) servers, the identity properties of
the organisations that operate them, and (new in this revision)
the cryptographic identity envelope bound to an individual Sovereign-
tier <tt>~handle</tt> published under the same zone.  Three TXT resource
records are defined.  The <tt>_mcp.&lt;domain&gt;</tt> record (defined in v01)
advertises the presence, endpoint URL, transport protocol,
cryptographic identity, and capability profile of an MCP server
associated with a domain name.  The <tt>_org-alter.&lt;domain&gt;</tt> record
(introduced in v02) advertises the canonical organisational identity
of the domain operator: legal entity name, registry identifier,
founding date, primary regions of operation, and any regulatory
frameworks under which the operator is bound to refuse external
automated access.  The <tt>_alter.&lt;domain&gt;</tt> record (introduced in this
revision) publishes an Ed25519-signed identity envelope binding a
<tt>~handle</tt> to a public key, an IdentityLog Signed Tree Head root,
and a revocation commitment.  Taken together, the three records
provide service discovery, organisational identity bootstrap, and
individual identity recognition from a single canonical source:
the domain's own DNS zone.  This revision additionally requires
DNSSEC <xref target="RFC4033"/> validation of envelope responses and a DANE TLSA
<xref target="RFC6698"/> pin binding the MCP endpoint's leaf certificate to the
published zone.  A companion URI scheme (<tt>alter:</tt>) is registered
provisionally with IANA per <xref target="RFC7595"/> for handle dispatch.  The
mechanism complements HTTPS-based discovery
(<tt>.well-known/mcp/server-card.json</tt> and
<tt>.well-known/alter-envelope.json</tt>) by providing a lightweight,
resolver-cached bootstrap that requires no HTTPS round-trip.  The
design follows the precedent established by DKIM <xref target="RFC6376"/>, SPF
<xref target="RFC7208"/>, DMARC <xref target="RFC7489"/>, MTA-STS <xref target="RFC8461"/>, and the existing
<tt>_mcp.</tt> / <tt>_org-alter.</tt> labels of v01-v02.</t>
    </abstract>
  </front>
  <middle>
    <?line 103?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Model Context Protocol (MCP) <xref target="MCP"/> is an open protocol for
structured interaction between AI agents and tool-providing servers.
A complete agent-to-organisation-to-individual interaction chain has
three distinct discovery requirements:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Service discovery.</strong>  Where is the MCP server endpoint?  What
transport does it speak?  What cryptographic key authenticates
it?  This is the question v01 of this document answers via the
<tt>_mcp.&lt;domain&gt;</tt> record.</t>
        </li>
        <li>
          <t><strong>Organisational identity bootstrap.</strong>  Who is the organisation
operating the server?  What is its legal entity?  Where is it
registered?  Under what regulatory frameworks does it operate,
and which automated access pathways must it refuse to participate
in?  This is the question v02 answers via the
<tt>_org-alter.&lt;domain&gt;</tt> record.</t>
        </li>
        <li>
          <t><strong>Individual identity recognition.</strong>  Who is the Sovereign-tier
person bound to a <tt>~handle</tt> hosted under the domain?  What public
key signs their statements?  What append-only log anchors the
lifecycle of their identity?  How may their envelope be revoked?
This is the question v03 introduces via the <tt>_alter.&lt;domain&gt;</tt>
record.</t>
        </li>
      </ol>
      <t>The three questions are distinct.  An MCP client may need to
discover an endpoint without caring about the operator's identity
or any individual handle.  An onboarding wizard installing an
org-alter instance may need to read the operator's identity without
caring (yet) about the MCP endpoint.  A recognition verifier
(resolving an <tt>alter:~blake</tt> URI) needs the individual envelope
without necessarily invoking an MCP session.  Conflating any two of
these into a single TXT record would force every consumer to parse
fields it does not need and would crowd the 255-octet
character-string limit.  Splitting them across three
underscore-prefixed labels mirrors the pattern established by DKIM
(<tt>_domainkey._domain</tt>) and DMARC (<tt>_dmarc._domain</tt>): each record
serves a single semantic purpose.</t>
      <t>This revision is fully backward-compatible with v01 and v02.
Implementations that consume only the <tt>_mcp.&lt;domain&gt;</tt> record
continue to work unchanged.  Implementations that wish to bootstrap
an org-alter identity may additionally query <tt>_org-alter.&lt;domain&gt;</tt>.
Implementations that wish to recognise an individual <tt>~handle</tt> may
additionally query <tt>_alter.&lt;domain&gt;</tt>.</t>
      <t>The envelope layer formalised in the new <tt>_alter.&lt;domain&gt;</tt> record is
specified in full by a companion document, the ALTER DNS Publication
specification <xref target="ALTER-DNS-PUB"/>, which pins the envelope JSON schema,
the JSON Canonicalisation Scheme (JCS, <xref target="RFC8785"/>) serialisation,
and the resolver-side verification algorithm.  This document is the
IETF-track surface for the underscore-prefixed DNS label registration
and its DNSSEC / DANE / IdentityLog cross-references; it does not
duplicate the envelope wire format beyond what is necessary to
specify a conformant TXT grammar.</t>
      <t>The individual-identity layer is grounded, as the organisational
layer is, in the identity field framework of <xref target="MORRISON-IFT"/>.  A
<tt>~handle</tt> is not a reserved alphanumeric slot but a durable
recognition attractor in the identity field.  A DNS record provides
a discrete checkpoint into that field: the envelope published at
<tt>_alter.&lt;zone&gt;</tt> is the handle-holder's own canonical declaration,
signed by their Ed25519 key, witnessed by the IdentityLog STH
anchor surface <xref target="ALTER-STH"/>, and consumable by any resolver with
access to a DNSSEC-validating recursive resolver.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY",
and "OPTIONAL" in this document are to be interpreted as described
in BCP 14 <xref target="RFC8174">RFC2119</xref> when, and only when, they appear in
all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>(Terminology from v01 and v02 is retained.  Additional terms
introduced in this revision are defined below.)</t>
      <dl>
        <dt>Envelope</dt>
        <dd>
          <t>An Ed25519-signed JSON object binding a <tt>~handle</tt> to a public
key, an IdentityLog root reference, an inception timestamp, a
revocation hash commitment, a signature algorithm tag, a detached
signature, and a caveats array.  The envelope is the unification
primitive of the ALTER identity architecture.  Its full JSON
schema, canonical serialisation rule, and verification procedure
are pinned by <xref target="ALTER-DNS-PUB"/>.  This document specifies only the
TXT grammar that carries the five load-bearing envelope fields
across DNS.</t>
        </dd>
        <dt>~handle</dt>
        <dd>
          <t>A Sovereign-tier identifier, leading tilde mandatory (e.g.
<tt>~blake</tt>).  Bot-tier handles carry a <tt>.bot</tt> suffix (e.g.
<tt>~alice.bot</tt>); Instrument-tier handles use the prefix <tt>~cc-</tt>
(e.g. <tt>~cc-opus-4-7</tt>).</t>
        </dd>
        <dt>IdentityLog</dt>
        <dd>
          <t>The append-only transparency log anchoring envelope lifecycle
events (mint, caveat-add, revocation, key-rotation).  A Signed
Tree Head ("STH") is emitted per-minute and cross-anchored to
Cloudflare R2, IPFS, a federation of independent mirrors, and the
Base L2 chain via the <tt>IdentityLogAnchor</tt> contract.  Protocol
details are in <xref target="ALTER-STH"/>.</t>
        </dd>
        <dt>Organ</dt>
        <dd>
          <t>A broadcast surface for the envelope.  The three organs are: DNS
publication (this document), the local <tt>alter-runtime</tt> L3 daemon,
and the Patent-N HAD silicon quorum.  The term is canonical; do
not substitute "channel", "vector", or "emitter" at the
architectural level.</t>
        </dd>
        <dt>Recognition</dt>
        <dd>
          <t>The act of a resolver observing and verifying an envelope on
cryptographic merit.  Recognition is distinct from claim:
publishing a TXT record is not a claim of identity, it is an
observable assertion that the resolver may verify or reject.  No
field of this document carries a claim verb; resolvers recognise
envelopes, they do not honour publisher assertions about them.</t>
        </dd>
        <dt>DNSSEC Validation</dt>
        <dd>
          <t>The act of an authenticating DNS resolver verifying the RRSIG
chain from the root trust anchor to the TXT RRset, per <xref target="RFC4033"/>,
<xref target="RFC4034"/>, and <xref target="RFC4035"/>, and setting the AD bit on the response
delivered to the stub client.</t>
        </dd>
        <dt>DANE TLSA Pin</dt>
        <dd>
          <t>A DNS TLSA resource record <xref target="RFC6698"/> binding a server's leaf TLS
certificate (or the public key therein) to the zone that hosts
the envelope.  In this document, the pin applies to the MCP
endpoint at <tt>mcp.&lt;zone&gt;</tt>.</t>
        </dd>
        <dt><tt>alter:</tt> URI</dt>
        <dd>
          <t>A dispatch URI scheme provisionally registered with IANA per
<xref target="RFC7595"/>.  Full registration body and handler guidance are
specified in <xref target="ALTER-DNS-PUB"/> Section 7; a normative cross-
reference is given in Section 9 of this document.</t>
        </dd>
      </dl>
      <t>(Terms from v02, Org-Identity Record, Identity Bootstrap,
Canonical Entity Identifier, Regulatory Refusal Marker, are
retained.)</t>
    </section>
    <section anchor="record-format-mcpdomain-service-discovery">
      <name>Record Format: <tt>_mcp.&lt;domain&gt;</tt> (Service Discovery)</name>
      <t>Section 3 of v01 of this document defines the <tt>_mcp.&lt;domain&gt;</tt>
record, its ABNF grammar, field definitions (<tt>v</tt>, <tt>url</tt>, <tt>proto</tt>,
<tt>pk</tt>, <tt>epoch</tt>, <tt>cap</tt>, <tt>attest</tt>, <tt>scope</tt>, <tt>priority</tt>, <tt>ttl</tt>, <tt>ext</tt>),
forward-compatibility rules, and multi-string concatenation
behaviour.  These definitions are unchanged in this revision and
are incorporated here by reference.  Implementations MUST treat any
existing <tt>_mcp.&lt;domain&gt;</tt> record as conformant to the v01
specification.</t>
    </section>
    <section anchor="record-format-org-alterdomain-identity-bootstrap">
      <name>Record Format: <tt>_org-alter.&lt;domain&gt;</tt> (Identity Bootstrap)</name>
      <t>Section 4 of v02 of this document defines the <tt>_org-alter.&lt;domain&gt;</tt>
record, its ABNF grammar, field definitions (<tt>v</tt>, <tt>org</tt>, <tt>entity</tt>,
<tt>entity-type</tt>, <tt>founded</tt>, <tt>regions</tt>, <tt>regulated</tt>, <tt>bootstrap</tt>,
<tt>mcp-policy</tt>, <tt>epoch</tt>, <tt>pk</tt>, <tt>attest</tt>, <tt>ext</tt>), identity bootstrap
procedure, and registry cross-checks.  These definitions are
unchanged in this revision and are incorporated here by reference.
Implementations MUST treat any existing <tt>_org-alter.&lt;domain&gt;</tt>
record as conformant to the v02 specification.</t>
    </section>
    <section anchor="alter-record">
      <name>Record Format: <tt>_alter.&lt;domain&gt;</tt> (Envelope Publication)</name>
      <t>This section defines the new Envelope Publication record introduced
in v03.  The record publishes the five load-bearing fields of the
ALTER identity envelope (binding a <tt>~handle</tt> to its Ed25519 public
key, IdentityLog root, inception timestamp, revocation commitment,
and detached signature) at an underscore-prefixed label under the
handle's hosting zone.  The full envelope JSON schema and wire
format, including fields not carried over DNS (the implicit
<tt>signature_alg</tt> constant and the optional <tt>caveats</tt> array), is
pinned by <xref target="ALTER-DNS-PUB"/>.</t>
      <section anchor="dns-location">
        <name>DNS Location</name>
        <t>The Envelope Record is a DNS TXT resource record <xref target="RFC1035"/>
published at the label <tt>_alter</tt> prepended to the hosting zone:</t>
        <t><tt>
_alter.&lt;zone&gt;. IN TXT "&lt;record-value&gt;"
</tt></t>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>A zone MAY host more than one <tt>~handle</tt> (one envelope per handle);
in that case the zone MUST publish multiple TXT RRs at the same
owner name.  Resolvers MUST disambiguate returned records by the
<tt>h=</tt> field and select the record matching the requested handle.</t>
        <t>A domain MAY publish any combination of <tt>_mcp.&lt;domain&gt;</tt>,
<tt>_org-alter.&lt;domain&gt;</tt>, and <tt>_alter.&lt;domain&gt;</tt> records independently
(service-only, identity-only, envelope-only, or any intersection).
The recommended pattern for an operator running an org-alter
instance that hosts the operator's own principal handle (e.g.
<tt>~blake</tt> at <tt>truealter.com</tt>) is to publish all three.</t>
      </section>
      <section anchor="abnf-grammar">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  The following ABNF (per <xref target="RFC5234"/>) defines the syntax:</t>
        <t>```
alter-record   = version ";" SP handle-field
                 ";" SP pubkey-field
                 ";" SP ilr-field
                 ";" SP ts-field
                 ";" SP rev-field
                 ";" SP sig-field
                 *( ";" SP unknown-field )</t>
        <t>version        = "v=alter1"
handle-field   = "h=" handle
pubkey-field   = "pk=" algo ":" base64url
ilr-field      = "ilr=" base64url     ; SHA-256 of IdentityLog root
ts-field       = "ts=" 1*DIGIT        ; inception_ts, Unix seconds
rev-field      = "rev=" base64url     ; SHA-256 of revocation pre-image
sig-field      = "sig=" base64url     ; Ed25519 detached signature
unknown-field  = token "=" *VCHAR</t>
        <t>handle         = "~" 1<em>( ALPHA / DIGIT / "-" / "_" )
                 [ "." "bot" ]
               / "~cc-" 1</em>( ALPHA / DIGIT / "-" / "." )
algo           = "ed25519"
base64url      = 1<em>( ALPHA / DIGIT / "-" / "_" )
token          = 1</em>( ALPHA / DIGIT / "-" / "_" )
```</t>
        <t>The seven keys above are REQUIRED and MUST appear in the order
shown.  Publishers MUST NOT omit or reorder them.  Resolvers MUST
tolerate additional (unknown) fields appended after the seven
required fields and MUST ignore them per the forward-compatibility
rule (Section 6.4 below).  Resolvers MUST tolerate arbitrary
inter-field ordering on parse (publishers-emit-ordered, parsers-
accept-unordered); canonicalisation for signature verification is
specified in Section 6.3.</t>
      </section>
      <section anchor="field-definitions">
        <name>Field Definitions</name>
        <section anchor="v-required">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  MUST be the literal string <tt>alter1</tt>.
MUST appear as the first field in the record.  Resolvers MUST
reject any record whose <tt>v</tt> field is absent, is not the first
field, or contains a value other than <tt>alter1</tt>.</t>
          <t>The version namespace <tt>v=alter1</tt> on <tt>_alter.&lt;zone&gt;</tt> is independent
of the identically-named <tt>v=alter1</tt> on <tt>_org-alter.&lt;zone&gt;</tt>.  The
two namespaces are disambiguated by the enclosing record label and
MUST NOT be conflated.  Future versions of either record may
advance independently (e.g. <tt>_alter.&lt;zone&gt;</tt> may progress to
<tt>v=alter2</tt> while <tt>_org-alter.&lt;zone&gt;</tt> remains at <tt>v=alter1</tt>, or the
reverse).</t>
        </section>
        <section anchor="h-required">
          <name>h (REQUIRED)</name>
          <t>The Sovereign-, Bot-, or Instrument-tier <tt>~handle</tt> to which the
envelope binds.  The leading tilde is mandatory.  The <tt>h=</tt> value is
the sole field resolvers MAY use to disambiguate multiple envelope
TXT RRs sharing an owner name.</t>
        </section>
        <section anchor="pk-required">
          <name>pk (REQUIRED)</name>
          <t>An Ed25519 public key prefixed by its algorithm namespace and
encoded in base64url without padding per <xref target="RFC4648"/> Section 5:</t>
          <t><tt>
pk=ed25519:&lt;base64url-no-pad-32-bytes&gt;
</tt></t>
          <t>Resolvers MUST reject records whose algorithm prefix is not
<tt>ed25519</tt> until a future revision registers additional algorithms.
The <tt>pk</tt> value is the verification key for the detached signature
in the <tt>sig</tt> field.</t>
        </section>
        <section anchor="ilr-required">
          <name>ilr (REQUIRED)</name>
          <t>Base64url-no-pad SHA-256 digest of the IdentityLog root witnessed
at envelope creation.  Resolvers MUST cross-reference this value
against the IdentityLog witness surface <xref target="ALTER-STH"/> to confirm the
envelope was minted within a recognised tree state.  Failure to
cross-reference renders the envelope unverified.</t>
        </section>
        <section anchor="ts-required">
          <name>ts (REQUIRED)</name>
          <t>Envelope inception timestamp, expressed as decimal Unix seconds
(integer).  Resolvers MAY use this field to detect clock skew,
evaluate caveat maturity, or reject envelopes with implausibly
future inception.</t>
        </section>
        <section anchor="rev-required">
          <name>rev (REQUIRED)</name>
          <t>Base64url-no-pad SHA-256 digest of the revocation pre-image.
Revocation is effected by revealing the pre-image to the
IdentityLog; upon reveal, the envelope is considered revoked and
MUST NOT be honoured by resolvers.  The <tt>rev</tt> field is a
forward-secure commitment: the pre-image is never published in DNS
and is released only at revocation time to the log.</t>
          <t>Publishers MUST NOT treat removal of the TXT record as revocation.
Absence of a record is indistinguishable from misconfiguration; only
pre-image reveal is load-bearing.</t>
        </section>
        <section anchor="sig-required">
          <name>sig (REQUIRED)</name>
          <t>Base64url-no-pad Ed25519 detached signature over the JCS-
canonicalised envelope JSON with the <tt>signature</tt> field absent.
Canonicalisation is specified by <xref target="RFC8785"/>.  The signing input is
the envelope JSON reconstructed from the parsed TXT fields plus the
implicit constant <tt>signature_alg: "Ed25519"</tt> and an empty <tt>caveats</tt>
array; caveats, when present, ride the HTTPS <tt>.well-known</tt> organ
and do not appear in the DNS record.  The canonical envelope
schema, including JCS input construction, is pinned in
<xref target="ALTER-DNS-PUB"/> Section 4.</t>
        </section>
        <section anchor="unknown-fields">
          <name>Unknown fields</name>
          <t>Fields not enumerated above MUST be ignored by v03 resolvers per
the forward-compatibility rule (Section 6.4).  Future revisions of
this document MAY register additional envelope fields; such
extensions MUST be distinguishable from private-use extensions by
registration via the mechanism in Section 10.</t>
        </section>
      </section>
      <section anchor="canonical-serialisation">
        <name>Canonical Serialisation</name>
        <t>The <tt>sig</tt> input is constructed as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Parse the TXT RR character-strings into key-value pairs.</t>
          </li>
          <li>
            <t>Construct the envelope JSON object:  </t>
            <t><tt>json
{
  "handle": "&lt;h&gt;",
  "pubkey": "&lt;pk&gt;",
  "identitylog_root": "&lt;ilr&gt;",
  "inception_ts": &lt;ts&gt;,
  "revocation_hash": "&lt;rev&gt;",
  "signature_alg": "Ed25519",
  "caveats": []
}
</tt>  </t>
            <t>
Values are typed per Section 6.2 (<tt>inception_ts</tt> as JSON
integer; all other values as JSON strings; <tt>caveats</tt> as JSON
array, empty unless a companion <tt>.well-known</tt> fetch supplies
content).  The <tt>signature</tt> field MUST be absent from the signing
input.</t>
          </li>
          <li>
            <t>Apply <xref target="RFC8785"/> JSON Canonicalisation Scheme to the object.</t>
          </li>
          <li>
            <t>The resulting byte stream is the Ed25519 signing input.</t>
          </li>
        </ol>
        <t>Verification reverses this construction and checks the detached
signature in the <tt>sig</tt> field against the derived byte stream.</t>
        <t>Publishers MUST emit TXT fields in the order given in Section 6.2,
but the DNS key=value ordering has no role in signature
computation: the signed bytes are always the JCS serialisation of
the JSON object.</t>
      </section>
      <section anchor="forward-compatibility">
        <name>Forward Compatibility</name>
        <t>Resolvers MUST ignore unknown fields in the <tt>_alter.&lt;domain&gt;</tt>
record.  This rule, identical to the v01 <tt>_mcp</tt> and v02
<tt>_org-alter</tt> specifications, ensures that future extensions do not
break existing implementations.</t>
        <t>Publishers MUST NOT introduce new fields that repurpose or overload
the seven required field names; new fields MUST use new names
registered via the procedure in Section 10.</t>
      </section>
      <section anchor="multi-string-reassembly">
        <name>Multi-String Reassembly</name>
        <t>Where the serialised envelope exceeds the 255-octet character-string
limit of <xref target="RFC1035"/> Section 3.3.14, publishers MUST split at <tt>; </tt>
boundaries between complete key-value pairs.  Splitting within a
key-value pair is prohibited.  Resolvers MUST concatenate the
character-strings of a TXT RR in the order returned by the DNS
library (i.e. the RR wire order) before parsing.</t>
      </section>
    </section>
    <section anchor="dnssec">
      <name>DNSSEC Requirement</name>
      <t>The zone publishing an <tt>_alter.&lt;domain&gt;</tt> envelope record MUST be
DNSSEC-signed per <xref target="RFC4033"/>, <xref target="RFC4034"/>, and <xref target="RFC4035"/>.
Authoritative servers MUST respond with valid RRSIG coverage for
the TXT RRset.  Recursive resolvers handling queries for the
envelope RRset MUST perform DNSSEC validation and MUST set the AD
(Authenticated Data) bit on the response delivered to the stub
client.</t>
      <t>Stub clients (MCP clients, alter-runtime daemons, onboarding
wizards, recognition verifiers) consuming <tt>_alter.&lt;domain&gt;</tt>
envelope records MUST reject any response that lacks a set AD bit
or that fails local RRSIG verification when operating in
validating-stub mode.  An envelope obtained over an unvalidated DNS
path is not an envelope; it is unauthenticated TXT content.
Treating it otherwise is a downgrade vulnerability (Section 11).</t>
      <t>This requirement is specific to <tt>_alter.&lt;domain&gt;</tt> records.  DNSSEC
is RECOMMENDED but not REQUIRED for <tt>_mcp.&lt;domain&gt;</tt> and
<tt>_org-alter.&lt;domain&gt;</tt> records in this revision, for backward
compatibility with v01 and v02 deployments.  Future revisions of
this document MAY promote DNSSEC to REQUIRED for the other two
records once deployment data justifies the promotion.</t>
    </section>
    <section anchor="dane-tlsa">
      <name>DANE TLSA Pin</name>
      <t>The MCP endpoint associated with a published envelope MUST carry a
DANE TLSA resource record <xref target="RFC6698"/> binding the endpoint's leaf TLS
certificate or SubjectPublicKeyInfo to the zone.  The TLSA record
MUST be published at:</t>
      <t><tt>
_443._tcp.mcp.&lt;zone&gt;. IN TLSA &lt;usage&gt; &lt;selector&gt; &lt;matching-type&gt; &lt;cert-association-data&gt;
</tt></t>
      <t>Recommended parameters:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Usage field.</strong> <tt>3</tt> (DANE-EE), pin the end-entity certificate
directly, with no CA chain reliance.  A publisher that explicitly
requires CA-chain validation MAY use <tt>1</tt> (PKIX-EE) instead.
Publishers MUST NOT use <tt>0</tt> (PKIX-TA) or <tt>2</tt> (DANE-TA) for the
envelope organ; the trust basis of the envelope is the
end-entity leaf.</t>
        </li>
        <li>
          <t><strong>Selector field.</strong> <tt>1</tt> (SPKI), pin the SubjectPublicKeyInfo so
that certificate rotations preserving the keypair do not
invalidate the record.  Selector <tt>0</tt> (full certificate) MAY be
used but requires more frequent TLSA republication.</t>
        </li>
        <li>
          <t><strong>Matching-type field.</strong> <tt>1</tt> (SHA-256).  Matching type <tt>2</tt>
(SHA-512) is reserved for future revisions.</t>
        </li>
      </ul>
      <t>Clients establishing an MCP session at <tt>https://mcp.&lt;zone&gt;/</tt> in
conjunction with a resolved envelope MUST fetch and validate the
TLSA record, MUST abort the TLS handshake on mismatch, and MUST NOT
fall back to PKIX-only validation on TLSA failure.</t>
      <t>The TLSA requirement is scoped to envelopes whose MCP session
establishment is triggered by the resolved envelope (i.e. when the
envelope resolution and the subsequent MCP session are part of a
single recognition transaction).  MCP clients that do not resolve
an envelope (e.g. v01-only clients consuming only <tt>_mcp.&lt;domain&gt;</tt>)
are out of scope for this requirement and continue to operate
under v01 rules.</t>
    </section>
    <section anchor="identitylog">
      <name>IdentityLog Cross-Reference</name>
      <t>The <tt>ilr=</tt> field of the <tt>_alter.&lt;domain&gt;</tt> record carries a
base64url-no-pad SHA-256 digest of an IdentityLog Signed Tree Head
(STH) root witnessed at envelope creation.  The IdentityLog
protocol (leaf hashing, Merkle-tree construction, STH cadence,
witness federation, Cloudflare R2 / IPFS / Base L2 anchor path)
is specified in full by <xref target="ALTER-STH"/>; this document does not
duplicate that specification.</t>
      <t>Resolvers verifying an envelope from DNS MUST cross-reference the
<tt>ilr=</tt> value against at least one IdentityLog witness surface
(federation mirror, R2 canonical read, IPFS content address, or
Base L2 <tt>IdentityLogAnchor</tt> contract).  The specific surface is a
matter of deployment preference; <xref target="ALTER-STH"/> Section 6 gives
conforming client profiles.  Failure to cross-reference renders the
envelope unverified and it MUST NOT be admitted to any
recognition-gated decision.</t>
      <t>The revocation check also crosses the IdentityLog: a resolver MUST
consult the IdentityLog revocation-witness surface for any reveal
whose SHA-256 equals the <tt>rev=</tt> field of the envelope.  If a
matching pre-image has been revealed, the envelope is revoked and
MUST NOT be honoured regardless of the freshness of the TXT RRset.</t>
    </section>
    <section anchor="alter-uri">
      <name><tt>alter:</tt> URI Scheme Cross-Reference</name>
      <t>An IANA-registered URI scheme <tt>alter:</tt> provides a dispatchable
surface for <tt>~handle</tt> references: operating-system URI handlers
(xdg-mime, LSHandlers, Windows registry, Android intent-filter)
invoke a resolver that retrieves and verifies the envelope through
the organ chain defined in <xref target="ALTER-DNS-PUB"/> (DNS first, with
fallback to the HTTPS <tt>.well-known</tt> surface and, where available,
the local <tt>alter-runtime</tt> L3 daemon).</t>
      <t>Registration is provisional per <xref target="RFC7595"/> Section 3.  The full
registration body, scheme syntax, semantics, encoding
considerations, interoperability and security considerations,
author and change controller, is published in <xref target="ALTER-DNS-PUB"/>
Section 7 and submitted to IANA separately from this document.
The IANA request is in progress as of the publication date of this
revision; the final registration reference will be substituted when
available.</t>
      <t>Handlers invoked via <tt>alter:</tt> URIs MUST perform full envelope
verification, DNSSEC validation (Section 7), DANE TLSA binding
(Section 8) when establishing any HTTPS session, IdentityLog cross-
reference (Section 9), and the eleven-step verification algorithm
of <xref target="ALTER-DNS-PUB"/> Section 8, before acting on any content or
directive derived from the envelope.</t>
    </section>
    <section anchor="discovery-and-bootstrap-procedures">
      <name>Discovery and Bootstrap Procedures</name>
      <section anchor="discovery-procedure-mcpdomain">
        <name>Discovery Procedure: <tt>_mcp.&lt;domain&gt;</tt></name>
        <t>The discovery procedure defined in Section 4 of v01 is unchanged
in this revision.  Clients querying <tt>_mcp.&lt;domain&gt;</tt> follow the v01
algorithm exactly.</t>
      </section>
      <section anchor="identity-bootstrap-procedure-org-alterdomain">
        <name>Identity Bootstrap Procedure: <tt>_org-alter.&lt;domain&gt;</tt></name>
        <t>The identity bootstrap procedure defined in Section 6 of v02 is
unchanged in this revision.  Onboarding wizards reading
<tt>_org-alter.&lt;domain&gt;</tt> follow the v02 algorithm exactly.</t>
      </section>
      <section anchor="envelope-recognition-procedure-alterdomain">
        <name>Envelope Recognition Procedure: <tt>_alter.&lt;domain&gt;</tt></name>
        <t>Given an <tt>alter:~&lt;handle&gt;</tt> reference, a zone hint, or a raw
<tt>_alter.&lt;zone&gt;.</tt> query, a resolver MUST execute the following steps
in order.  Any failure terminates recognition and the envelope
MUST be treated as unverified.</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Query.</strong>  Issue a DNS TXT query for <tt>_alter.&lt;zone&gt;.</tt>.  Use
DoH or DoT in preference to UDP/53 where operationally feasible.</t>
          </li>
          <li>
            <t><strong>DNSSEC validation.</strong>  Validate the RRSIG chain from the root
trust anchor to the TXT RRset (Section 7).  Confirm the AD bit
on the response when relying on an upstream validating resolver,
or locally RRSIG-validate in validating-stub mode.  On failure,
abort.</t>
          </li>
          <li>
            <t><strong>Chunk reassembly.</strong>  Concatenate character-strings in RR order;
parse <tt>; </tt>-separated key-value pairs.</t>
          </li>
          <li>
            <t><strong>Handle disambiguation.</strong>  Select the record whose <tt>h=</tt> field
matches the requested <tt>~handle</tt>.  If no record matches, abort.</t>
          </li>
          <li>
            <t><strong>Field extraction.</strong>  Confirm presence of the seven required
fields (<tt>v</tt>, <tt>h</tt>, <tt>pk</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt>).  Reject any
record missing any required field, or whose <tt>v</tt> is not
<tt>alter1</tt>.</t>
          </li>
          <li>
            <t><strong>Envelope reconstruction.</strong>  Build the envelope JSON per
Section 6.3, inserting the implicit <tt>signature_alg: "Ed25519"</tt>
constant and an empty <tt>caveats</tt> array.</t>
          </li>
          <li>
            <t><strong>JCS canonicalisation.</strong>  Apply <xref target="RFC8785"/> JCS to the envelope
with the <tt>signature</tt> field absent.</t>
          </li>
          <li>
            <t><strong>Ed25519 verification.</strong>  Verify the detached <tt>sig</tt> over the
JCS byte stream using the public key in <tt>pk</tt>.  On failure,
abort.</t>
          </li>
          <li>
            <t><strong>IdentityLog cross-reference.</strong>  Confirm <tt>ilr=</tt> corresponds to
a STH recognised in the IdentityLog witness set at or after <tt>ts</tt>
(Section 9; <xref target="ALTER-STH"/>).  On failure, abort.</t>
          </li>
          <li>
            <t><strong>DANE TLSA validation.</strong>  When establishing an MCP session at
<tt>mcp.&lt;zone&gt;</tt> as part of the same recognition transaction, fetch
the TLSA record at <tt>_443._tcp.mcp.&lt;zone&gt;.</tt> and gate the TLS
handshake on the binding (Section 8).  On mismatch, abort.</t>
          </li>
          <li>
            <t><strong>Caveats evaluation.</strong>  Fetch the HTTPS <tt>.well-known</tt>
companion surface and evaluate any caveats on the envelope
per <xref target="ALTER-DNS-PUB"/>.  Caveats that cannot be satisfied bound
the subsequent use of the envelope but are not grounds to
abort recognition.</t>
          </li>
          <li>
            <t><strong>Revocation check.</strong>  Consult the IdentityLog revocation-
witness surface.  If a pre-image whose SHA-256 equals <tt>rev=</tt>
has been revealed, the envelope is revoked; abort.</t>
          </li>
        </ol>
        <t>Only after all twelve steps succeed is the envelope considered
verified.  A verified envelope is the sole admissible input to a
recognition-over-qualification gate; unverified envelopes MUST be
refused upstream of any authorisation or trust decision.</t>
        <t>The twelve-step procedure above is the IETF-surface summary of the
eleven-step verification algorithm in <xref target="ALTER-DNS-PUB"/> Section 8;
they differ only in that this document splits caveats and
revocation into distinct steps for clarity.</t>
      </section>
    </section>
    <section anchor="caching">
      <name>Caching</name>
      <t>Caching of <tt>_mcp.&lt;domain&gt;</tt> records follows v01.  Caching of
<tt>_org-alter.&lt;domain&gt;</tt> records follows v02.</t>
      <t><tt>_alter.&lt;domain&gt;</tt> records SHOULD be cached for the duration of the
DNS TTL.  Resolvers MUST NOT serve stale envelope TXT past the
RRset TTL unless they are themselves validating caches and can
re-confirm RRSIG coverage on each serve.  Recognition verifiers
MAY cache successful verification results locally for a short
interval (bounded above by the RRset TTL or 3600 seconds,
whichever is smaller) to amortise the cost of repeated JCS and
Ed25519 operations, but MUST re-run the revocation check
(Section 11.12) on each recognition event, not on each cache
refresh.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>(Security considerations from v01 and v02 are retained.  Additional
considerations introduced by the envelope layer are below.)</t>
      <section anchor="dnssec-downgrade">
        <name>DNSSEC Downgrade</name>
        <t>The mandatory DNSSEC requirement in Section 7 is the primary
defence against on-path manipulation of envelope TXT content.  An
attacker who can inject unsigned responses, e.g. via a compromised
resolver or a DNS middlebox that strips RRSIG, would otherwise
be able to substitute an attacker-controlled envelope at the resolver
boundary.  Stub clients MUST reject any response lacking AD or
failing local RRSIG verification.  Operators MUST NOT downgrade the
<tt>_alter.</tt> RRset to unsigned during KSK/ZSK rollover (see <xref target="RFC6781"/>
for best-current practice on rollover).</t>
      </section>
      <section anchor="tlsa-pin-rotation">
        <name>TLSA Pin Rotation</name>
        <t>The DANE TLSA requirement in Section 8 binds the MCP endpoint's TLS
leaf to a specific hash.  Operators rotating certificates MUST
publish the new TLSA record before the new certificate is activated
on the live listener, with a grace window of at least twice the
TLSA RRset TTL.  Selector 1 (SPKI) survives rotations that preserve
the keypair; selector 0 requires republication on every rotation.
Loss of the TLS private key forces revocation via the
<tt>revocation_hash</tt> reveal path (Section 9) rather than silent
cert replacement.</t>
      </section>
      <section anchor="envelope-substitution">
        <name>Envelope Substitution</name>
        <t>An attacker in control of a domain's DNS can publish an arbitrary
envelope for any <tt>~handle</tt> claimed to be hosted under that zone.
The three structural defences are:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>IdentityLog witness.</strong> The <tt>ilr=</tt> cross-reference constrains
the envelope to STHs witnessed by the IdentityLog federation;
substitution of a locally-minted envelope that has not been
witnessed will fail Section 11.9.  An attacker who wishes to
substitute must also corrupt at least one IdentityLog mirror,
which is a detectable equivocation per <xref target="RFC9162"/> design.</t>
          </li>
          <li>
            <t><strong>Ed25519 signature.</strong>  The detached signature binds the
envelope to a specific Ed25519 key.  An attacker who does not
hold the private key cannot forge a valid <tt>sig</tt>.  An attacker
who does hold the private key has already compromised the
handle; the revocation path (Section 9) is the residual mitigation.</t>
          </li>
          <li>
            <t><strong>DNSSEC.</strong>  Section 7 prevents tampering with the TXT RRset in
transit.  This does not prevent a malicious zone operator from
publishing a malicious envelope, that attack is caught at
(1) and (2), but it prevents third-party substitution.</t>
          </li>
        </ol>
      </section>
      <section anchor="revocation-opacity">
        <name>Revocation Opacity</name>
        <t>Revocation is effected by revealing the pre-image to the
IdentityLog, not by removing the TXT record.  Absence of a record
is indistinguishable from misconfiguration; resolvers MUST NOT
treat absence as revocation.  This design is deliberate: a zone
briefly unreachable (DNS outage, registrar incident, tooling error)
must not accidentally become a revocation event.</t>
        <t>The cost is that a compromised zone may continue to serve a valid
(but intended-to-be-revoked) envelope until the rightful
handle-holder reveals the pre-image.  Pre-image reveal is a
low-friction operation, a single authenticated POST to any
IdentityLog mirror, but it requires the rightful holder to act.
Handle-holders SHOULD establish a pre-committed revocation reveal
procedure at mint time.</t>
      </section>
      <section anchor="clock-skew-and-ts">
        <name>Clock Skew and <tt>ts=</tt></name>
        <t>The <tt>ts=</tt> inception timestamp is advisory: resolvers MAY use it to
detect implausibly future envelopes (e.g. minted more than a few
hundred seconds after current wall time) but MUST NOT rely on
local clock for security-critical decisions.  The authoritative
ordering anchor is the IdentityLog STH tree position, not the
inception timestamp.</t>
      </section>
      <section anchor="cross-record-key-consistency">
        <name>Cross-Record Key Consistency</name>
        <t>When all three records (<tt>_mcp</tt>, <tt>_org-alter</tt>, <tt>_alter</tt>) are
published under the same zone and each carries a <tt>pk</tt> field, the
values MUST be evaluated for consistency.  The <tt>_mcp.pk</tt> and
<tt>_org-alter.pk</tt> fields are v01/v02 service and organisational keys
respectively; the <tt>_alter.pk</tt> field is the Sovereign-tier envelope
key.  These are structurally distinct purposes, and the keys MAY
differ.  However, where a zone operator deliberately binds all
three to the same Ed25519 key (a common pattern for a
single-operator deployment), a mismatch across records indicates
either rotation-in-progress or compromise; resolvers SHOULD surface
the discrepancy.</t>
      </section>
      <section anchor="passive-stream-coupling">
        <name>Passive-Stream Coupling</name>
        <t>The <tt>_alter.&lt;domain&gt;</tt> record carries only the five load-bearing
envelope fields and the protocol version.  No inferred trait, no
passive-stream derivative, and no provenance-tagged attribute rides
this record.  This is a structural property, not a recommendation:
the ABNF of Section 6.2 enumerates every field the resolver
accepts, and the forward-compatibility rule only permits future
named extensions, not arbitrary attribute carriage.  The privacy
implications of passive inference are addressed at the envelope
semantic layer <xref target="ALTER-DNS-PUB"/> and its caveats surface, not in DNS.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>(Privacy considerations from v01 and v02 are retained.  Additional
considerations introduced by the envelope layer are below.)</t>
      <section anchor="public-handle-disclosure">
        <name>Public Handle Disclosure</name>
        <t>Publishing <tt>_alter.&lt;domain&gt;</tt> exposes the bound <tt>~handle</tt>, its
Ed25519 public key, its IdentityLog root, its inception timestamp,
and its revocation-hash commitment to any DNS observer.  For a
Sovereign-tier handle this is by design: the envelope is intended
to be publicly verifiable.  Handle-holders who require concealment
MUST NOT publish an <tt>_alter.&lt;domain&gt;</tt> record; alternative organs
(the local <tt>alter-runtime</tt> daemon for local-only recognition, or
the Patent-N HAD silicon quorum for device-local presence proof)
support recognition without DNS publication.</t>
      </section>
      <section anchor="dns-query-metadata">
        <name>DNS Query Metadata</name>
        <t>A resolver querying <tt>_alter.example.com</tt> reveals to its recursive
resolver that it intends to verify the envelope hosted under that
zone.  Query metadata privacy is addressed at the transport layer:
clients SHOULD prefer DoH (<xref target="RFC8484"/>) or DoT (<xref target="RFC7858"/>) over
UDP/53 where operationally feasible.  This consideration is
identical to v01 / v02 and is repeated here for emphasis given the
greater individual-identity sensitivity of the envelope surface.</t>
      </section>
      <section anchor="revocation-unlinkability">
        <name>Revocation Unlinkability</name>
        <t>The <tt>rev=</tt> field is the SHA-256 of a secret pre-image; publishing
it does not disclose the pre-image.  An observer cannot predict
the pre-image or link it back to any identifier.  Reveal at
revocation time links the pre-image to the envelope, but only at
the moment of revocation, not during the envelope's active
lifetime.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="underscored-dns-node-name-registration">
        <name>Underscored DNS Node Name Registration</name>
        <t>This document requests IANA to update the entries in the
"Underscored and Globally Scoped DNS Node Names" registry
established by <xref target="RFC8552"/> to reflect v03:</t>
        <t><tt>
+--------+--------------+----------------------------------+
| RR Type| _NODE NAME   | Reference                        |
+--------+--------------+----------------------------------+
| TXT    | _mcp         | [this document], v01 Sec.3       |
| TXT    | _org-alter   | [this document], v02 Sec.4       |
| TXT    | _alter       | [this document], v03 Sec.6       |
+--------+--------------+----------------------------------+
</tt></t>
        <t>The <tt>_alter</tt> label is used to publish envelope records as defined
in Section 6 of this document.  Formal registration of <tt>_alter</tt>
in the RFC 8552 registry is proposed on Standards Action
maturation of this draft; during the Internet-Draft phase, the
label operates under the provisional-use convention established by
<tt>_dmarc</tt>, <tt>_mta-sts</tt>, <tt>_mcp</tt> (this draft), and <tt>_org-alter</tt> (this
draft).</t>
      </section>
      <section anchor="alter-uri-scheme-registration">
        <name><tt>alter:</tt> URI Scheme Registration</name>
        <t>This document cross-references the provisional URI scheme
registration of <tt>alter:</tt> per <xref target="RFC7595"/> Section 3.  The full
registration body is published in <xref target="ALTER-DNS-PUB"/> Section 7 and is
submitted to IANA separately.  This document does not duplicate
the registration body; it refers to the sibling specification and
notes that recognition verifiers invoked via <tt>alter:</tt> URIs MUST
follow Section 11.12 of this document for envelope verification.</t>
      </section>
      <section anchor="envelope-version-registry">
        <name>Envelope Version Registry</name>
        <t>This document defines the version tag <tt>v=alter1</tt> for the
<tt>_alter.&lt;domain&gt;</tt> record, independent of the identically-named tag
on the <tt>_org-alter.&lt;domain&gt;</tt> record.  Future versions (<tt>v=alter2</tt>
and beyond) SHOULD be coordinated with the ALTER implementation
community and documented in successor revisions of this draft.
Until a formal IETF working group is chartered for identity-
envelope DNS publication, the authors maintain the version
namespace.</t>
      </section>
      <section anchor="org-alter-version-registry-unchanged-from-v02">
        <name>Org-Alter Version Registry (unchanged from v02)</name>
        <t>The version tag <tt>v=alter1</tt> for the <tt>_org-alter.&lt;domain&gt;</tt> record is
preserved from v02.  No changes are requested in this revision.</t>
      </section>
      <section anchor="registry-namespace-registry-unchanged-from-v02">
        <name>Registry Namespace Registry (unchanged from v02)</name>
        <t>The initial set of <tt>entity</tt> field registry namespaces (<tt>abn</tt>,
<tt>acn</tt>, <tt>ein</tt>, <tt>ch</tt>, <tt>cro</tt>, <tt>lei</tt>) defined in v02 is preserved
unchanged.</t>
      </section>
      <section anchor="framework-token-registry-unchanged-from-v02">
        <name>Framework Token Registry (unchanged from v02)</name>
        <t>The initial set of <tt>regulated</tt> framework tokens (<tt>disp</tt>, <tt>itar</tt>,
<tt>ear</tt>, <tt>hipaa</tt>, <tt>gdpr</tt>, <tt>soc2</tt>, <tt>iso27001</tt>, <tt>iso42001</tt>,
<tt>essential8</tt>, <tt>aprs</tt>) defined in v02 is preserved unchanged.</t>
      </section>
      <section anchor="signature-algorithm-registry">
        <name>Signature Algorithm Registry</name>
        <t>This document defines the initial <tt>pk=</tt> and <tt>sig=</tt> algorithm
namespace <tt>ed25519</tt> for the <tt>_alter.&lt;domain&gt;</tt> record.  Future
algorithms (e.g. <tt>ed448</tt>, <tt>ml-dsa-65</tt>) MAY be registered by
successor documents.  Resolvers MUST reject records whose
algorithm prefix is not registered at the resolver's protocol
version.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>This section provides non-normative examples of Envelope Records
for common deployment scenarios.</t>
      <section anchor="minimal-envelope-for-a-single-handle">
        <name>Minimal Envelope for a Single Handle</name>
        <t>A zone hosting a single Sovereign-tier handle publishes its
envelope at <tt>_alter.&lt;zone&gt;.</tt>:</t>
        <t><tt>
_alter.truealter.com. 3600 IN TXT (
  "v=alter1; h=~blake; "
  "pk=ed25519:&lt;EXAMPLE-pubkey-32B-base64url&gt;; "
  "ilr=&lt;EXAMPLE-sth-root-32B-base64url&gt;; "
  "ts=1729123456; "
  "rev=&lt;EXAMPLE-revocation-hash-32B-base64url&gt;; "
  "sig=&lt;EXAMPLE-ed25519-signature-64B-base64url&gt;"
)
</tt></t>
        <t>All base64url values in this example are illustrative.  Production
values are the Ed25519 public key, SHA-256 digests, and 64-byte
detached signature encoded per <xref target="RFC4648"/> Section 5 without
padding.</t>
      </section>
      <section anchor="zone-hosting-multiple-handles">
        <name>Zone Hosting Multiple Handles</name>
        <t>A zone hosting more than one handle publishes multiple envelope
TXT RRs at the same owner name.  Resolvers disambiguate by the
<tt>h=</tt> field:</t>
        <t><tt>
_alter.example.org. 3600 IN TXT "v=alter1; h=~alice; pk=ed25519:..."
_alter.example.org. 3600 IN TXT "v=alter1; h=~bob; pk=ed25519:..."
_alter.example.org. 3600 IN TXT "v=alter1; h=~carol.bot; pk=ed25519:..."
</tt></t>
        <t>A resolver asked to verify <tt>~bob</tt> at <tt>example.org</tt> selects the
second RR.</t>
      </section>
      <section anchor="full-alter-zone-all-three-records">
        <name>Full ALTER Zone (All Three Records)</name>
        <t>A zone operator running an org-alter instance for their own
principal handle publishes all three records:</t>
        <t><tt>
_mcp.truealter.com.       IN TXT "v=mcp1; url=https://mcp.truealter.com/ ..."
_org-alter.truealter.com. IN TXT "v=alter1; org=Alter Meridian Pty Ltd; ..."
_alter.truealter.com.     IN TXT "v=alter1; h=~blake; pk=ed25519:...; ilr=...; ts=...; rev=...; sig=..."
_443._tcp.mcp.truealter.com. IN TLSA 3 1 1 &lt;sha256-of-spki&gt;
</tt></t>
        <t>Together these expose: the MCP service endpoint and its
capabilities (<tt>_mcp</tt>); the legal entity, regulatory posture, and
jurisdictional regions (<tt>_org-alter</tt>); the Sovereign-tier
envelope for <tt>~blake</tt> (<tt>_alter</tt>); and the DANE TLSA pin on the
MCP endpoint.  A resolver may consume any subset according to its
recognition requirement.</t>
      </section>
      <section anchor="instrument-tier-handle">
        <name>Instrument-Tier Handle</name>
        <t>An AI instrument handle uses the <tt>~cc-</tt> prefix:</t>
        <t><tt>
_alter.truealter.com. 3600 IN TXT (
  "v=alter1; h=~cc-opus-4-7; "
  "pk=ed25519:...; ilr=...; ts=...; rev=...; sig=..."
)
</tt></t>
        <t>Instrument-tier envelopes are bound to a specific model version.
Rotation of the model version produces a new <tt>~cc-</tt> handle with a
new envelope; the prior envelope remains verifiable over its
active lifetime and is revoked by the IdentityLog reveal path when
the model is retired.</t>
      </section>
    </section>
    <section anchor="interoperability-with-v01-and-v02">
      <name>Interoperability with v01 and v02</name>
      <t>A domain that publishes only a v01 <tt>_mcp.&lt;domain&gt;</tt> record
continues to work with all v01, v02, and v03 clients.</t>
      <t>A domain that publishes <tt>_mcp.&lt;domain&gt;</tt> and
<tt>_org-alter.&lt;domain&gt;</tt> (v02) continues to work with v02 and v03
clients unchanged.  v03 clients gain the ability to additionally
query <tt>_alter.&lt;domain&gt;</tt> and gracefully handle its absence.</t>
      <t>A domain that publishes all three records benefits from:</t>
      <ul spacing="normal">
        <li>
          <t>Service discovery via <tt>_mcp.&lt;domain&gt;</tt> (v01).</t>
        </li>
        <li>
          <t>Organisational identity bootstrap via <tt>_org-alter.&lt;domain&gt;</tt>
(v02).</t>
        </li>
        <li>
          <t>Individual identity recognition via <tt>_alter.&lt;domain&gt;</tt> (v03).</t>
        </li>
        <li>
          <t>DNSSEC-authenticated envelope delivery (Section 7).</t>
        </li>
        <li>
          <t>DANE TLSA binding on the MCP endpoint (Section 8).</t>
        </li>
        <li>
          <t>IdentityLog-anchored envelope lifecycle (Section 9).</t>
        </li>
      </ul>
      <t>A domain that publishes only <tt>_alter.&lt;domain&gt;</tt> (envelope-only, no
MCP server, no organisational record) is permitted.  This is the
appropriate configuration for a Sovereign-tier individual who
wishes to be recognisable under their own zone without operating
an MCP server endpoint or declaring an organisational identity.</t>
      <t>The three records are orthogonal along their semantic axes but
share the zone's DNSSEC trust root.  A v03-compliant resolver that
successfully resolves any subset of the three records treats each
resolution as independent and does not fail the resolution of one
record because another is absent or malformed.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations at the
time of publication, per <xref target="RFC7942"/>.</t>
      <t>ALTER (https://truealter.com) maintains a reference implementation
of all three records:</t>
      <ul spacing="normal">
        <li>
          <t><tt>_mcp.truealter.com</tt> exercising the v01 field set including
<tt>pk</tt>, <tt>epoch</tt>, <tt>attest</tt>, and <tt>ext</tt>.</t>
        </li>
        <li>
          <t><tt>_org-alter.truealter.com</tt> exercising the v02 field set including
<tt>entity</tt>, <tt>regulated</tt>, <tt>mcp-policy</tt>, and <tt>bootstrap</tt>.</t>
        </li>
        <li>
          <t><tt>_alter.truealter.com</tt> exercising the v03 envelope field set
(<tt>h</tt>, <tt>pk</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt>) for the <tt>~blake</tt> handle.</t>
        </li>
        <li>
          <t><tt>_443._tcp.mcp.truealter.com</tt> publishing a DANE-EE / SPKI /
SHA-256 TLSA pin on the MCP endpoint leaf.</t>
        </li>
        <li>
          <t>An IdentityLog STH anchor federation with four independent
witness surfaces (Cloudflare R2 canonical, IPFS content-
addressed, two federation mirrors, Base L2
<tt>IdentityLogAnchor</tt> contract).</t>
        </li>
        <li>
          <t>A standalone L0 discovery and recognition library
(<tt>alter_discover</tt>) that resolves all three records, validates
DNSSEC locally, fetches and verifies the DANE TLSA pin, cross-
references the IdentityLog witness surface, and produces a
structured recognition report.</t>
        </li>
        <li>
          <t>An <tt>alter:</tt> URI handler registered via xdg-mime on Linux/BSD and
the corresponding platform registration paths on macOS, Windows,
iOS, and Android.</t>
        </li>
        <li>
          <t>An onboarding wizard tool (<tt>mcp-org-alter onboard</tt>) that
bootstraps a new org-alter instance from the published records
with no manual data entry beyond the domain name.</t>
        </li>
      </ul>
      <t>The reference implementation targets MCP specification version
2025-11, uses <tt>streamable-http</tt> as the default transport, and
treats DNSSEC + DANE + IdentityLog as a mandatory verification
chain for any <tt>_alter.&lt;domain&gt;</tt>-derived recognition.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <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="RFC4033" target="https://www.rfc-editor.org/info/rfc4033" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4033.xml">
          <front>
            <title>DNS Security Introduction and Requirements</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>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. This document introduces these extensions and describes their capabilities and limitations. This document also discusses the services that the DNS security extensions do and do not provide. Last, this document describes the interrelationships between the documents that collectively describe DNSSEC. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </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="RFC4035" target="https://www.rfc-editor.org/info/rfc4035" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4035.xml">
          <front>
            <title>Protocol Modifications 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 new resource records and protocol modifications that add data origin authentication and data integrity to the DNS. This document describes the DNSSEC protocol modifications. This document defines the concept of a signed zone, along with the requirements for serving and resolving by using DNSSEC. These techniques allow a security-aware resolver to authenticate both DNS resource records and authoritative DNS error indications.</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="4035"/>
          <seriesInfo name="DOI" value="10.17487/RFC4035"/>
        </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="RFC6698" target="https://www.rfc-editor.org/info/rfc6698" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6698.xml">
          <front>
            <title>The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>Encrypted communication on the Internet often uses Transport Layer Security (TLS), which depends on third parties to certify the keys used. This document improves on that situation by enabling the administrators of domain names to specify the keys used in that domain's TLS servers. This requires matching improvements in TLS client software, but no change in TLS server software. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6698"/>
          <seriesInfo name="DOI" value="10.17487/RFC6698"/>
        </reference>
        <reference anchor="RFC7208" target="https://www.rfc-editor.org/info/rfc7208" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7208.xml">
          <front>
            <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
            <author fullname="S. Kitterman" initials="S." surname="Kitterman"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t>
              <t>This document obsoletes RFC 4408.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7208"/>
          <seriesInfo name="DOI" value="10.17487/RFC7208"/>
        </reference>
        <reference anchor="RFC7595" target="https://www.rfc-editor.org/info/rfc7595" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7595.xml">
          <front>
            <title>Guidelines and Registration Procedures for URI Schemes</title>
            <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <date month="June" year="2015"/>
            <abstract>
              <t>This document updates the guidelines and recommendations, as well as the IANA registration processes, for the definition of Uniform Resource Identifier (URI) schemes. It obsoletes RFC 4395.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="35"/>
          <seriesInfo name="RFC" value="7595"/>
          <seriesInfo name="DOI" value="10.17487/RFC7595"/>
        </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="RFC8461" target="https://www.rfc-editor.org/info/rfc8461" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8461.xml">
          <front>
            <title>SMTP MTA Strict Transport Security (MTA-STS)</title>
            <author fullname="D. Margolis" initials="D." surname="Margolis"/>
            <author fullname="M. Risher" initials="M." surname="Risher"/>
            <author fullname="B. Ramakrishnan" initials="B." surname="Ramakrishnan"/>
            <author fullname="A. Brotman" initials="A." surname="Brotman"/>
            <author fullname="J. Jones" initials="J." surname="Jones"/>
            <date month="September" year="2018"/>
            <abstract>
              <t>SMTP MTA Strict Transport Security (MTA-STS) is a mechanism enabling mail service providers (SPs) to declare their ability to receive Transport Layer Security (TLS) secure SMTP connections and to specify whether sending SMTP servers should refuse to deliver to MX hosts that do not offer TLS with a trusted server certificate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8461"/>
          <seriesInfo name="DOI" value="10.17487/RFC8461"/>
        </reference>
        <reference anchor="RFC8552" target="https://www.rfc-editor.org/info/rfc8552" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8552.xml">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
        <reference anchor="RFC8785" target="https://www.rfc-editor.org/info/rfc8785" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol Specification</title>
            <author>
              <organization>Agentic AI Foundation</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6376" target="https://www.rfc-editor.org/info/rfc6376" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6376.xml">
          <front>
            <title>DomainKeys Identified Mail (DKIM) Signatures</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <date month="September" year="2011"/>
            <abstract>
              <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
              <t>This memo obsoletes RFC 4871 and RFC 5672. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="76"/>
          <seriesInfo name="RFC" value="6376"/>
          <seriesInfo name="DOI" value="10.17487/RFC6376"/>
        </reference>
        <reference anchor="RFC6781" target="https://www.rfc-editor.org/info/rfc6781" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6781.xml">
          <front>
            <title>DNSSEC Operational Practices, Version 2</title>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <author fullname="R. Gieben" initials="R." surname="Gieben"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC). The target audience is zone administrators deploying DNSSEC.</t>
              <t>The document discusses operational aspects of using keys and signatures in the DNS. It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
              <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6781"/>
          <seriesInfo name="DOI" value="10.17487/RFC6781"/>
        </reference>
        <reference anchor="RFC7489" target="https://www.rfc-editor.org/info/rfc7489" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7489.xml">
          <front>
            <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
            <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
              <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers. These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
              <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email. DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7489"/>
          <seriesInfo name="DOI" value="10.17487/RFC7489"/>
        </reference>
        <reference anchor="RFC7858" target="https://www.rfc-editor.org/info/rfc7858" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8484" target="https://www.rfc-editor.org/info/rfc8484" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC9162" target="https://www.rfc-editor.org/info/rfc9162" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9162.xml">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </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="ALTER-DNS-PUB" target="https://truealter.com/docs/protocol/alter-dns-publication-v1">
          <front>
            <title>ALTER DNS Publication, v1</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="ALTER-STH" target="https://truealter.com/docs/protocol/identitylog-sth-anchor-v1">
          <front>
            <title>IdentityLog STH Anchor, v1</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1061?>

<section anchor="recognition-pseudocode">
      <name>Recognition Pseudocode</name>
      <t>The following pseudocode illustrates the combined recognition
procedure defined in Section 11.3.  It is non-normative; the
normative procedure is the twelve-step algorithm in the body of
the document and the eleven-step algorithm in <xref target="ALTER-DNS-PUB"/>
Section 8 to which it cross-references.</t>
      <t>```
function recognise_envelope(handle, zone):
    # Step 1-2: Query + DNSSEC
    response = dns_query("_alter." + zone, type=TXT, prefer=DoH)
    if not response.ad_bit and not local_rrsig_validate(response):
        raise UnauthenticatedResponse</t>
      <artwork><![CDATA[
# Step 3-5: Chunk reassembly + handle disambiguation + fields
records = [parse_alter_record(rr) for rr in response.rrset]
record = find(records, lambda r: r.h == handle)
if record is None or record.v != "alter1":
    raise RecordNotFound
for f in ["h", "pk", "ilr", "ts", "rev", "sig"]:
    if not hasattr(record, f):
        raise MalformedRecord

# Step 6-7: Envelope reconstruction + JCS
envelope = {
    "handle": record.h,
    "pubkey": record.pk,
    "identitylog_root": record.ilr,
    "inception_ts": int(record.ts),
    "revocation_hash": record.rev,
    "signature_alg": "Ed25519",
    "caveats": [],
}
signing_input = jcs_canonicalise(envelope)

# Step 8: Ed25519 verify
if not ed25519_verify(record.pk, record.sig, signing_input):
    raise SignatureInvalid

# Step 9: IdentityLog cross-ref
if not identitylog_witness_contains(record.ilr, record.ts):
    raise WitnessMissing

# Step 10: DANE TLSA (if establishing MCP session)
if establishing_mcp_session(zone):
    tlsa = dns_query("_443._tcp.mcp." + zone, type=TLSA)
    if not tlsa_matches_endpoint(tlsa, "mcp." + zone):
        raise TLSAFailure

# Step 11: Caveats (advisory only; bounds subsequent use)
caveats = fetch_well_known_caveats(zone, handle)

# Step 12: Revocation
if identitylog_revocation_revealed(record.rev):
    raise EnvelopeRevoked

return VerifiedEnvelope(record, caveats) ```
]]></artwork>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t>draft-morrison-mcp-dns-discovery-03 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Adds the <tt>_alter.&lt;domain&gt;</tt> Envelope Record (Section 6).</t>
        </li>
        <li>
          <t>Defines <tt>v</tt>, <tt>h</tt>, <tt>pk</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt> fields for the
new record, mirroring the canonical envelope fragment pinned by
<xref target="ALTER-DNS-PUB"/>.</t>
        </li>
        <li>
          <t>Introduces a mandatory DNSSEC validation requirement for
<tt>_alter.&lt;domain&gt;</tt> responses (Section 7).</t>
        </li>
        <li>
          <t>Introduces a mandatory DANE TLSA <xref target="RFC6698"/> pin on the MCP
endpoint (Section 8) for envelope-triggered MCP sessions.</t>
        </li>
        <li>
          <t>Adds the IdentityLog STH cross-reference requirement (Section
9), pointing at <xref target="ALTER-STH"/> for the log protocol specification.</t>
        </li>
        <li>
          <t>Adds a provisional <tt>alter:</tt> URI scheme cross-reference per
<xref target="RFC7595"/> (Section 10).</t>
        </li>
        <li>
          <t>Adds the envelope recognition procedure (Section 11.3), a
twelve-step algorithm that cross-refers to the eleven-step
algorithm of <xref target="ALTER-DNS-PUB"/> Section 8.</t>
        </li>
        <li>
          <t>Adds IANA registration for <tt>_alter</tt> underscore-prefixed label
(Section 13.1) and the independent <tt>v=alter1</tt> envelope version
namespace.</t>
        </li>
        <li>
          <t>Adds a Signature Algorithm Registry (Section 13.8) with initial
value <tt>ed25519</tt>.</t>
        </li>
        <li>
          <t>Adds Security Considerations for DNSSEC downgrade, TLSA pin
rotation, envelope substitution, revocation opacity, clock skew,
cross-record key consistency, and passive-stream coupling.</t>
        </li>
        <li>
          <t>Adds Privacy Considerations for public handle disclosure, DNS
query metadata, and revocation unlinkability.</t>
        </li>
        <li>
          <t>Adds Examples for minimal envelope, multi-handle zone, full
ALTER zone with all three records, and Instrument-tier handle.</t>
        </li>
        <li>
          <t>Adds Implementation Status entry for the envelope reference
implementation.</t>
        </li>
        <li>
          <t>v01 <tt>_mcp.&lt;domain&gt;</tt> and v02 <tt>_org-alter.&lt;domain&gt;</tt> record
specifications are incorporated by reference and remain
unchanged.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-02 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Adds the <tt>_org-alter.&lt;domain&gt;</tt> Org-Identity Record.</t>
        </li>
        <li>
          <t>Defines <tt>org</tt>, <tt>entity</tt>, <tt>entity-type</tt>, <tt>founded</tt>, <tt>regions</tt>,
<tt>regulated</tt>, <tt>bootstrap</tt>, <tt>mcp-policy</tt>, <tt>epoch</tt>, <tt>pk</tt>, <tt>attest</tt>,
<tt>ext</tt> fields for the organisational record.</t>
        </li>
        <li>
          <t>Adds the Identity Bootstrap procedure.</t>
        </li>
        <li>
          <t>Adds IANA registration for <tt>_org-alter</tt> underscore-prefixed
label.</t>
        </li>
        <li>
          <t>Adds version tag <tt>v=alter1</tt> (org-alter namespace) and registry
namespace and framework token registries.</t>
        </li>
        <li>
          <t>Adds Examples for minimal, full, regulated (DISP), and
multi-regulator deployments.</t>
        </li>
        <li>
          <t>Adds Implementation Status entry for the orgalter_discover
reference library.</t>
        </li>
        <li>
          <t>v01 <tt>_mcp.&lt;domain&gt;</tt> record specification is incorporated by
reference and remains unchanged.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-01 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Adds Identity Field Theory grounding for <tt>epoch</tt> and <tt>scope</tt>.</t>
        </li>
        <li>
          <t>Refines security considerations for identity assurance decay.</t>
        </li>
        <li>
          <t>Refines privacy considerations for scope as a privacy boundary.</t>
        </li>
        <li>
          <t>Adds Coexistence section with SEP-1959, AID, A2A.</t>
        </li>
        <li>
          <t>Adds Implementation Status section.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-00 (April 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Initial submission.</t>
        </li>
        <li>
          <t>Defines <tt>_mcp.&lt;domain&gt;</tt> TXT record format with ABNF grammar.</t>
        </li>
        <li>
          <t>Defines discovery procedure with HTTPS fallback.</t>
        </li>
        <li>
          <t>Defines <tt>pk</tt>, <tt>epoch</tt>, <tt>attest</tt>, <tt>scope</tt>, <tt>cap</tt>, <tt>priority</tt>,
<tt>ttl</tt>, and <tt>ext</tt> fields.</t>
        </li>
        <li>
          <t>Registers <tt>_mcp</tt> in the underscored DNS node name registry.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA819aXfb2JH29/sr7qv+MGSHoK3Fm9TuedVeYk28jSUnM9PH
xwRJSERMAgwAStZk+e1TT1XdBSAoO8l7zrydk26KBO5at9an6iZJYpq8WWbH
du95Xs/K66y6teWlfVPOs6V9VhZN9rWx76uyKWfl0p5nFT1R2+s8tc/fntuL
/7iwH7JZWc3rPZNOp1V2TS29efaef/Ut7pl5OSvSFXUzr9LLJlmVVZXXZZGs
ZutkXtTJ3D2a3D8087ShJw/uHzxM7j9I7j80M/riqqxuj21eXJam3kxXeV3n
ZXFxu87w5TxbZ/SvojH5ujq2TbWpm4P795/cPzAm3TSLsjo21ib0f2svN8ul
jOWXZfolo6nKWPjHsrpKi/y/04YaP7anyyar7Jusyud5Wtj3za193cz5wVm5
KRqM6JS6qtJlnvLX2SrNl8d2ipb/Lw0jS9HEeFaujCnKakUNX2cYy4eXz/bv
Hz7Qjwf7+0/049H9w8Pw8Sh8dM8ePTx6rB8fHPgHHj584r59dHDff3zwxL32
eP+Re/bx0cN99/HBgwP38dFjfpZ275jn4ghjFy2ss1l+mc94rfb4jbDUupa0
PFe0K/nMnp7Zl7Rkc35amk+rq6w5toumWdfH9+6t0M1MellrJ+O85GcDRRgD
Emgv5MPDRw/dx0eP3dQeHT12a0oz8yvy5MhP+OixW5En+w/52zfvPnw4O3/3
Njl7edFehDNQV04E8DLPlnN7sciYHi/Km7Sa29S+X9zW+azG2fkly4sr+7ui
vOldljvp7++gwGhN+pZzXuZjauve/v3xw/uPj+6tnowv86t6kVbZ+HD/yYP9
w8eH9OLp64sXHxI6rcn7j7+0p8w/8UF+v5kudaNH9nr/f3FWrSNFc5zV9xyt
3OPvmZusw3iT630/y/OLV/2b+rq8svSjPS1mNKX/j6eY64CX5VVSN4sk5QFj
jiZJEptOwYtmjTEXi7y29O5mRS/YeXaZF1ltmWkn07TO5naVzRY03npl6TjZ
ZpHZeSQAzI5DPyDuMLS1iIERv+bGZGmU66xq8gynwOAnWZKal6Smh9PG4hGa
P95cjWxazO2gyG6IhdM3NGQSIDkY+5Dfn1W366a8qtL1gliI7ygrrrMlNWSn
4Ci2KakdCIH8Op9vUuJMmEWWXxUQbrQLk7/RTOfLbGKZMOoFTZ9ezGTaNW2p
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
+irgUyyk7qyc7LH5H1t8h5M4wQAA

-->

</rfc>
