<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-morrison-mcp-dns-discovery-06" category="info" submissionType="independent" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.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-06"/>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <email>blake@truealter.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="25"/>
    <abstract>
      

<t>This document defines a DNS-based mechanism for discovering Model
Context Protocol (MCP) servers, the identity of the organisations
that operate them, and a cryptographic identity envelope bound to an
individual Sovereign-tier <tt>~handle</tt> published under the same zone.</t>
      <t>Three TXT records are defined.  <tt>_mcp.&lt;domain&gt;</tt> advertises an MCP
server's endpoint URL, agent protocol family, transport binding,
cryptographic identity, and capability profile.
<tt>_org-alter.&lt;domain&gt;</tt> advertises the operator's canonical
organisational identity, including its legal entity, registry
identifier, regions of operation, and any regulatory framework under
which it must refuse external automated access.  <tt>_alter.&lt;domain&gt;</tt>
publishes an Ed25519-signed envelope binding a <tt>~handle</tt> to a public
key, an IdentityLog root reference, and a revocation commitment.
DNSSEC validation is <bcp14>REQUIRED</bcp14> for the envelope record, and a DANE
TLSA pin on the MCP endpoint is <bcp14>REQUIRED</bcp14> where resolving an envelope
and opening an MCP session are one recognition transaction.</t>
      <t>This revision (v06) adds a key continuity rule for the <tt>_mcp</tt> record.
It says what a client does when the key it pinned differs from the
key DNS now serves, and when the published epoch goes down, neither
of which any earlier revision covered.  It also corrects two
statements in the Implementation Status section.  Revision 05
withdrew several claims that v04 could not support, marked
publication of a per-individual envelope in DNS as <bcp14>NOT RECOMMENDED</bcp14> on
enumeration, size, and erasure grounds, and separated the agent
protocol family from the transport binding in the <tt>_mcp</tt> record,
aligning that vocabulary with neighbouring DNS agent-discovery
drafts.  All three record formats and all three
procedures are given here in full, so no earlier revision need be
fetched.</t>
      <t>The mechanism complements HTTPS-based discovery, and follows the
precedent set by DKIM, SPF, DMARC, and MTA-STS.  Provisional
registration of a companion <tt>alter:</tt> URI scheme is requested of
IANA, and is not yet granted.</t>
    </abstract>
  </front>
  <middle>
    

<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:~alice</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
<xref target="RFC6376"/> (<tt>_domainkey._domain</tt>) and DMARC <xref target="RFC9989"/>
(<tt>_dmarc._domain</tt>), where each record serves a single semantic
purpose.  SPF <xref target="RFC7208"/> and MTA-STS <xref target="RFC8461"/> set the same
precedent for carrying policy in a TXT record under a reserved
label.</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>This document stands alone.  Earlier revisions deferred the
envelope schema, the JSON Canonicalisation Scheme (JCS, <xref target="RFC8785"/>)
serialisation, and the verification algorithm to a companion
specification a reader could not fetch, which made this document
unimplementable by anyone outside its author's organisation.  They
also incorporated the <tt>_mcp</tt> and <tt>_org-alter</tt> record formats and
procedures by reference to revisions 01 and 02, by section numbers
that named the wrong sections, so a reader who followed a pointer
arrived at the wrong place in the right document.  Both deferrals
are removed.</t>
      <t>All three record formats (<xref target="mcp-record"/>, <xref target="orgalter-record"/>,
<xref target="alter-record"/>), all three procedures (<xref target="mcp-discovery"/>,
<xref target="orgalter-bootstrap"/>, <xref target="recognition"/>), the signing input
(<xref target="signing-input"/>) and the caching rules (<xref target="caching"/>) are given
here in full.  An implementer needs no other document in this
series.  Revisions 01 and 02 are cited where this document records
what they said, and are cited informatively, because nothing here
depends on fetching them.</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 and consumable by any resolver with
access to a DNSSEC-validating recursive resolver.  It also carries
a reference to an IdentityLog root, whose status as a trust anchor
<xref target="identitylog"/> sets out honestly and narrowly.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        

</section>
    </section>
    <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.  The TXT grammar
that carries the seven required envelope fields across DNS, and
the signing input over which they are verified, are specified in
<xref target="alter-record"/> of this document.</t>
        </dd>
        <dt>~handle</dt>
        <dd>
          <t>A Sovereign-tier identifier, leading tilde mandatory (e.g.
<tt>~alice</tt>).  Bot-tier handles carry a <tt>.bot</tt> suffix (e.g.
<tt>~example-bot.bot</tt>); Instrument-tier handles use the prefix
<tt>~cc-</tt> (e.g. <tt>~cc-example-model</tt>).</t>
        </dd>
        <dt>IdentityLog</dt>
        <dd>
          <t>An append-only transparency log recording envelope lifecycle
events (mint, caveat-add, revocation, key-rotation), whose root
the <tt>ilr=</tt> field of <xref target="alter-record"/> references.  Revision 04 of this
document described a Signed Tree Head emitted every minute and
cross-anchored to four named witness surfaces.  No such witness
federation exists, and the description is withdrawn.  The log's
cadence, its witness protocol, and the client profile for
checking it are NOT specified by this document and are not yet
specified anywhere a reader can fetch.  <xref target="identitylog"/> states what a
resolver may and may not conclude from <tt>ilr=</tt> in the meantime.</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 a hardware-anchored device-organ 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"/>.  Handler guidance is given in <xref target="alter-uri"/> 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="related-work">
      <name>Related Work</name>
      <t>Several drafts now publish agent discovery data in DNS, and they
arrived at overlapping vocabularies independently.</t>
      <t>Two of them are called AID and they are different documents.
<xref target="AGENT-AID"/> is "Agent Identity and Discovery", and <xref target="DNS-AID"/> is
"DNS for AI Discovery".  A reader who meets both should not have to
work that out from context, so this document names them apart.</t>
      <t><xref target="AGENT-AID"/> is the closest neighbour to the service-discovery record
of this document, and it came first.  It publishes a TXT record at
<tt>_agent.&lt;domain&gt;</tt> carrying a leading <tt>v=aid1</tt> version tag and
semicolon-delimited <tt>key=value</tt> pairs, which give the endpoint URI
(<tt>u</tt>), a protocol token (<tt>p</tt>), an authentication hint (<tt>a</tt>), and
optionally an Ed25519 public key for endpoint proof (<tt>k</tt>) with a
rotation identifier (<tt>i</tt>).  The <tt>_mcp</tt> record of <xref target="mcp-record"/>
reaches the same three facts, an endpoint, a protocol, and a key, in
an underscore-prefixed TXT record with a leading version tag and
semicolon-delimited pairs, and both patterns are derived from DKIM
<xref target="RFC6376"/>.  Neither document copied the other.  Two drafts landed on
one shape because DKIM is where anyone publishing a key in TXT learns
to look, and <xref target="AGENT-AID"/> published that shape first, in March 2026.</t>
      <t>The two compose, and <xref target="AGENT-AID"/> says how.  Its abstract states that
AID is intentionally small and that after discovery, protocol-specific
mechanisms such as MCP handle communication and capability
negotiation, and its protocol registry already carries <tt>mcp</tt> as a
token.  This document is what that token defers to.  <xref target="AGENT-AID"/>
answers where an agent is and which protocol to speak to it; the <tt>_mcp</tt>
record answers what an MCP endpoint then requires, its transport, its
authentication, its capability scope and its key epoch; and the
<tt>_org-alter</tt> record of <xref target="orgalter-record"/> answers who is behind the
endpoint, with a legal entity, a registry identifier, operating regions
and regulatory refusal markers.  A deployment may publish both, and a
client that learns <tt>p=mcp</tt> from <tt>_agent.&lt;domain&gt;</tt> may query
<tt>_mcp.&lt;domain&gt;</tt> for the depth <xref target="AGENT-AID"/> deliberately leaves out.</t>
      <t>The keys bind different things, which is why publishing both is not a
duplication.  The <tt>k</tt> of <xref target="AGENT-AID"/> binds a key to an endpoint, and
proves control of the server that answers.  The <tt>_alter</tt> and
<tt>_org-alter</tt> records bind a key to a <tt>~handle</tt> or to a legal entity,
with a log root and a revocation commitment.  One proves the door is
the right door.  The other says who owns the building.</t>
      <t>Revision 01 of this document made the first of these points, in a
section titled "Relationship to Agent Identity and Discovery (AID)".
Revision 02 dropped the prose and kept the reference, and revisions 03
and 04 dropped both.  That was an error and this revision reverses it.</t>
      <t><xref target="DNS-AID"/> specifies discovery of AI agents through DNS.  It carries
connectivity in SVCB records with TXT as a fallback, an <tt>alpn</tt>
parameter that may hold the transport, an application-layer agent
protocol, or both (<tt>alpn=mcp,h2,h3</tt>), and an optional <tt>bap</tt>
parameter for the agent protocol alone, so that consumers can match
on the agent protocol without parsing transports out of <tt>alpn</tt>.  It
predates this document's treatment of the same question and is the
most substantial neighbouring work in the space.  It operates over
unicast DNS, as this document does, and the two are complementary
rather than competing.  DNS-AID addresses agent discovery generally,
while this document addresses one protocol family in depth and adds
the identity records that carry a signed envelope.</t>
      <t><xref target="MDNS-AGENT"/> specifies zero-configuration discovery over mDNS and
DNS-SD.  Its <tt>proto</tt> parameter names the agent protocol family, and
it defines exactly one value for it, <tt>proto=a2a</tt>, saying that A2A is
the only instantiation included in that document and leaving other
agent protocols to future work.  It defines no registry for the key.
The slot this document would occupy in that vocabulary, <tt>proto=mcp</tt>,
is therefore open rather than taken, and the two documents agree on
what the key MEANS, which is the part that matters for an implementer
reading both.  Its Section 7 puts discovery across links out of
scope while noting that existing wide-area and aggregated DNS-SD
facilities can provide it without changing the descriptor, so its
scope is not permanently local.  No record is ever shared with this
document's records regardless, because the owner names and service
types differ.</t>
      <t><xref target="MDNS-ARCHITECT"/> publishes registered agents through standard A,
SVCB, and SRV records at a registry, with a worked SVCB example that
puts the agent protocol and the transport side by side
(<tt>SVCB 0 mcp ... alpn=h2</tt>).  It is a third reading of the same axis,
and it strengthens the case for a shared distinction rather than
weakening it.</t>
      <t><xref target="SAIP"/> is a neighbour to the identity records of this document
rather than to its service-discovery record.  It publishes an
agent's Ed25519 public key in an underscore-prefixed TXT record at
<tt>_saip.&lt;domain&gt;</tt>, with a leading <tt>v=</tt> version tag, deriving its
pattern, as this document does, from DKIM <xref target="RFC6376"/> and SPF
<xref target="RFC7208"/>.  Its Section 10, "Trust and Attestation Discovery",
specifies that publication and the discovery of the key from it, so
the two documents are solving the same problem at the same layer:
how a verifier finds the key that a signature must check against.
The bindings differ.  The <tt>_saip</tt> record binds a key to a vendor's
declared network footprint, carrying authorised ASNs, authorised IP
prefixes, and an expiry.  The <tt>_alter</tt> record of <xref target="alter-record"/>
binds a key to a <tt>~handle</tt>, with a log root and a revocation
commitment.  A deployment that wanted both could publish both, and
nothing in either record's owner name or field set collides with the
other.</t>
      <t>These drafts would serve their readers better with one vocabulary.
An implementer reading two of them should not have to hold two
meanings for one key in their head.</t>
      <t>The neighbouring drafts keep the agent protocol and the transport
apart, each in its own way.  <xref target="MDNS-AGENT"/> defines <tt>proto</tt> as the
agent protocol identifier and never as a transport, and carries the
connection data in the SRV record instead.  <xref target="MDNS-ARCHITECT"/> defines
no <tt>proto</tt> key at all, and keeps the agent protocol distinct from
the wire protocol inside its SVCB record, the one in the <tt>mcp</tt>
position and the other in <tt>alpn</tt>.  Neither of them puts a transport
where the agent protocol belongs.  Revision 01 of this document did
exactly that, so revision 01 is the odd one out, and it is the
reading that has to give way.</t>
      <t>The alignment adopted here is therefore one parameter for the agent
protocol family and a second, separate parameter for the transport
or binding.  The transport parameter is named <tt>transport</tt> because
the Model Context Protocol specification already calls this axis by
that name, so an MCP implementer meets one term, not two.</t>
      <t>This document keeps a third axis separate again.  <tt>transport</tt> names
the binding (<tt>streamable-http</tt>, <tt>sse</tt>), and the wire protocol
underneath it (<tt>h2</tt>, <tt>h3</tt>) is left to the <tt>alpn</tt> service parameter
of SVCB and HTTPS records <xref target="RFC9460"/>, where DNS already carries it.
<xref target="DNS-AID"/> permits <tt>alpn</tt> to hold the transport, the agent protocol,
or both, and a reader of that draft and this one should know that
this document does not overload <tt>alpn</tt> in the same way.  Three axes
are made explicit here rather than two, and the third is not carried
in TXT at all.</t>
    </section>
    <section anchor="why-txt">
      <name>Why TXT rather than SVCB</name>
      <t>The neighbouring drafts carry their connectivity data in SVCB
records, with TXT as a fallback.  This document is the reverse, TXT
is the primary carrier.  The reason is the payload, not a rejection
of SVCB.</t>
      <t>An <tt>_mcp</tt> record's value is almost entirely opaque tokens the
resolver does not interpret, an endpoint URL, a public key, a
capability list, an attestation scope.  SVCB earns its place when a
resolver or a connection library acts on the parameters directly,
selecting a transport, following an <tt>alpn</tt>, choosing a port.  It
adds a registered SvcParamKey per field and a priority-ordered
target list.  For a record whose fields are consumed by an MCP
client after resolution, and not by the resolver, that machinery is
overhead without a matching benefit, and a TXT string is the
lighter carrier.</t>
      <t>Where a field IS resolver-actionable, this document defers to SVCB
rather than duplicating it.  The wire protocol lives in the SVCB or
HTTPS <tt>alpn</tt> parameter <xref target="RFC9460"/>, never in this TXT record, for
exactly that reason.  An operator who wants SVCB-based transport
selection publishes an HTTPS record for the endpoint host in the
ordinary way, and the two records coexist.</t>
    </section>
    <section anchor="mcp-record">
      <name>Record Format: <tt>_mcp.&lt;domain&gt;</tt> (Service Discovery)</name>
      <t>This section defines the Discovery Record introduced in v01.  It is
given here in full.  Revisions 03 and 04 incorporated it by
reference, by a section number that named the wrong section, and a
reader could not follow the pointer.</t>
      <section anchor="mcp-location">
        <name>DNS Location</name>
        <t>The Discovery Record is a DNS TXT resource record <xref target="RFC1035"/>
published at the label <tt>_mcp</tt> prepended to the Policy Domain:</t>
        <artwork><![CDATA[
_mcp.<policy-domain>. IN TXT "<record-value>"
]]></artwork>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>Multiple TXT resource records <bcp14>MAY</bcp14> be published at the same DNS
name.  Where multiple records exist, each <bcp14>MUST</bcp14> independently conform
to the syntax defined in this section.  Clients <bcp14>MUST</bcp14> evaluate all
returned records and select among them using the <tt>priority</tt> field
as described below.</t>
      </section>
      <section anchor="mcp-abnf">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  The following ABNF <xref target="RFC5234"/> defines the syntax:</t>
        <artwork><![CDATA[
mcp-record      = version *( ";" SP field )
version         = "v=mcp1"
field           = url-field / proto-field / transport-field /
                  pk-field / epoch-field / cap-field /
                  attest-field / scope-field / priority-field /
                  ttl-field / ext-field / unknown-field

url-field       = "url=" https-uri
proto-field     = "proto=" proto-value
transport-field = "transport=" transport-value
pk-field        = "pk=" algo ":" base64url
epoch-field     = "epoch=" 1*DIGIT
cap-field       = "cap=" cap-csv
attest-field    = "attest=" attest-csv
scope-field     = "scope=" scope-csv
priority-field  = "priority=" 1*DIGIT
ttl-field       = "ttl=" 1*DIGIT
ext-field       = "ext=" https-uri
unknown-field   = token "=" *qtext

https-uri       = "https://" *uri-char
uri-char        = %x21-3A / %x3C-7E
                ; printable ASCII, excluding ";" (%x3B) and SP.
                ; A URI carries no raw space, so admitting one here
                ; would let a url= value swallow the field after it.
qtext           = %x20-3A / %x3C-7E
                ; printable ASCII and SP, excluding ";" (%x3B),
                ; which delimits one field from the next.  A value
                ; that could contain ";" could swallow the delimiter.
algo            = "ed25519"
base64url       = 1*( ALPHA / DIGIT / "-" / "_" )
proto-value     = token
transport-value = token
cap-csv         = cap-token *( "," cap-token )
cap-token       = token
attest-csv      = attest-token *( "," attest-token )
attest-token    = token
scope-csv       = scope-token *( "," scope-token )
scope-token     = "tools" / "resources" / "prompts" /
                  "sampling" / "identity" / token
token           = 1*( ALPHA / DIGIT / "-" / "_" )
]]></artwork>
        <t><tt>unknown-field</tt> matches ONLY a field name this document does not
define.  ABNF has no way to say "any token except these", so the
exclusion is stated here, and it is normative.  Where a field name
IS defined above, the field <bcp14>MUST</bcp14> be parsed by that field's own rule.
A record in which a defined field's value does not satisfy its own
rule is MALFORMED, and a client <bcp14>MUST</bcp14> discard it, exactly as
<xref target="mcp-discovery"/> discards a record whose <tt>url</tt> is not a valid HTTPS
URI.  A client <bcp14>MUST NOT</bcp14> re-read such a field as an <tt>unknown-field</tt>.
Without this rule the alternation would swallow every defect it was
written to exclude: <tt>url=https://x.com priority=5</tt> would parse as an
unknown field named <tt>url</tt> rather than as the malformed <tt>url</tt> field
it is.</t>
        <t>The grammar admits any token in <tt>proto</tt> and in <tt>transport</tt>, and
that is deliberate.  Syntactic admissibility is not definition.
Revision 01 admitted any token in <tt>proto</tt> and records in the wild
carry transport values there, so a resolver <bcp14>MUST</bcp14> be able to PARSE
such a record before it can decide what to do with it, and the
reading rule of <xref target="reading-legacy"/> is what decides.  A grammar that
rejected those records at the parser would leave the reading rule
with nothing to read.</t>
        <t>The values this document DEFINES are enumerated in the field
definitions below, and they are few.  <tt>proto</tt> has exactly one
defined value, <tt>mcp</tt>.  <tt>transport</tt> has exactly three,
<tt>streamable-http</tt>, <tt>sse</tt>, and <tt>stdio-url</tt>.  Those two sets are
disjoint, so no value is defined for both fields.  A transport value
appearing in <tt>proto</tt> is RECOGNISED there, under <xref target="reading-legacy"/>,
and is not DEFINED there; the distinction is what makes the previous
sentence true.</t>
      </section>
      <section anchor="mcp-fields">
        <name>Field Definitions</name>
        <section anchor="mcp-field-v">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  <bcp14>MUST</bcp14> be the literal string <tt>mcp1</tt>.
<bcp14>MUST</bcp14> appear as the first field in the record.  Clients <bcp14>MUST</bcp14> reject
any record whose <tt>v</tt> field is absent, is not the first field, or
contains a value other than <tt>mcp1</tt>.</t>
          <t>This version gate enables future incompatible revisions of the
record format.  A future version <tt>mcp2</tt> would indicate breaking
changes to field semantics or discovery flow.</t>
        </section>
        <section anchor="mcp-field-url">
          <name>url (REQUIRED)</name>
          <t>The HTTPS URL of the MCP server endpoint.  <bcp14>MUST</bcp14> use the <tt>https</tt>
scheme.  <bcp14>MUST</bcp14> be a syntactically valid URI per RFC 3986.  This is
the entry point for MCP session establishment.</t>
          <t>Clients <bcp14>MUST NOT</bcp14> attempt to connect to URLs using schemes other
than <tt>https</tt>.  Servers <bcp14>MUST</bcp14> present a valid TLS certificate for
the hostname in the URL.</t>
        </section>
        <section anchor="mcp-field-proto">
          <name>proto (OPTIONAL)</name>
          <t>The agent protocol family the endpoint speaks.  Default value:
<tt>mcp</tt>.  For a record published at <tt>_mcp.&lt;domain&gt;</tt> the only value
defined by this document is <tt>mcp</tt>; the field is retained because
the same key, with the same meaning, is used by neighbouring
discovery drafts (see <xref target="related-work"/>) and a client that reads
several of them should not have to special-case this one.</t>
          <t><tt>proto</tt> does not name a transport.  It does not carry
<tt>streamable-http</tt>, <tt>sse</tt>, <tt>h2</tt>, <tt>h3</tt>, or any other binding.  The
transport is carried by the <tt>transport</tt> field below.  A record
published under revision 01 may still carry a transport value
here, and <xref target="reading-legacy"/> says exactly how to read one.</t>
          <t>The field is <bcp14>OPTIONAL</bcp14>, but not unconditionally.  A publisher that
emits a <tt>transport</tt> field <bcp14>MUST</bcp14> also emit <tt>proto=mcp</tt>, for the
interoperability reason given in <xref target="reading-legacy"/>.  Omitting
<tt>proto</tt> is permitted only where <tt>transport</tt> is also omitted.</t>
        </section>
        <section anchor="mcp-field-transport">
          <name>transport (OPTIONAL)</name>
          <t>The MCP transport binding used by the server.  Default value:
<tt>streamable-http</tt>.  Defined values:</t>
          <ul spacing="normal">
            <li>
              <t><tt>streamable-http</tt>, the HTTP-based streaming transport (default).</t>
            </li>
            <li>
              <t><tt>sse</tt>, the HTTP+SSE transport of MCP protocol version 2024-11-05,
retained for deployed servers.  The Model Context Protocol
specification marks this transport superseded by
<tt>streamable-http</tt>.  It is listed so an existing server stays
discoverable, not as a recommendation for new deployments.</t>
            </li>
            <li>
              <t><tt>stdio-url</tt>, a URL pointing to a signed launch descriptor for a
stdio-based server (descriptor format out of scope).  This is a
discovery convenience defined by this document, not one of the MCP
specification's own transport names.</t>
            </li>
          </ul>
          <t>The field is named <tt>transport</tt> because that is the term the Model
Context Protocol specification itself uses for this axis, so an
<tt>_mcp</tt> record and an MCP client configuration name the transport
the same way.</t>
          <t>Implementations <bcp14>SHOULD</bcp14> support at least <tt>streamable-http</tt>.
A client that meets a <tt>transport</tt> value it does not recognise <bcp14>MUST</bcp14>
skip the record and proceed to the next record by priority, or to
HTTPS fallback.</t>
          <t>The wire protocol beneath the transport (<tt>h2</tt>, <tt>h3</tt>, <tt>http/1.1</tt>)
is NOT carried in this record.  It is already expressible as the
<tt>alpn</tt> service parameter of an SVCB or HTTPS resource record
<xref target="RFC9460"/>, and duplicating it in TXT would create two sources of
truth for one fact.</t>
        </section>
        <section anchor="reading-legacy">
          <name>Reading a record published before this revision</name>
          <t>Revision 01 of this document defined <tt>proto</tt> as the transport, so
records in the wild carry <tt>proto=streamable-http</tt>, <tt>proto=sse</tt>, or
<tt>proto=stdio-url</tt>.  Revision 01 also admitted ANY token in that
field, and required a client that met a <tt>proto</tt> value it did not
recognise to SKIP the record.  Both of those behaviours are
preserved here.  Such records remain valid and <bcp14>MUST</bcp14> be read as
follows.</t>
          <t>A client reading an <tt>_mcp</tt> record determines two things, the
protocol family first and the transport second.  Taking them in the
other order is what makes an unrecognised value look harmless, so
the order is normative.</t>
          <t><strong>Step A, the protocol family.</strong>  The family is <tt>mcp</tt> where any one
of the following holds:</t>
          <ul spacing="normal">
            <li>
              <t><tt>proto</tt> is absent;</t>
            </li>
            <li>
              <t><tt>proto</tt> carries <tt>mcp</tt>;</t>
            </li>
            <li>
              <t><tt>proto</tt> carries one of the three values defined for <tt>transport</tt>
in <xref target="mcp-field-transport"/>.  This is the revision 01 form, in
which the transport was written into <tt>proto</tt>.</t>
            </li>
          </ul>
          <t>Where <tt>proto</tt> carries any other value, it names a protocol family
this document does not define.  The client <bcp14>MUST</bcp14> skip the record and
proceed to the next record by priority, or to HTTPS fallback.  It
<bcp14>MUST NOT</bcp14> treat the value as a transport, and it <bcp14>MUST NOT</bcp14> apply a
default transport to the record.  This holds whether or not a
<tt>transport</tt> field is also present: a record reading
<tt>transport=streamable-http; proto=websocket</tt> is skipped, because the
family is unknown, and the presence of a readable transport does not
make an unknown family speakable.</t>
          <t><strong>Step B, the transport.</strong>  A client reaches this step only where
Step A yielded the family <tt>mcp</tt>.</t>
          <ul spacing="normal">
            <li>
              <t>Where <tt>transport</tt> is present and carries one of the three values
defined in <xref target="mcp-field-transport"/>, that value is the transport,
and any transport value carried in <tt>proto</tt> <bcp14>MUST</bcp14> be ignored.</t>
            </li>
            <li>
              <t>Where <tt>transport</tt> is present and carries any other value, the
client <bcp14>MUST</bcp14> skip the record, and <bcp14>MUST</bcp14> proceed to the next record
by priority or to HTTPS fallback (<xref target="mcp-field-transport"/>).</t>
            </li>
            <li>
              <t>Where <tt>transport</tt> is absent and <tt>proto</tt> carries one of the three
defined transport values, that value is the transport.  This is
the revision 01 form.</t>
            </li>
            <li>
              <t>Where <tt>transport</tt> is absent and <tt>proto</tt> is absent or carries
<tt>mcp</tt>, the transport is <tt>streamable-http</tt>.</t>
            </li>
          </ul>
          <t>The skip in Step A is the rule that matters, and it is written out
because the obvious reading gets it wrong.  Revision 01 admitted any
token in <tt>proto</tt>, so <tt>proto=websocket</tt> was a syntactically legal
record, and every conformant revision 01 client SKIPPED it, because
revision 01 required a skip on an unrecognised <tt>proto</tt> value.  A
client that instead read an unrecognised <tt>proto</tt> value as a protocol
family, and then applied the default transport, would open a
<tt>streamable-http</tt> session against a server that never offered one.
That record was unusable under revision 01 and it stays unusable
here.  Preserving the skip is what keeps the two revisions
interoperable.  Widening the rule to absorb any unknown token would
do the opposite, because it would newly accept records that no
client could ever use.</t>
          <t>A publisher that emits a <tt>transport</tt> field <bcp14>MUST</bcp14> also emit
<tt>proto=mcp</tt>.  This is not decoration.  A revision 01 client does not
know the <tt>transport</tt> field, and its own forward-compatibility rule
tells it to IGNORE any field it does not know, so it reads only
<tt>proto</tt>.  A record carrying <tt>transport=streamable-http</tt> beside
<tt>proto=sse</tt> would therefore resolve to <tt>streamable-http</tt> under this
revision and to <tt>sse</tt> under revision 01, which is one record and two
transports.  Setting <tt>proto=mcp</tt> alongside <tt>transport</tt> removes the
divergence, because a revision 01 client then finds no transport it
recognises in <tt>proto</tt> and skips the record rather than reaching a
different endpoint state than a current client would.</t>
          <t>Publishers <bcp14>SHOULD</bcp14> move to the two-field form.  No flag day is
required, because the two forms are distinguishable by inspection,
and because no value is defined for both fields
(<xref target="mcp-abnf"/>).</t>
        </section>
        <section anchor="mcp-field-pk">
          <name>pk (OPTIONAL)</name>
          <t>Ed25519 public key for endpoint verification, encoded as
<tt>ed25519:&lt;base64url&gt;</tt> where <tt>&lt;base64url&gt;</tt> is the raw 32-byte
public key encoded per <xref target="RFC4648"/> Section 5, without padding.</t>
          <t>Where present, the <tt>pk</tt> field provides a cryptographic binding
between the DNS record and the MCP server.  Clients <bcp14>MUST</bcp14> verify
that the key matches at least one of the following:</t>
          <ol spacing="normal" type="1"><li>
              <t>A key in the server's TLS certificate SubjectPublicKeyInfo.</t>
            </li>
            <li>
              <t>The signing key used in HTTP Message Signatures <xref target="RFC9421"/> on
MCP responses.</t>
            </li>
            <li>
              <t>The key declared in the Server Card <xref target="SEP-1649"/> served by the
endpoint.</t>
            </li>
          </ol>
          <t>If verification fails, the client <bcp14>MUST</bcp14> treat the server as
untrusted and <bcp14>SHOULD NOT</bcp14> proceed with the MCP session.</t>
        </section>
        <section anchor="mcp-field-epoch">
          <name>epoch (OPTIONAL)</name>
          <t>A monotonic non-negative integer that increments on every key
rotation.  Default value: <tt>0</tt>.</t>
          <t>Signed claims or attestations issued by the MCP server carry a key
identifier (kid) of the form <tt>&lt;algo&gt;:&lt;pk&gt;#&lt;epoch&gt;</tt>.  Verifiers
resolve the Discovery Record, extract the current epoch, and apply
the following rules:</t>
          <ul spacing="normal">
            <li>
              <t>Claims with <tt>epoch == current</tt> are valid, subject to temporal
checks.</t>
            </li>
            <li>
              <t>Claims with <tt>epoch &lt; current</tt> are revoked unless the claim's
expiry timestamp predates the rotation event.</t>
            </li>
            <li>
              <t>Claims with <tt>epoch &gt; current</tt> <bcp14>MUST</bcp14> be rejected as either
forgeries or evidence of a stale verifier DNS cache.</t>
            </li>
          </ul>
          <t>The epoch field enables epoch-based revocation without external
Certificate Revocation Lists (CRLs) or Online Certificate Status
Protocol (OCSP) infrastructure.  Incrementing the epoch revokes
all outstanding claims issued under prior epochs, subject to the
grace period defined by each claim's expiry.</t>
          <t>The rules above compare a claim against the record.  They do not
compare the record against itself over time.  A publisher never
lowers the epoch, because the field is monotonic, so a record whose
epoch is lower than one a client has already observed is not a state
a conformant publisher produces.  <xref target="key-continuity"/> states what a
client does when it observes one, and what it does when the <tt>pk</tt>
changes.</t>
        </section>
        <section anchor="mcp-field-cap">
          <name>cap (OPTIONAL)</name>
          <t>Capability tier advertised by the server, expressed as a
comma-separated list of tokens.  This field provides a coarse hint
to clients about the functional scope of the server.</t>
          <t>No normative semantics are defined for specific capability values
in this document.  Protocol extensions <bcp14>MAY</bcp14> define capability tokens
and their semantics.  Clients that do not recognise a capability
token <bcp14>MUST</bcp14> ignore it.</t>
        </section>
        <section anchor="mcp-field-attest">
          <name>attest (OPTIONAL)</name>
          <t>A comma-separated list of attestation types that the MCP server
declares it is authorised to issue.  The value enumerates claim
types that downstream verifiers will accept from this issuer.</t>
          <t>Defined values, extensible:</t>
          <ul spacing="normal">
            <li>
              <t><tt>employ</tt>, current employment affiliation.</t>
            </li>
            <li>
              <t><tt>contract</tt>, contractual or freelance engagement.</t>
            </li>
            <li>
              <t><tt>alumnus</tt>, former affiliation.</t>
            </li>
            <li>
              <t><tt>director</tt>, board or directorial role.</t>
            </li>
            <li>
              <t><tt>member</tt>, generic membership (professional body, association).</t>
            </li>
            <li>
              <t><tt>contrib</tt>, verified contribution without formal affiliation.</t>
            </li>
          </ul>
          <t>Verifiers <bcp14>MUST</bcp14> reject any attestation claim whose type is not
present in the issuer's <tt>attest</tt> field.  This provides a
structural defence against capability creep: the domain's
published attestation scope is the upper bound on what its
claims can assert.</t>
          <t>Forward compatibility: unknown attestation values <bcp14>MUST</bcp14> be ignored,
not rejected.  A verifier encountering <tt>attest=employ,fellow</tt>
where <tt>fellow</tt> is undefined treats the record as
<tt>attest=employ</tt> and proceeds.</t>
        </section>
        <section anchor="mcp-field-scope">
          <name>scope (OPTIONAL)</name>
          <t>Comma-separated list of MCP primitives supported by the server.
Defined values:</t>
          <ul spacing="normal">
            <li>
              <t><tt>tools</tt>, the server exposes callable tools.</t>
            </li>
            <li>
              <t><tt>resources</tt>, the server exposes readable resources.</t>
            </li>
            <li>
              <t><tt>prompts</tt>, the server exposes prompt templates.</t>
            </li>
            <li>
              <t><tt>sampling</tt>, the server supports LLM sampling requests.</t>
            </li>
            <li>
              <t><tt>identity</tt>, the server supports identity resolution queries.</t>
            </li>
          </ul>
          <t>Unknown values <bcp14>MUST</bcp14> be ignored.  This field is advisory; the
authoritative capability set is declared during the MCP
<tt>initialize</tt> handshake.</t>
        </section>
        <section anchor="mcp-field-priority">
          <name>priority (OPTIONAL)</name>
          <t>A non-negative integer.  Default value: <tt>10</tt>.  Where multiple
Discovery Records exist at the same DNS name, clients <bcp14>MUST</bcp14> sort
records by <tt>priority</tt> in ascending order and attempt connection
to lower-valued records first.</t>
          <t>This field enables multi-server failover without external load
balancing.  If connection to the highest-priority server fails,
the client proceeds to the next record.</t>
        </section>
        <section anchor="mcp-field-ttl">
          <name>ttl (OPTIONAL)</name>
          <t>Advisory TTL in seconds for client-side caching of the parsed
Discovery Record metadata.  Clients <bcp14>MAY</bcp14> use this value to avoid
repeated DNS lookups when the DNS TTL is shorter than desired.
The DNS TTL itself remains authoritative for cache expiry of the
raw DNS response; the <tt>ttl</tt> field applies to post-parse metadata
caching only.</t>
        </section>
        <section anchor="mcp-field-ext">
          <name>ext (OPTIONAL)</name>
          <t>An HTTPS URL pointing to a protocol-extension document.  The
format and semantics of the extension document are defined by
the protocol extension, not by this specification.</t>
          <t>This field enables protocol-specific extensions (identity
protocols, payment protocols, agent-to-agent negotiation) to
attach additional metadata without consuming space in the DNS
TXT record.  The extension document <bcp14>MUST</bcp14> be served over HTTPS.
Clients that do not recognise or support the extension <bcp14>MUST</bcp14>
ignore this field.</t>
        </section>
      </section>
      <section anchor="mcp-forward-compat">
        <name>Forward Compatibility</name>
        <t>Implementations <bcp14>MUST</bcp14> ignore unknown fields.  A parser encountering
a field name that it does not recognise <bcp14>MUST</bcp14> skip that field and
continue parsing the remaining fields.  This rule ensures that
future extensions to the record format do not break existing
implementations.</t>
        <t>Ignoring an unknown FIELD is not the same act as skipping a record
on an unrecognised VALUE in a field this document defines.  The
first is required here; the second is required by
<xref target="mcp-field-transport"/> and <xref target="reading-legacy"/>.</t>
        <t>Breaking changes to the semantics of existing fields require a
version bump, for example <tt>v=mcp2</tt>.</t>
      </section>
      <section anchor="mcp-multistring">
        <name>Multi-String Concatenation</name>
        <t>DNS TXT resource records are limited to 255 bytes per
character-string <xref target="RFC1035"/>.  Where a Discovery Record exceeds 255
bytes, the record <bcp14>MUST</bcp14> be split across multiple character-strings
within a single TXT RDATA, which the DNS resolver concatenates
per <xref target="RFC7208"/> Section 3.3.</t>
        <t>Example of a multi-string record:</t>
        <artwork><![CDATA[
_mcp.example.com. IN TXT (
  "v=mcp1; url=https://mcp.example.com; "
  "pk=ed25519:LongBase64UrlEncodedPublicKeyValueHere; "
  "epoch=3; attest=employ,contract,alumnus; scope=tools,identity"
)
]]></artwork>
        <t>Parsers <bcp14>MUST</bcp14> concatenate all character-strings within a single TXT
RDATA before parsing the semicolon-delimited fields.  Parsers
<bcp14>MUST NOT</bcp14> treat each character-string as an independent record.</t>
      </section>
    </section>
    <section anchor="orgalter-record">
      <name>Record Format: <tt>_org-alter.&lt;domain&gt;</tt> (Identity Bootstrap)</name>
      <t>This section defines the Org-Identity Record introduced in v02.  It
is given here in full, for the same reason <xref target="mcp-record"/> is.</t>
      <section anchor="orgalter-location">
        <name>DNS Location</name>
        <t>The Org-Identity Record is a DNS TXT resource record <xref target="RFC1035"/>
published at the label <tt>_org-alter</tt> prepended to the Policy Domain:</t>
        <artwork><![CDATA[
_org-alter.<policy-domain>. IN TXT "<record-value>"
]]></artwork>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>A domain <bcp14>MAY</bcp14> publish a <tt>_mcp.&lt;domain&gt;</tt> record without an
<tt>_org-alter.&lt;domain&gt;</tt> record (service-only deployment), or an
<tt>_org-alter.&lt;domain&gt;</tt> record without a <tt>_mcp.&lt;domain&gt;</tt> record
(identity-only deployment), or both (full deployment).  The
recommended pattern for any operator running an org-alter instance
is to publish both.</t>
        <t>Multiple TXT resource records <bcp14>MAY</bcp14> be published at the same DNS name
(e.g., for staged identity rotation).  Clients <bcp14>MUST</bcp14> evaluate all
returned records and select the one with the highest <tt>epoch</tt> field.</t>
      </section>
      <section anchor="orgalter-abnf">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  The following ABNF <xref target="RFC5234"/> defines the syntax:</t>
        <artwork><![CDATA[
orgalter-record = version *( ";" SP field )
version       = "v=alter1"
field         = org-field / entity-field / entity-type-field /
                founded-field / regions-field / regulated-field /
                bootstrap-field / mcp-policy-field /
                epoch-field / pk-field / attest-field /
                ext-field / unknown-field

org-field        = "org=" text-value
entity-field     = "entity=" registry ":" text-value
entity-type-field = "entity-type=" text-value
founded-field    = "founded=" date-fullyear
regions-field    = "regions=" region-csv
regulated-field  = "regulated=" framework-csv
bootstrap-field  = "bootstrap=" https-uri
mcp-policy-field = "mcp-policy=" policy-token
epoch-field      = "epoch=" 1*DIGIT
pk-field         = "pk=" algo ":" base64url
attest-field     = "attest=" attest-csv
ext-field        = "ext=" https-uri
unknown-field    = token "=" *qtext

registry      = "abn" / "acn" / "ein" / "ch" / "cro" / "lei" / token
text-value    = 1*qtext
qtext         = %x20-3A / %x3C-7E
              ; printable ASCII and SP, excluding ";" (%x3B),
              ; which delimits fields.  A legal entity name carries
              ; spaces, so VCHAR alone cannot express one.
region-csv    = region-token *( "," region-token )
region-token  = 2ALPHA   ; ISO 3166-1 alpha-2
framework-csv = framework-token *( "," framework-token )
framework-token = "disp" / "itar" / "ear" / "hipaa" / "gdpr" /
                  "soc2" / "iso27001" / "iso42001" / "essential8" /
                  "aprs" / token
policy-token  = "open" / "refuse-automated" / "refuse-tenant" /
                "refuse-all" / token
date-fullyear = 4DIGIT [ "-" 2DIGIT [ "-" 2DIGIT ] ]
algo          = "ed25519"
base64url     = 1*( ALPHA / DIGIT / "-" / "_" )
https-uri     = "https://" *uri-char
uri-char      = %x21-3A / %x3C-7E
              ; printable ASCII, excluding ";" (%x3B) and SP.
              ; A URI carries no raw space.
token         = 1*( ALPHA / DIGIT / "-" / "_" )
]]></artwork>
        <t>The <tt>text-value</tt> rule corrects a defect inherited from revision 02,
which defined <tt>org</tt>, <tt>entity</tt> and <tt>entity-type</tt> over <tt>1*VCHAR</tt>.
VCHAR is <tt>%x21-7E</tt> and excludes the space, so that grammar could not
derive <tt>org=Alter Meridian Pty Ltd</tt> or <tt>entity-type=Pty Ltd</tt>, which
are the values revision 02's own examples published.  A legal entity
name carries spaces, so the rule now admits them, and excludes only
the semicolon that separates one field from the next.</t>
        <t>A URI does not carry a raw space, so <tt>bootstrap</tt> and <tt>ext</tt> are
defined over <tt>uri-char</tt> rather than <tt>text-value</tt>.  A character class
that is right for a name is not thereby right for a URI: admitting SP
in a URI value would let it run past its own end and consume the
field after it.</t>
        <t>As in <xref target="mcp-abnf"/>, <tt>unknown-field</tt> matches ONLY a field name this
document does not define.  Where a field name IS defined above, the
field <bcp14>MUST</bcp14> be parsed by that field's own rule, and a record in which
a defined field's value does not satisfy its rule is MALFORMED and
<bcp14>MUST</bcp14> be discarded rather than re-read as an unknown field.</t>
      </section>
      <section anchor="orgalter-fields">
        <name>Field Definitions</name>
        <section anchor="v-required">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  <bcp14>MUST</bcp14> be the literal string <tt>alter1</tt>.
<bcp14>MUST</bcp14> appear as the first field in the record.  Clients <bcp14>MUST</bcp14> 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 is independent of the <tt>_mcp</tt> record's
<tt>v=mcp1</tt> namespace.  This allows the two record types to evolve
independently.</t>
        </section>
        <section anchor="org-required">
          <name>org (REQUIRED)</name>
          <t>The canonical legal name of the organisation operating the domain.
<bcp14>MUST</bcp14> be the registered legal entity name as it appears in the
operator's primary corporate registry, not a trading name or brand.
For trading names, see the optional <tt>entity-type</tt> field.</t>
          <t>Examples:</t>
          <artwork><![CDATA[
org=Alter Meridian Pty Ltd
org=Red Group Pty Ltd
org=International Business Machines Corporation
]]></artwork>
          <t>### entity (<bcp14>RECOMMENDED</bcp14>)</t>
          <t>A globally-disambiguating canonical entity identifier, prefixed by
its registry namespace.  Defined registries:</t>
          <ul spacing="normal">
            <li>
              <t><tt>abn:</tt> -- Australian Business Number (11 digits, no spaces).</t>
            </li>
            <li>
              <t><tt>acn:</tt> -- Australian Company Number (9 digits, no spaces).</t>
            </li>
            <li>
              <t><tt>ein:</tt> -- US Employer Identification Number (<tt>NN-NNNNNNN</tt>).</t>
            </li>
            <li>
              <t><tt>ch:</tt>  -- UK Companies House number (8 alphanumeric).</t>
            </li>
            <li>
              <t><tt>cro:</tt> -- Irish Companies Registration Office number.</t>
            </li>
            <li>
              <t><tt>lei:</tt> -- Legal Entity Identifier (20 alphanumeric per ISO 17442).</t>
            </li>
          </ul>
          <t>Additional registries <bcp14>MAY</bcp14> be defined; clients <bcp14>MUST</bcp14> treat unknown
registry namespaces as opaque identifiers.</t>
          <t>Example:</t>
          <artwork><![CDATA[
entity=abn:54696662049
]]></artwork>
          <t>The <tt>entity</tt> field is the primary anti-impersonation defence for the
identity layer: a domain claiming to be <tt>Alter Meridian Pty Ltd</tt>
without an ABN that resolves to that name in ABR Lookup is
detectable as a mismatch by any verifier with access to the public
registry.</t>
        </section>
        <section anchor="entity-type-optional">
          <name>entity-type (OPTIONAL)</name>
          <t>A short human-readable label for the entity's type, drawn from its
jurisdiction's vocabulary.  Examples: <tt>Pty Ltd</tt>, <tt>LLC</tt>, <tt>GmbH</tt>,
<tt>SAS</tt>, <tt>non-profit</tt>.  This field is advisory and is intended for
display to humans; it is not a structured taxonomy.</t>
        </section>
        <section anchor="founded-optional">
          <name>founded (OPTIONAL)</name>
          <t>The date the legal entity was founded or registered, as
<tt>YYYY</tt> or <tt>YYYY-MM</tt> or <tt>YYYY-MM-DD</tt> per ISO 8601.  This field is
advisory and is used by onboarding wizards and identity verifiers
to display "Founded N years ago" or to detect implausibly young
entities making strong claims.</t>
        </section>
        <section anchor="regions-optional">
          <name>regions (OPTIONAL)</name>
          <t>A comma-separated list of ISO 3166-1 alpha-2 country codes
indicating the operator's primary regions of operation.  This field
is advisory.  It is used by onboarding wizards to set sane defaults
for jurisdiction-specific behaviour (e.g., currency, locale, public
registry preference).</t>
          <t>Example:</t>
          <artwork><![CDATA[
regions=AU,NZ,SG
]]></artwork>
          <t>### regulated (<bcp14>OPTIONAL</bcp14> but STRUCTURALLY SIGNIFICANT)</t>
          <t>A comma-separated list of regulatory framework tokens under which the
operator is bound.  Defined values (extensible):</t>
          <ul spacing="normal">
            <li>
              <t><tt>disp</tt> -- Australian Defence Industry Security Program.</t>
            </li>
            <li>
              <t><tt>itar</tt> -- US International Traffic in Arms Regulations.</t>
            </li>
            <li>
              <t><tt>ear</tt> -- US Export Administration Regulations.</t>
            </li>
            <li>
              <t><tt>hipaa</tt> -- US Health Insurance Portability and Accountability Act.</t>
            </li>
            <li>
              <t><tt>gdpr</tt> -- EU General Data Protection Regulation.</t>
            </li>
            <li>
              <t><tt>soc2</tt> -- AICPA SOC 2 Type II.</t>
            </li>
            <li>
              <t><tt>iso27001</tt> -- ISO/IEC 27001 information security management.</t>
            </li>
            <li>
              <t><tt>iso42001</tt> -- ISO/IEC 42001 AI management systems.</t>
            </li>
            <li>
              <t><tt>essential8</tt> -- ASD Essential Eight (ML2 or higher).</t>
            </li>
            <li>
              <t><tt>aprs</tt> -- Australian Privacy Principles / Privacy Act.</t>
            </li>
          </ul>
          <t>The presence of any token in this field is a structural promise:
the operator declares that they are bound by the named framework and
that automated access pathways crossing the regulated boundary <bcp14>MUST</bcp14>
be refused.  Onboarding wizards reading this field <bcp14>MUST</bcp14> refuse to
attempt L5/L6 authenticated access to data stores covered by the
declared framework, regardless of whether credentials are available.</t>
          <t>This converts the DNS record into an out-of-band consent boundary:
a remote agent's tooling becomes structurally aware that integration
is forbidden before it ever attempts a connection.  An agent that
ignores this declaration and attempts integration anyway commits a
detectable, attributable violation.</t>
          <t>Forward compatibility: unknown framework tokens <bcp14>MUST</bcp14> be treated
conservatively (assume the strictest defensible refusal) rather than
ignored.</t>
        </section>
        <section anchor="bootstrap-optional">
          <name>bootstrap (OPTIONAL)</name>
          <t>An HTTPS URL pointing to a JSON document containing additional
identity bootstrap metadata: a directory of public roster members
(if the org chooses to publish one), an organisational logo URL, a
canonical public website URL, an <tt>attest</tt> profile beyond what fits
in DNS, and any operator-defined extensions.</t>
          <t>The bootstrap document <bcp14>MUST</bcp14> be served over HTTPS with a valid TLS
certificate for the Policy Domain.  The document format is
operator-defined; recommended schema is published as
<tt>https://truealter.com/.well-known/org-alter-bootstrap.schema.json</tt>
as a non-normative reference.</t>
        </section>
        <section anchor="mcp-policy-optional">
          <name>mcp-policy (OPTIONAL)</name>
          <t>A single token declaring how the operator's MCP endpoint relates to
external automated access:</t>
          <ul spacing="normal">
            <li>
              <t><tt>open</tt> -- The MCP endpoint accepts queries from any agent with
appropriate authentication.</t>
            </li>
            <li>
              <t><tt>refuse-automated</tt> -- The MCP endpoint exists for human-mediated
access only.  Automated agents <bcp14>SHOULD NOT</bcp14> initiate sessions.</t>
            </li>
            <li>
              <t><tt>refuse-tenant</tt> -- The MCP endpoint exists, but the operator runs
one or more tenants (e.g., an M365 tenant) into which automated
access is forbidden.  This is the typical declaration for an
org-alter instance run by an operator who has DISP-accredited or
ITAR-bound systems alongside their public meta-layer.</t>
            </li>
            <li>
              <t><tt>refuse-all</tt> -- The MCP endpoint exists for the operator's own
internal use only.  External agents <bcp14>MUST NOT</bcp14> attempt connection.</t>
            </li>
          </ul>
          <t>Default value, if absent: <tt>open</tt>.</t>
          <t>The <tt>mcp-policy</tt> field complements the <tt>regulated</tt> field.
<tt>regulated=disp; mcp-policy=refuse-tenant</tt> is the canonical
declaration for a defence contractor running an org-alter at the
unclassified meta-layer alongside a regulated tenant they will not
allow automated agents to enter.</t>
        </section>
        <section anchor="epoch-optional">
          <name>epoch (OPTIONAL)</name>
          <t>A monotonic non-negative integer that increments on every identity
rotation event (e.g., legal entity restructure, change of control,
move to a new jurisdiction).  Default value: <tt>0</tt>.  Semantics mirror
the <tt>epoch</tt> field of the <tt>_mcp</tt> record defined in v01.  A wizard that
has persisted this record's <tt>pk</tt> and <tt>epoch</tt> applies the rules of
<xref target="key-continuity"/> when it re-reads the record.</t>
        </section>
        <section anchor="pk-optional">
          <name>pk (OPTIONAL)</name>
          <t>Ed25519 public key for endpoint verification, encoded identically to
the v01 <tt>_mcp</tt> record's <tt>pk</tt> field.  When present, the same key
provides cryptographic binding for both endpoint discovery and
identity bootstrap.</t>
        </section>
        <section anchor="attest-optional">
          <name>attest (OPTIONAL)</name>
          <t>A comma-separated list of attestation types the operator declares it
is authorised to issue, identical in semantics to the v01 <tt>_mcp</tt>
record <tt>attest</tt> field.  Where both records publish an <tt>attest</tt> field,
the values <bcp14>MUST</bcp14> be consistent.  An onboarding wizard <bcp14>SHOULD</bcp14> use the
union of the two.</t>
        </section>
        <section anchor="ext-optional">
          <name>ext (OPTIONAL)</name>
          <t>An HTTPS URL pointing to a protocol-extension document, identical in
semantics to the v01 <tt>_mcp</tt> record <tt>ext</tt> field.  This field is
distinct from <tt>bootstrap</tt>: <tt>ext</tt> is for protocol-level extensions
to the discovery format itself; <tt>bootstrap</tt> is for operator-level
identity metadata.</t>
        </section>
      </section>
      <section anchor="orgalter-forward-compat">
        <name>Forward Compatibility</name>
        <t>Implementations <bcp14>MUST</bcp14> ignore unknown fields.  This rule, identical to
the v01 <tt>_mcp</tt> record specification, ensures that future
extensions to the <tt>_org-alter</tt> record format do not break existing
implementations.</t>
      </section>
    </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 seven required fields of the
~alter identity envelope (binding a <tt>~handle</tt> to its public key,
IdentityLog root, inception timestamp, revocation commitment, and
detached signature, under a protocol version) at an
underscore-prefixed label under the handle's hosting zone.  The envelope
schema admits an optional <tt>caveats</tt> array which is never carried in
DNS; this document specifies no transport and no vocabulary for it,
so under this document the array is always empty and the signature
is computed over an empty array (<xref target="signing-input"/>).  The signature
algorithm is not a separate field.  It is derived from the <tt>pk=</tt>
prefix via the registry of <xref target="sigalg-registry"/>, and enters the signing
input under that derivation.</t>
      <section anchor="alter-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>
        <artwork><![CDATA[
_alter.<zone>. IN TXT "<record-value>"
]]></artwork>
        <t>The underscore prefix conforms to the conventions established in
<xref target="RFC8552"/> for globally scoped, underscore-prefixed DNS node names.</t>
        <t>Publication of a per-individual envelope at this label is <strong><bcp14>NOT
RECOMMENDED</bcp14></strong>, for the reasons in <xref target="alter-applicability"/>.  That applies to
any number of handles.  Revision 04 additionally permitted a zone
to host more than one <tt>~handle</tt> by publishing multiple TXT RRs at
this one owner name, with resolvers disambiguating on the <tt>h=</tt>
field; that pattern is the enumeration exposure of <xref target="alter-applicability"/> in
its sharpest form, and a zone <bcp14>MUST NOT</bcp14> use it.</t>
        <t>A domain <bcp14>MAY</bcp14> 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).</t>
        <section anchor="alter-applicability">
          <name>Applicability of the Envelope Record</name>
          <t>Publication of a per-individual envelope in DNS is <strong><bcp14>NOT
RECOMMENDED</bcp14></strong> for new deployments.  Three properties of DNS are the
reason.</t>
          <t><strong>Enumeration.</strong>  Where a zone co-hosts several handles at one
owner name, a single query returns the entire set.  That is a
membership roll, published to the internet, retrievable by anyone,
and the individuals listed in it cannot each consent to the
disclosure of the others.  Even with one handle per zone, DNSSEC's
authenticated denial of existence permits zone walking unless
NSEC3 or a compact denial scheme is deployed, and this document
never required one.</t>
          <t><strong>Size.</strong>  A conformant envelope does not fit in a single 255-octet
character-string, and no conformant envelope is smaller than the
limit.  Co-hosting a handful of handles at one owner name exceeds
the 1232-octet fragmentation budget that current DNS operational
guidance assumes, and the RRset grows without bound in the number
of handles.  The resolution algorithm of <xref target="recognition"/> retrieves the
whole RRset and filters client-side, so the cost of resolving one
handle grows with the number of handles the zone hosts.</t>
          <t><strong>Erasure.</strong>  A DNS record, once published and cached, cannot be
recalled.  A mechanism that binds a natural person's identifier to
a key in public DNS offers that person no way to withdraw the
binding from the caches and passive collectors that have already
taken it.  Revocation, where this document specifies it at all,
marks a binding dead; it does not unpublish it.</t>
          <t>These are properties of this mechanism as specified.  The envelope
format itself, its signing input (<xref target="signing-input"/>), and the
verification procedure (<xref target="recognition"/>) are not implicated by them.</t>
        </section>
      </section>
      <section anchor="alter-abnf">
        <name>ABNF Grammar</name>
        <t>The record value is a semicolon-delimited sequence of key-value
pairs.  Two grammars are given, because a publisher and a resolver
are held to different rules.  <tt>alter-record</tt> is what a conformant
publisher <bcp14>MUST</bcp14> emit.  <tt>alter-accepted</tt> is what a conformant resolver
<bcp14>MUST</bcp14> accept.  Every <tt>alter-record</tt> is an <tt>alter-accepted</tt>; the
converse does not hold.  Revisions 03 and 04 gave the publisher
grammar alone, and separately required resolvers to accept records
that grammar cannot derive, which is a contradiction this revision
removes.</t>
        <t>The following ABNF (per <xref target="RFC5234"/>) defines the syntax:</t>
        <artwork><![CDATA[
; Publisher emission.  A conformant publisher MUST emit this form.
alter-record   = version ";" SP handle-field
                 ";" SP pubkey-field
                 ";" SP ilr-field
                 ";" SP ts-field
                 ";" SP rev-field
                 ";" SP sig-field
                 *( ";" SP unknown-field )

; Resolver acceptance.  A conformant resolver MUST accept this form.
; The version field stays first.  The remaining six required fields
; may arrive in any order, each exactly once, interleaved with any
; number of unknown fields.
alter-accepted = version *( ";" SP accepted-field )
accepted-field = handle-field / pubkey-field / ilr-field
               / ts-field / rev-field / sig-field
               / unknown-field

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 "=" *qtext

handle         = "~" 1*( ALPHA / DIGIT / "-" / "_" )
                 [ "." "bot" ]
               / "~cc-" 1*( ALPHA / DIGIT / "-" / "." )
algo           = "ed25519"
base64url      = 1*( ALPHA / DIGIT / "-" / "_" )
token          = 1*( ALPHA / DIGIT / "-" / "_" )
qtext          = %x20-3A / %x3C-7E
               ; printable ASCII and SP, excluding ";" (%x3B),
               ; which delimits one field from the next.
]]></artwork>
        <t>ABNF alone cannot express "each of these six exactly once, in any
order", so the cardinality rule is stated here and is normative.  A
resolver <bcp14>MUST</bcp14> reject any record in which a required field is absent,
or in which any field name appears more than once.</t>
        <t>ABNF cannot express the exclusion either.  As in <xref target="mcp-abnf"/>,
<tt>unknown-field</tt> matches ONLY a field name this document does not
define.  Where a field name IS defined above, the field <bcp14>MUST</bcp14> be
parsed by that field's own rule, and a record in which a defined
field's value does not satisfy its rule is MALFORMED and <bcp14>MUST</bcp14> be
rejected rather than re-read as an unknown field.</t>
        <t>The seven keys are <bcp14>REQUIRED</bcp14>.  Publishers <bcp14>MUST NOT</bcp14> omit or reorder
them, and <bcp14>MUST</bcp14> emit them in the order shown in <tt>alter-record</tt>.</t>
        <t>The <tt>v</tt> field is first for publisher and resolver alike.  A resolver
<bcp14>MUST</bcp14> reject a record whose <tt>v</tt> field is absent or is not the first
field (<xref target="field-v"/>), so the ordering freedom above extends to the
remaining six required fields and to unknown fields, and never to
<tt>v</tt>.  Ordering among those six carries no meaning, and a resolver
<bcp14>MUST NOT</bcp14> derive any from it.</t>
        <t>Resolvers <bcp14>MUST</bcp14> tolerate unknown fields wherever they appear, and
<bcp14>MUST</bcp14> ignore them, per the forward-compatibility rule of
<xref target="forward-compat"/>.</t>
        <t>Field order on the wire has no part in signature computation.  The
signed bytes are the JCS serialisation specified in
<xref target="signing-input"/>, which sorts member names in code-point order and
is therefore blind to the order the TXT record used.</t>
      </section>
      <section anchor="alter-fields">
        <name>Field Definitions</name>
        <section anchor="field-v">
          <name>v (REQUIRED)</name>
          <t>Protocol version identifier.  <bcp14>MUST</bcp14> be the literal string <tt>alter1</tt>.
<bcp14>MUST</bcp14> appear as the first field in the record.  Resolvers <bcp14>MUST</bcp14>
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
<bcp14>MUST NOT</bcp14> 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="field-h">
          <name>h (REQUIRED)</name>
          <t>The Sovereign-, Bot-, or Instrument-tier <tt>~handle</tt> to which the
envelope binds.  The leading tilde is mandatory.  Where a resolver
encounters multiple envelope TXT RRs sharing an owner name, <tt>h=</tt> is
the sole field it <bcp14>MAY</bcp14> use to disambiguate them.  Publishers <bcp14>MUST
NOT</bcp14> create that arrangement (<xref target="alter-location"/>); the rule is retained for
resolvers only, so that a record published under revision 04 can
still be read.</t>
        </section>
        <section anchor="field-pk">
          <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>
          <artwork><![CDATA[
pk=ed25519:<base64url-no-pad-32-bytes>
]]></artwork>
          <t>Resolvers <bcp14>MUST</bcp14> 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="field-ilr">
          <name>ilr (REQUIRED)</name>
          <t>Base64url-no-pad SHA-256 digest of an IdentityLog root that the
publisher claims was witnessed at envelope creation.  Revision 04
required resolvers to cross-reference this value and treated a
failure to do so as fatal.  That requirement is WITHDRAWN.  The
field carries a root and nothing more, so it cannot establish that
this envelope is recorded in that log, and a resolver <bcp14>MUST NOT</bcp14> rely
on it to detect substitution.  <xref target="identitylog"/> states what it can and
cannot establish, and <xref target="sec-substitution"/> sets out the forgery it permits.</t>
        </section>
        <section anchor="field-ts">
          <name>ts (REQUIRED)</name>
          <t>Envelope inception timestamp, expressed on the wire as decimal Unix
seconds.  Resolvers <bcp14>MAY</bcp14> use this field to detect clock skew,
evaluate caveat maturity, or reject envelopes with implausibly
future inception.  In the signing input of <xref target="signing-input"/> the value is
carried as a JSON string of those same decimal digits, never as a
JSON number.  A resolver that re-types it as a number canonicalises
different bytes and every signature fails against it.</t>
        </section>
        <section anchor="field-rev">
          <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
<bcp14>MUST NOT</bcp14> 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 <bcp14>MUST NOT</bcp14> treat removal of the TXT record as revocation.
Absence of a record is indistinguishable from misconfiguration; only
pre-image reveal is authoritative.</t>
        </section>
        <section anchor="field-sig">
          <name>sig (REQUIRED)</name>
          <t>Base64url-no-pad detached signature over the JCS-canonicalised
envelope JSON with the <tt>sig</tt> field absent.  Canonicalisation is
specified by <xref target="RFC8785"/>.  The signing input is the envelope JSON
reconstructed from the parsed TXT fields, plus a <tt>signature_alg</tt>
member derived from the <tt>pk=</tt> algorithm prefix per the registry of
<xref target="sigalg-registry"/>, plus an EMPTY <tt>caveats</tt> array.  The signature
algorithm itself is the one named by the <tt>pk=</tt> prefix.  The exact
signing input is normative and appears in <xref target="signing-input"/>; it is not
restated by reference elsewhere.</t>
        </section>
        <section anchor="unknown-fields">
          <name>Unknown fields</name>
          <t>Fields not enumerated above <bcp14>MUST</bcp14> be ignored by resolvers per
the forward-compatibility rule (<xref target="forward-compat"/>).  Future revisions of
this document <bcp14>MAY</bcp14> register additional envelope fields; such
extensions <bcp14>MUST</bcp14> be distinguishable from private-use extensions by
registration via the mechanism in <xref target="iana"/>.</t>
        </section>
      </section>
      <section anchor="signing-input">
        <name>Canonical Serialisation</name>
        <t>The <tt>sig</tt> input is constructed as follows.  This construction is
normative and exhaustive.  An implementation that deviates in a key
name, a value type, or the membership of the object will produce
bytes that no other implementation can verify.</t>
        <ol spacing="normal" type="1"><li>
            <t>Parse the TXT RR character-strings into key-value pairs.</t>
          </li>
          <li>
            <t>Derive <tt>signature_alg</tt> from the algorithm prefix of the <tt>pk</tt>
value via the Signature Algorithm Registry of <xref target="sigalg-registry"/>.  For
<tt>pk=ed25519:...</tt> the derivation yields the string <tt>Ed25519</tt>.</t>
          </li>
          <li>
            <t>Construct the envelope JSON object, whose members are exactly
the six parsed fields that are not <tt>sig</tt>, plus the derived
<tt>signature_alg</tt>, plus <tt>caveats</tt>:  </t>
            <sourcecode type="json"><![CDATA[
{
  "v": "<v>",
  "h": "<h>",
  "pk": "<pk>",
  "ilr": "<ilr>",
  "ts": "<ts>",
  "rev": "<rev>",
  "caveats": [],
  "signature_alg": "<derived>"
}
]]></sourcecode>
            <t>
The keys are the TXT field names, not expanded synonyms.  Every
value is a JSON string, <tt>ts</tt> included, which carries the decimal
digits of the TXT field verbatim and is NOT converted to a JSON
number.  <tt>caveats</tt> is a JSON array and, for any envelope resolved
from DNS under this document, it <bcp14>MUST</bcp14> be the EMPTY array.  This
document defines no caveat transport and no caveat vocabulary, so
a non-empty array has no interoperable meaning and an
implementation <bcp14>MUST NOT</bcp14> construct one.  <tt>sig</tt> <bcp14>MUST</bcp14> be absent from
the signing input, and no other member may be present.  These
rules make the signed bytes a total function of the TXT record,
which is the property v04 lacked.</t>
          </li>
          <li>
            <t>Apply <xref target="RFC8785"/> JSON Canonicalisation Scheme to the object,
which sorts the member names in code-point order.  The member
order shown above is illustrative and has no effect on the
canonical bytes.</t>
          </li>
          <li>
            <t>The resulting byte stream is the signing input for the algorithm
named in step 2.</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><tt>v</tt> is inside the signing input.  A resolver that accepted an
envelope whose version was unsigned could be walked down to a
weaker version namespace by an on-path rewrite of the <tt>v</tt> field
alone, so the version is signed with everything else.</t>
        <t>Publishers <bcp14>MUST</bcp14> emit TXT fields in the order given in <xref target="alter-abnf"/>,
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-compat">
        <name>Forward Compatibility</name>
        <t>Resolvers <bcp14>MUST</bcp14> 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 <bcp14>MUST NOT</bcp14> introduce new fields that repurpose or overload
the seven required field names; new fields <bcp14>MUST</bcp14> use new names
registered via the procedure in <xref target="iana"/>.</t>
      </section>
      <section anchor="multistring">
        <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 <bcp14>SHOULD</bcp14> split at <tt>; </tt>
boundaries between complete key-value pairs where the pair fits.  A
publisher <bcp14>MAY</bcp14> split within a key-value pair, and <bcp14>MUST</bcp14> do so where a
single pair exceeds 255 octets on its own, which any signature
algorithm with a large signature will require.  Resolvers <bcp14>MUST</bcp14>
concatenate the character-strings of a TXT RR in the order returned
by the DNS library (i.e. the RR wire order) BEFORE parsing, so the
split point is not observable to the parser and carries no meaning.</t>
      </section>
    </section>
    <section anchor="dnssec">
      <name>DNSSEC Requirement</name>
      <t>The zone publishing an <tt>_alter.&lt;domain&gt;</tt> envelope record <bcp14>MUST</bcp14> be
DNSSEC-signed per <xref target="RFC4033"/>, <xref target="RFC4034"/>, and <xref target="RFC4035"/>.
Authoritative servers <bcp14>MUST</bcp14> respond with valid RRSIG coverage for
the TXT RRset.  Recursive resolvers handling queries for the
envelope RRset <bcp14>MUST</bcp14> perform DNSSEC validation and <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> 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 (<xref target="sec-downgrade"/>).</t>
      <t>This requirement is specific to <tt>_alter.&lt;domain&gt;</tt> records.  DNSSEC
is <bcp14>RECOMMENDED</bcp14> but not <bcp14>REQUIRED</bcp14> 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 <bcp14>MAY</bcp14> promote DNSSEC to <bcp14>REQUIRED</bcp14> 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 <bcp14>MUST</bcp14> carry a
DANE TLSA resource record <xref target="RFC6698"/> binding the endpoint's leaf TLS
certificate or SubjectPublicKeyInfo to the zone.  The TLSA record
<bcp14>MUST</bcp14> be published at:</t>
      <artwork><![CDATA[
_443._tcp.mcp.<zone>. IN TLSA <usage> <selector> <matching-type>
                              <cert-association-data>
]]></artwork>
      <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 <bcp14>MAY</bcp14> use <tt>1</tt> (PKIX-EE) instead.
Publishers <bcp14>MUST NOT</bcp14> 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) <bcp14>MAY</bcp14> 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 <bcp14>MUST</bcp14> fetch and validate the
TLSA record, <bcp14>MUST</bcp14> abort the TLS handshake on mismatch, and <bcp14>MUST NOT</bcp14>
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 root claimed by
the publisher to have been witnessed at envelope creation.</t>
      <t>Revision 04 of this document required resolvers to cross-reference
that value against one of four named witness surfaces, and treated
a failure to do so as fatal to recognition.  That requirement is
WITHDRAWN.  It named surfaces that do not exist, and it would not
have achieved what it claimed even if they did.</t>
      <t>What <tt>ilr=</tt> can and cannot establish, stated plainly:</t>
      <ul spacing="normal">
        <li>
          <t>A resolver that has an independent view of the log <bcp14>MAY</bcp14> confirm
that the root named in <tt>ilr=</tt> is one the log actually published.</t>
        </li>
        <li>
          <t>A resolver <bcp14>MUST NOT</bcp14> conclude from <tt>ilr=</tt> that the envelope in
front of it is recorded in that log.  The field carries a root
and nothing else.  It carries no leaf hash, no audit path, and no
proof of inclusion, so no resolver can perform that check, and
<xref target="sec-substitution"/> sets out the forgery this permits.</t>
        </li>
        <li>
          <t>A resolver <bcp14>MUST NOT</bcp14> treat the presence, absence, or successful
lookup of <tt>ilr=</tt> as a defence against envelope substitution.</t>
        </li>
      </ul>
      <t>The field is retained so that withdrawing its security claim does
not also force a breaking change to the wire format.  It is
advisory.</t>
      <t>The log's leaf hashing, tree construction, cadence, and witness
protocol are not specified by this document, and a reader should
not assume a specification exists.</t>
      <t>The revocation check also crosses the IdentityLog.  Where a
resolver has access to the log's revocation surface, it <bcp14>MUST</bcp14> treat
the envelope as revoked, and <bcp14>MUST NOT</bcp14> honour it regardless of the
freshness of the TXT RRset, if a pre-image whose SHA-256 equals the
<tt>rev=</tt> field has been revealed there.</t>
      <t>A reader implementing from this document alone has no such access.
The surface that carries reveals is not specified here and is not
published anywhere a reader can fetch, so revocation status cannot
presently be established from DNS alone.  This is a gap in the
mechanism, not a property of it, and it is stated rather than
papered over.</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 the envelope from DNS and verifies
it per <xref target="recognition"/>, falling back to the HTTPS <tt>.well-known</tt>
surface where the DNS record is absent.</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 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 <bcp14>MUST</bcp14> perform full envelope
verification, DNSSEC validation (<xref target="dnssec"/>), and DANE TLSA binding
(<xref target="dane-tlsa"/>) when establishing any HTTPS session, before acting on
any content or
directive derived from the envelope.</t>
    </section>
    <section anchor="procedures">
      <name>Discovery and Bootstrap Procedures</name>
      <t>The three procedures below are normative and complete.  None of them
is a summary of an algorithm specified elsewhere.</t>
      <t>Revisions 03 and 04 of this document did not restate the first two.
They pointed at them by section number, in a document the reader was
expected to fetch separately, and every one of those pointers named
the wrong section.  Nothing is incorporated by reference now.  The
formats these procedures consume are given in full in
<xref target="mcp-record"/> and <xref target="orgalter-record"/>, and the procedures
themselves are below.</t>
      <section anchor="mcp-discovery">
        <name>Discovery Procedure: <tt>_mcp.&lt;domain&gt;</tt></name>
        <t>This is the algorithm an MCP client follows to discover an MCP
server associated with a given domain.  It is the algorithm of
<xref target="DNSDISC-01"/>, restated here in full.  Step 7b is extended by this
revision to apply the key continuity rule of <xref target="key-continuity"/>.
Every other step is unchanged.</t>
        <section anchor="mcp-discovery-input">
          <name>Input</name>
          <t>The procedure takes a single input, an Origin Domain.  The Origin
Domain is typically extracted from an identifier encountered during
agent operation, such as an email address (<tt>user@example.com</tt> yields
<tt>example.com</tt>), a URL (<tt>https://example.com/path</tt> yields
<tt>example.com</tt>), a handle (<tt>~user@example.com</tt> yields
<tt>example.com</tt>), or a bare domain.</t>
        </section>
        <section anchor="mcp-discovery-algorithm">
          <name>Algorithm</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Normalise.</strong>  Convert the Origin Domain to its canonical form:
lowercase per <xref target="RFC4343"/>, and apply IDNA2008 processing where the
domain contains non-ASCII labels.</t>
            </li>
            <li>
              <t><strong>Construct query name.</strong>  Prepend the label <tt>_mcp.</tt> to the
normalised Origin Domain, yielding <tt>_mcp.&lt;origin&gt;.</tt>.</t>
            </li>
            <li>
              <t><strong>Query DNS.</strong>  Issue a DNS query for <tt>_mcp.&lt;origin&gt;. IN TXT</tt>
via the client's configured recursive resolver.  Clients <bcp14>SHOULD</bcp14>
prefer DoH (<xref target="RFC8484"/>) or DoT (<xref target="RFC7858"/>) to protect query
privacy (<xref target="privacy-query-metadata"/>).</t>
            </li>
            <li>
              <t><strong>Handle the DNS response.</strong>  </t>
              <t>
a. On NOERROR with one or more TXT records, proceed to step 5.  </t>
              <t>
b. On NXDOMAIN, or NOERROR with zero TXT records, proceed to
   step 8 (HTTPS fallback).  </t>
              <t>
c. On SERVFAIL or timeout, the client <bcp14>MAY</bcp14> retry with exponential
   backoff, or proceed to step 8.</t>
            </li>
            <li>
              <t><strong>Parse records.</strong>  For each TXT RDATA in the response:  </t>
              <t>
a. Concatenate all character-strings within the RDATA.  </t>
              <t>
b. Split the concatenated string on the <tt>";"</tt> delimiter, trimming
   leading and trailing whitespace from each field.  </t>
              <t>
c. Verify that the first field is <tt>v=mcp1</tt>.  If it is not,
   discard this record.  </t>
              <t>
d. Extract all recognised fields.  Ignore unknown fields, per the
   forward-compatibility rule of <xref target="mcp-forward-compat"/>.  </t>
              <t>
e. Verify that the <tt>url</tt> field is present and carries a
   syntactically valid HTTPS URL.  If it does not, discard this
   record.</t>
            </li>
            <li>
              <t><strong>Sort by priority.</strong>  Collect all valid records and sort them by
<tt>priority</tt> in ascending order, lowest value first.  Records of
equal priority <bcp14>MAY</bcp14> be tried in any order.</t>
            </li>
            <li>
              <t><strong>Connect.</strong>  For each record in priority order:  </t>
              <t>
a. Establish a TLS connection to the host named in the <tt>url</tt>
   field.  </t>
              <t>
b. Where the client holds a pinned key binding for the Origin
   Domain, apply <xref target="key-continuity"/> first, and verify the endpoint
   against the pinned key whether or not the record carries a
   <tt>pk</tt> field.  Otherwise, where the record carries a <tt>pk</tt> field,
   verify the key per <xref target="mcp-field-pk"/>.  On failure, skip to the
   next record.  </t>
              <t>
c. Determine the transport by applying the reading rule of
   <xref target="reading-legacy"/> to the record's <tt>transport</tt> and <tt>proto</tt>
   fields.  Where that rule directs the client to SKIP the
   record, skip it and proceed to the next record by priority.
   Otherwise, initiate the MCP session over the transport the
   rule yields.  </t>
              <t>
d. If the MCP <tt>initialize</tt> handshake succeeds, discovery is
   complete.  </t>
              <t>
e. If connection or handshake fails, proceed to the next record.
   If all records are exhausted, proceed to step 8.</t>
            </li>
            <li>
              <t><strong>HTTPS fallback.</strong>  Attempt HTTPS-based discovery by fetching
<tt>https://&lt;origin&gt;/.well-known/mcp/server-card.json</tt> per
<xref target="SEP-1649"/>, or <tt>https://&lt;origin&gt;/.well-known/mcp</tt> per
<xref target="SEP-1960"/>.  If fallback succeeds, proceed with the MCP session.
If fallback fails, discovery has failed.</t>
            </li>
          </ol>
          <t>This procedure does not consume the <tt>_alter.&lt;domain&gt;</tt> record and
imposes no DNSSEC requirement.  A client that resolves an envelope
executes <xref target="recognition"/> instead, which does.</t>
        </section>
      </section>
      <section anchor="orgalter-bootstrap">
        <name>Identity Bootstrap Procedure: <tt>_org-alter.&lt;domain&gt;</tt></name>
        <t>This is the procedure by which an org-alter implementation reads its
own DNS records on first install to populate its canonical identity
state.  It is the algorithm of <xref target="DNSDISC-02"/>, unchanged, restated
here in full.</t>
        <section anchor="orgalter-bootstrap-input">
          <name>Input</name>
          <t>The procedure takes a single input, the operator's primary domain
name, being the Policy Domain under which the operator publishes
records.</t>
        </section>
        <section anchor="orgalter-bootstrap-algorithm">
          <name>Algorithm</name>
          <ol spacing="normal" type="1"><li>
              <t><strong>Query <tt>_org-alter.&lt;domain&gt;</tt> TXT.</strong>  Issue a DNS query for the
Org-Identity Record.</t>
            </li>
            <li>
              <t><strong>If found, parse and load.</strong>  Extract <tt>org</tt>, <tt>entity</tt>,
<tt>entity-type</tt>, <tt>founded</tt>, <tt>regions</tt>, <tt>regulated</tt>, and
<tt>mcp-policy</tt> into the org-alter's identity state.  These become
the canonical identity declaration the org-alter uses in all
subsequent self-reports, brief generation, and external
attestation.</t>
            </li>
            <li>
              <t><strong>If <tt>bootstrap=</tt> is present, fetch the bootstrap document</strong> over
HTTPS.  Validate the document's TLS certificate against the
Policy Domain.  Merge the document's roster, logo, and extension
fields into the identity state.  Reject the bootstrap document if
its TLS certificate is invalid, or if its content does not parse.</t>
            </li>
            <li>
              <t><strong>Honour <tt>regulated=</tt> and <tt>mcp-policy=</tt></strong> as immutable structural
constraints on the org-alter instance.  </t>
              <t>
a. If <tt>regulated</tt> carries any framework token, set the
   org-alter's boundary policy to refuse, and disable every
   passive ingester layer.  </t>
              <t>
b. If <tt>mcp-policy=refuse-tenant</tt>, the org-alter <bcp14>MUST</bcp14> refuse to
   install any ingester that requires authenticated access to a
   tenant covered by the declared framework, even where
   credentials are subsequently provided.  </t>
              <t>
c. The wizard <bcp14>SHOULD</bcp14> display these constraints to the operator
   for confirmation, and <bcp14>MUST NOT</bcp14> allow the operator to override
   them silently.  An operator who wishes to relax a constraint
   <bcp14>MUST</bcp14> update the DNS record first, then re-run bootstrap.</t>
            </li>
            <li>
              <t><strong>Cross-check <tt>_mcp.&lt;domain&gt;</tt>.</strong>  Query the service-discovery
record of <xref target="mcp-record"/>.  Where both records exist and both
publish a <tt>pk</tt> field, the values <bcp14>MUST</bcp14> match.  A mismatch
indicates either a configuration error or a key compromise; the
wizard <bcp14>MUST</bcp14> refuse to bootstrap under that condition, and <bcp14>MUST</bcp14>
surface the discrepancy to the operator.  <xref target="sec-key-consistency"/>
states how this rule relates to the envelope key of
<xref target="alter-record"/>, which is a distinct key and is not subject to
it.</t>
            </li>
            <li>
              <t><strong>Verify against public registries.</strong>  Where the <tt>entity</tt> field
declares a known registry namespace (for example <tt>abn:</tt>), the
wizard <bcp14>SHOULD</bcp14> query the corresponding free public registry and
verify that the declared entity identifier resolves to the
declared <tt>org</tt> name.  A mismatch is not necessarily fatal,
because names change and registries lag, but the wizard <bcp14>MUST</bcp14>
surface the discrepancy and <bcp14>MUST</bcp14> require operator confirmation
before proceeding.</t>
            </li>
            <li>
              <t><strong>Persist canonical state.</strong>  Write the resolved identity into
the org-alter's local identity state, source-citing each field to
its DNS or HTTPS origin.</t>
            </li>
          </ol>
        </section>
        <section anchor="orgalter-bootstrap-coldstart">
          <name>First-Run Cold Start</name>
          <t>For an operator who has not yet published an <tt>_org-alter</tt> record at
the time of installation, the wizard <bcp14>MUST</bcp14> fall back to interactive
seeding.  It prompts for <tt>org</tt>, optionally prompts for <tt>entity</tt>, and
asks whether the operator's environment is regulated.  After
interactive seeding, the wizard <bcp14>SHOULD</bcp14> generate a draft DNS record
value for the operator to publish, which completes the bootstrap
loop.</t>
        </section>
      </section>
      <section anchor="recognition">
        <name>Envelope Recognition Procedure: <tt>_alter.&lt;domain&gt;</tt></name>
        <t>The procedure takes two inputs, a zone and the <tt>~handle</tt> to be
recognised, and both are <bcp14>REQUIRED</bcp14>.  An <tt>alter:~&lt;handle&gt;</tt> reference
supplies both.  A resolver that has only a zone, and no handle,
cannot execute this procedure.  Step 4 selects the record whose <tt>h=</tt>
matches the requested handle, and with no requested handle there is
nothing to match against.  Such a resolver has not been asked a
recognition question, and <bcp14>MUST NOT</bcp14> treat whatever record it finds at
the owner name as the answer to one.</t>
        <t>Given those two inputs, a resolver <bcp14>MUST</bcp14> execute the following steps
in order.  Steps 1 through 8 and step 10 are FATAL: failure of any
of them terminates recognition, and the envelope <bcp14>MUST</bcp14> be treated as
unverified.  Steps 9, 11 and 12 are ADVISORY in one specific sense,
and one only: BEING UNABLE TO PERFORM THEM <bcp14>MUST NOT</bcp14> terminate
recognition, because a resolver that cannot reach a surface has
learned nothing either way.  A POSITIVE finding at one of them is a
different matter, and step 12 is the case that bites: a revocation
actually observed is FATAL and <bcp14>MUST</bcp14> abort (step 12; <xref target="identitylog"/>).
Revision 04 made every step fatal, including steps that a
conformant resolver cannot perform at all, which made verification
unreachable.</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 (<xref target="dnssec"/>).  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 exactly as
<xref target="signing-input"/> specifies, deriving <tt>signature_alg</tt> from the <tt>pk=</tt>
prefix and supplying 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>sig</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 (ADVISORY, no longer fatal).</strong>  A
resolver with an independent view of the log <bcp14>MAY</bcp14> confirm that the
root named in <tt>ilr=</tt> is one the log published.  A resolver <bcp14>MUST
NOT</bcp14> abort on failure, and <bcp14>MUST NOT</bcp14> treat success as evidence that
this envelope is in the log, because <tt>ilr=</tt> carries no proof of
inclusion (<xref target="identitylog"/>; <xref target="sec-substitution"/>).  Revision 04 made this step
fatal on a check that cannot do what it claimed.</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 (<xref target="dane-tlsa"/>).  On mismatch, abort.</t>
          </li>
          <li>
            <t><strong>Caveats evaluation (OUT OF SCOPE for this document).</strong>  The
envelope schema admits an optional <tt>caveats</tt> array, which is
never carried in DNS.  This document specifies neither a
transport for it nor a vocabulary, so a resolver implementing
this document alone <bcp14>MUST</bcp14> treat the envelope as having no
caveats, and <bcp14>MUST</bcp14> verify the signature over an empty <tt>caveats</tt>
array per <xref target="signing-input"/>.  A future document may define a caveats
surface, and until one does, an envelope whose signer intended
caveats cannot be distinguished from one that carries none.
That limitation is stated here rather than hidden.</t>
          </li>
          <li>
            <t><strong>Revocation check (ADVISORY).</strong>  Where the resolver has access
to the log's revocation surface, consult it.  This step is
ADVISORY in the sense that being UNABLE to perform it <bcp14>MUST NOT</bcp14>
terminate recognition; a resolver that cannot reach a revocation
surface has learned nothing either way, and <xref target="identitylog"/> says why
one implementing this document alone cannot.  A POSITIVE result
is another matter entirely: if a pre-image whose SHA-256 equals
<tt>rev=</tt> has been revealed, the envelope IS revoked, recognition
<bcp14>MUST</bcp14> abort, and the envelope <bcp14>MUST NOT</bcp14> be honoured however fresh
the TXT RRset.</t>
          </li>
        </ol>
        <t>An envelope is verified when every FATAL step (1 through 8, and 10)
has succeeded AND no ADVISORY step has returned a positive failure.
The distinction matters at step 12: a resolver that CANNOT reach a
revocation surface has learned nothing and proceeds, while a
resolver that OBSERVES a revocation <bcp14>MUST</bcp14> abort and <bcp14>MUST NOT</bcp14> treat
the envelope as verified.  Steps 9, 11 and 12 are advisory only as
to unreachability, because gating verification on a step no
conformant implementation can execute would make verification
unreachable, and a specification no one can satisfy is not a
specification.  A verified envelope is the sole admissible input to
a recognition-over-qualification gate, and an
unverified envelope <bcp14>MUST</bcp14> be refused upstream of any authorisation
or trust decision.</t>
        <t>The twelve-step procedure above is normative and complete.  It is
not a summary of an algorithm specified elsewhere.</t>
      </section>
    </section>
    <section anchor="caching">
      <name>Caching</name>
      <t>The rules for the first two records are those of <xref target="DNSDISC-01"/> and
<xref target="DNSDISC-02"/>, unchanged, restated here so that a reader need not
fetch either document to cache correctly.</t>
      <t>For <tt>_mcp.&lt;domain&gt;</tt>, clients <bcp14>SHOULD</bcp14> cache the parsed record metadata
for the duration of the DNS TTL.  Where the record carries a <tt>ttl</tt>
field, clients <bcp14>MAY</bcp14> extend the metadata cache to that duration, but
<bcp14>MUST</bcp14> re-validate the underlying DNS record when the DNS TTL expires.
A client that has connected to an MCP server and verified its <tt>pk</tt>
        <bcp14>SHOULD</bcp14> cache the verified key binding and re-validate it on
subsequent connections, which is trust on first use with periodic
re-verification against DNS.  What the client does when that
re-verification disagrees with what it cached is stated in
<xref target="key-continuity"/>.</t>
      <t>For <tt>_org-alter.&lt;domain&gt;</tt>, records <bcp14>SHOULD</bcp14> be cached for the duration
of the DNS TTL.  An onboarding wizard typically reads the record
once at install time and persists the resolved state locally, so the
DNS record need not be re-read on every invocation.  Wizards <bcp14>MAY</bcp14>
re-read it on operator request, on <tt>epoch</tt> change detected by a
periodic background poll, or on identity verification failure.</t>
      <t><tt>_alter.&lt;domain&gt;</tt> records <bcp14>SHOULD</bcp14> be cached for the duration of the
DNS TTL.  Resolvers <bcp14>MUST NOT</bcp14> 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
<bcp14>MAY</bcp14> 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.  A resolver that is able to perform the
revocation check at all (<xref target="identitylog"/> sets out why one working from
this document alone is not) <bcp14>MUST</bcp14> re-run it on each recognition
event, not on each cache refresh.</t>
      <section anchor="key-continuity">
        <name>Key Continuity</name>
        <t>Revisions 01 through 06 said that a client caches a verified key
binding and re-validates it, and said nothing about a re-validation
that fails.  Trust on first use is only as strong as the rule for
the second use, and there was no such rule.  This section supplies
it.  The mechanism is the one SSH clients have long applied to host
keys, and it introduces nothing new.</t>
        <t>A pinned key binding is the triple a client holds after a successful
verification under <xref target="mcp-field-pk"/>: the Origin Domain, the <tt>pk</tt> it
verified, and the <tt>epoch</tt> the record carried at the time, defaulting
to <tt>0</tt> where the record carried none.  On each later resolution of
<tt>_mcp.&lt;domain&gt;</tt> for which it holds a pin, the client compares the
record it receives with the pin, and the following rules apply in
order.</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Same key, same epoch.</strong>  Continuity holds.  The client proceeds
under <xref target="mcp-discovery"/>.</t>
          </li>
          <li>
            <t><strong>Epoch lower than the pinned epoch.</strong>  The epoch is monotonic
(<xref target="mcp-field-epoch"/>), so a decrease is never a state a conformant
publisher produces.  It indicates a stale or manipulated response,
a publisher restoring an old record, or a new operator of the
domain that began its own count at <tt>0</tt>.  The client <bcp14>MUST NOT</bcp14> lower
its pinned epoch, and <bcp14>MUST NOT</bcp14> replace its pinned key on the
strength of this record.  It <bcp14>SHOULD</bcp14> re-query, bypassing any local
cache it controls.  Where the served key equals the pinned key,
the client <bcp14>MAY</bcp14> proceed, and <bcp14>MUST</bcp14> evaluate the kid of any claim
against its pinned epoch rather than the lower served one.  Where
the served key differs, the client <bcp14>MUST</bcp14> treat the server as
untrusted, exactly as a failed verification under
<xref target="mcp-field-pk"/>, and <bcp14>SHOULD</bcp14> surface the discrepancy.</t>
          </li>
          <li>
            <t><strong>Different key, same epoch.</strong>  The record's own contract is that
the epoch increments on every key rotation, so a key that changes
without it is an undeclared change.  The client <bcp14>MUST</bcp14> treat the
server as untrusted, <bcp14>MUST NOT</bcp14> replace its pin, and <bcp14>SHOULD</bcp14> surface
the discrepancy.</t>
          </li>
          <li>
            <t><strong>Different key, higher epoch.</strong>  This is a declared rotation.
The client <bcp14>MUST</bcp14> verify the new key per <xref target="mcp-field-pk"/> before
replacing its pin, and on success <bcp14>MAY</bcp14> replace the pinned key and
epoch.  A declared rotation is also exactly what a new operator
of a lapsed and re-registered domain can publish, because the
epoch is self-asserted by whoever controls the zone.  A client
with access to registration data <bcp14>SHOULD</bcp14> therefore apply the
change-of-control signals of <xref target="key-continuity-control"/> before it
replaces the pin.</t>
          </li>
          <li>
            <t><strong>Same key, higher epoch.</strong>  The client <bcp14>MAY</bcp14> raise its pinned
epoch.  Claims under the lower epoch are then handled per
<xref target="mcp-field-epoch"/>.</t>
          </li>
          <li>
            <t><strong>No key.</strong>  A record that carried a <tt>pk</tt> when the pin was made
and now carries none has not released the pin.  The client <bcp14>MUST</bcp14>
continue to verify the endpoint against the pinned key, as step 7b
of <xref target="mcp-discovery-algorithm"/> requires.  Removing the field is not
a way to rotate a key.</t>
          </li>
        </ol>
        <t>A pinned key <bcp14>MUST NOT</bcp14> be replaced automatically under rules 2, 3 or
6.  It <bcp14>MAY</bcp14> be replaced by an action of the client's user or operator,
taken outside this procedure and after the discrepancy has been
surfaced to them.</t>
        <section anchor="key-continuity-absence">
          <name>Absence Is Not Revocation</name>
          <t>A client that holds a pin and finds no <tt>_mcp</tt> record, on NXDOMAIN or
on NOERROR with no TXT records, proceeds to the HTTPS fallback of
step 8 of <xref target="mcp-discovery-algorithm"/>.  It <bcp14>MUST NOT</bcp14> clear the pin,
and <bcp14>MUST NOT</bcp14> treat the absence as revocation of the binding or of
any claim issued under it.  A client that reaches an endpoint for
the same Origin Domain by fallback <bcp14>SHOULD</bcp14> verify it against the
pinned key.</t>
          <t>This is the position <xref target="sec-revocation-opacity"/> takes for the envelope
record, and it is deliberate here for the same reason.  A zone that
is briefly unreachable, through an outage, a registrar incident or a
tooling error, must not become a revocation event.  It is deliberate
for a second reason that applies to pins alone.  If absence cleared a
pin, an attacker able to suppress the record for a single resolution
would reset the client to first use, and could then publish its own
key and have it accepted as though no pin had ever existed.</t>
          <t>It is also a deliberate difference from <xref target="DOMAIN-SET"/>, which holds in
its Section 6.4 that removal of a record is revocation.  The two
records do different jobs.  A domain-set record is an attestation
its publisher withdraws by deleting it.  An <tt>_mcp</tt> record is a
pointer to an endpoint, and a key binding is revoked by rotation,
under rule 4 above, never by the record going away.</t>
        </section>
        <section anchor="key-continuity-control">
          <name>Change-of-Control Signals</name>
          <t>The epoch cannot distinguish a rotation by the existing operator
from a rotation by a new one, because both publish a higher epoch
and a new key.  Registration data can, in part.  <xref target="DOMAIN-SET"/>
Section 6.3 gives consumer rules for this case, graded by the
strength of the signal, and this document adopts them for the pinned
key binding.  A client with access to registration data for the
Origin Domain, for example through RDAP <xref target="RFC9083"/>, <bcp14>SHOULD</bcp14> consume
those signals in the order given there, and act on them as follows.</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Creation date changed.</strong>  The registry object was deleted and
the name registered again, and renewal or restoration never
changes it.  The domain is now operated by a party the pin says
nothing about.  The client <bcp14>MUST</bcp14> discard the pin, <bcp14>MUST NOT</bcp14> carry the
pinned binding, or any trust its user or operator attached to it,
forward to whatever key the record now serves, and <bcp14>SHOULD</bcp14> surface
the change.  A binding made after that point is a first use, and
<bcp14>MUST NOT</bcp14> be presented as a continuation of the earlier one.</t>
            </li>
            <li>
              <t><strong>Lapse indicators.</strong>  A registry grace status, or an expiry
earlier than the observation, means the registration lapsed.
Control may have passed without deletion, because names sold on
in expiry auctions keep their creation date.  A declared rotation
under rule 4 observed while a lapse indicator is present <bcp14>MUST NOT</bcp14>
replace the pin automatically, and <bcp14>SHOULD</bcp14> be surfaced for the
action of the user or operator described above.</t>
            </li>
            <li>
              <t><strong>Transfer indicators.</strong>  A transfer event, or a change of
sponsoring registrar, <bcp14>SHOULD</bcp14> be surfaced as a warning.  It does
not by itself block a declared rotation.</t>
            </li>
          </ol>
          <t>A change of control that leaves no trace in registration data, such
as a sale inside one registrar with no lapse, followed by a declared
rotation, is not detectable by a client following this document.
<xref target="DOMAIN-SET"/> states the same limit for its own records.  It is stated
here rather than hidden.</t>
        </section>
      </section>
    </section>
    <section anchor="security">
      <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="sec-downgrade">
        <name>DNSSEC Downgrade</name>
        <t>The mandatory DNSSEC requirement in <xref target="dnssec"/> 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 <bcp14>MUST</bcp14> reject any response lacking AD or
failing local RRSIG verification.  Operators <bcp14>MUST NOT</bcp14> 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 <xref target="dane-tlsa"/> binds the MCP endpoint's TLS
leaf to a specific hash.  Operators rotating certificates <bcp14>MUST</bcp14>
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 certificate reissue and
republication of the TLSA record, not silent cert replacement.  It
does not engage the <tt>rev=</tt> reveal path, which revokes the identity
envelope and has no bearing on a TLS leaf.</t>
      </section>
      <section anchor="sec-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 structural defences, and the limit of each, are:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>IdentityLog witness.  This defence does not hold as specified,
and revision 04 was wrong to claim it did.</strong>  Revision 04 stated
that substitution of a locally-minted envelope that had not been
witnessed would fail, and that an attacker would have to corrupt
a log mirror.  Neither is true of the mechanism this document
specifies.  <tt>ilr=</tt> carries a bare tree root and no proof of
anything, so a resolver can confirm that the named root was
witnessed but CANNOT confirm that the envelope in front of it is
a leaf under that root, and no field of <xref target="alter-abnf"/> would let it.
A zone attacker therefore mints an envelope, copies any genuinely
witnessed root out of the public log, signs, and publishes.  The
result satisfies every check the recognition procedure of
<xref target="recognition"/> specifies.  As specified, <tt>ilr=</tt> establishes only
that the publisher could read a public value.  Implementers <bcp14>MUST
NOT</bcp14> rely on <tt>ilr=</tt> to detect substitution.</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 (<xref target="identitylog"/>) is the residual mitigation.</t>
          </li>
          <li>
            <t><strong>DNSSEC.</strong>  <xref target="dnssec"/> 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="sec-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 <bcp14>MUST NOT</bcp14>
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.
<xref target="key-continuity-absence"/> applies the same position to a pinned
<tt>_mcp</tt> key binding, and says why it differs from <xref target="DOMAIN-SET"/>.</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.  This document does not
specify where a reveal is published, and <xref target="identitylog"/> says why no such
surface can be assumed, so revocation is not presently actionable
by a resolver working from this document alone.
Handle-holders <bcp14>SHOULD</bcp14> 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 <bcp14>MAY</bcp14> use it to
detect implausibly future envelopes (e.g. minted more than a few
hundred seconds after current wall time) but <bcp14>MUST NOT</bcp14> rely on
local clock for security-critical decisions.  This document
specifies no authoritative ordering anchor.  <tt>ts=</tt> is self-asserted
by the publisher and is advisory only.</t>
      </section>
      <section anchor="sec-key-consistency">
        <name>Cross-Record Key Consistency</name>
        <t>Where all three records (<tt>_mcp</tt>, <tt>_org-alter</tt>, <tt>_alter</tt>) are
published under one zone and each carries a <tt>pk</tt> field, the values
<bcp14>MUST</bcp14> be evaluated for consistency.  Two different rules apply, and
revision 04 stated only one of them, which contradicted the
bootstrap procedure it incorporated by reference.</t>
        <t>The <tt>_mcp.pk</tt> and <tt>_org-alter.pk</tt> fields are the service key and the
organisational key.  Step 5 of <xref target="orgalter-bootstrap"/>, restated from
<xref target="DNSDISC-02"/>, requires them to MATCH where both are published, and
requires a bootstrapping wizard to refuse and to surface the
discrepancy where they do not.  That rule is unchanged.  A mismatch
across that pair indicates a configuration error or a key
compromise.</t>
        <t>The <tt>_alter.pk</tt> field is the Sovereign-tier envelope key.  It is a
structurally distinct key with a distinct purpose, it is NOT subject
to the bootstrap match rule, and it <bcp14>MAY</bcp14> differ from both of the
others.  A resolver <bcp14>MUST NOT</bcp14> treat a difference between <tt>_alter.pk</tt>
and either of the other two as evidence of anything.</t>
        <t>Where a zone operator has deliberately bound all three to one
Ed25519 key, which is a common pattern in a single-operator
deployment, a later mismatch indicates either a rotation in progress
or a compromise, and resolvers <bcp14>SHOULD</bcp14> surface it.  A resolver cannot
distinguish that deployment from one that intended three distinct
keys, because this document publishes no signal of the operator's
intent, so the surfacing is advisory and <bcp14>MUST NOT</bcp14> be fatal.</t>
      </section>
      <section anchor="passive-stream-coupling">
        <name>Passive-Stream Coupling</name>
        <t>A publisher <bcp14>SHOULD NOT</bcp14> ride an inferred trait, a passive-stream
derivative, or a provenance-tagged attribute on the
<tt>_alter.&lt;domain&gt;</tt> record.</t>
        <t>Revision 04 asserted that none could, calling it a structural
property rather than a recommendation, on the grounds that the ABNF
enumerates every field a resolver accepts.  That claim is
WITHDRAWN.  The ABNF of <xref target="alter-abnf"/> admits
<tt>unknown-field = token "=" *qtext</tt>, which is arbitrary attribute
carriage by construction, and <xref target="forward-compat"/> requires resolvers to
IGNORE unknown fields rather than reject the record.  The <tt>qtext</tt>
rule bounds only the field DELIMITER, so that an unknown field
cannot swallow the semicolon and consume the fields after it.  It
bounds nothing about the field's meaning.  Nothing in
this document structurally prevents a publisher from riding
additional attributes on this owner name, and a resolver <bcp14>MUST NOT</bcp14>
infer from a record's conformance that it carries nothing else.</t>
        <t>Two consequences follow, and neither was stated before.  An
unknown-field is NOT covered by the signing input of <xref target="signing-input"/>,
which spans the six required fields other than <tt>sig</tt>, plus the
derived <tt>signature_alg</tt> and an empty <tt>caveats</tt> array, and nothing
else.  Any attribute riding the record is therefore UNSIGNED, and a
resolver <bcp14>MUST NOT</bcp14> attribute it to the handle-holder.  And because a resolver ignores what it does
not recognise, the record is a viable carrier for data the envelope
was never meant to convey.  The privacy implications of passive
inference are out of scope for this document; the carriage risk is
not, and it is stated here.</t>
      </section>
      <section anchor="sec-change-of-control">
        <name>Change of Control</name>
        <t>Every record this document defines names its subject by a domain,
and a domain can change hands.  When a registration lapses and the
name is registered again, the new registrant controls the zone and
can publish any of the three records.  Nothing in the records
changes shape when that happens, and no single resolution can tell
the new operator from the old one.</t>
        <t>For the <tt>_mcp</tt> record, <xref target="key-continuity"/> is the defence.  A client
that pinned the prior operator's key refuses an undeclared key change
and an epoch that goes down, keeps its pin when the record
disappears, and, where it can read registration data, discards the
pin on a changed creation date rather than carrying it to the new
operator.  A client that has never connected before has no pin, and
for that client a re-registered domain is indistinguishable from any
other first use.</t>
        <t>For the <tt>_alter</tt> record, the limit stated in <xref target="sec-substitution"/>
applies without change.  The envelope carries no epoch, and this
document specifies no pin for it.  A new registrant can mint an
envelope for a handle under a key of its own and satisfy every FATAL
step of <xref target="recognition"/>.  A resolver that has previously verified an
envelope for the same handle, and now finds a different <tt>pk</tt>, <bcp14>SHOULD</bcp14>
surface the change.  It learns nothing further from this document
about which of the two keys the handle-holder controls.</t>
      </section>
    </section>
    <section anchor="privacy">
      <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.  Revision
04 called that exposure by design, on the grounds that the envelope
is intended to be publicly verifiable.  Public verifiability does
not require public enumeration, and <xref target="alter-applicability"/> sets out why the
two came bundled here and should not have.
A handle-holder who requires concealment <bcp14>MUST NOT</bcp14> publish an
<tt>_alter.&lt;domain&gt;</tt> record; alternative organs
(the local <tt>alter-runtime</tt> daemon for local-only recognition, or
a hardware-anchored device-organ quorum for device-local presence
proof) support recognition without DNS publication.</t>
      </section>
      <section anchor="privacy-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 <bcp14>SHOULD</bcp14> 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">
      <name>IANA Considerations</name>
      <section anchor="iana-labels">
        <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"/> as follows.  Each label is defined by this
document, in the section named, and no longer by an earlier revision
of it.</t>
        <table>
          <thead>
            <tr>
              <th align="left">RR Type</th>
              <th align="left">_NODE NAME</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TXT</td>
              <td align="left">
                <tt>_mcp</tt></td>
              <td align="left">
                <xref target="mcp-record"/> of this document</td>
            </tr>
            <tr>
              <td align="left">TXT</td>
              <td align="left">
                <tt>_org-alter</tt></td>
              <td align="left">
                <xref target="orgalter-record"/> of this document</td>
            </tr>
            <tr>
              <td align="left">TXT</td>
              <td align="left">
                <tt>_alter</tt></td>
              <td align="left">
                <xref target="alter-record"/> of this document</td>
            </tr>
          </tbody>
        </table>
        <t>The <tt>_alter</tt> label is used to publish envelope records as defined
in <xref target="alter-record"/> 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 submitted to IANA separately.  This document
notes that recognition verifiers invoked via <tt>alter:</tt> URIs <bcp14>MUST</bcp14>
follow <xref target="recognition"/> 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) <bcp14>SHOULD</bcp14> 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="sigalg-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>) <bcp14>MAY</bcp14> be registered by
successor documents.  Resolvers <bcp14>MUST</bcp14> 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-not-recommended">
        <name>Minimal Envelope for a Single Handle (NOT RECOMMENDED)</name>
        <t>A zone hosting a single Sovereign-tier handle publishes its
envelope at <tt>_alter.&lt;zone&gt;.</tt>:</t>
        <artwork><![CDATA[
_alter.example.com. 3600 IN TXT (
  "v=alter1; h=~alice; "
  "pk=ed25519:<EXAMPLE-pubkey-32B-base64url>; "
  "ilr=<EXAMPLE-identitylog-root-32B-base64url>; "
  "ts=1729123456; "
  "rev=<EXAMPLE-revocation-hash-32B-base64url>; "
  "sig=<EXAMPLE-ed25519-signature-64B-base64url>"
)
]]></artwork>
        <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-a-publisher-must-not-do-this">
        <name>Zone Hosting Multiple Handles (a publisher MUST NOT do this)</name>
        <t>This example is retained so that a resolver can read the records a
v04 publisher may already have published.  It is NOT a pattern to
follow.  The shape below IS the enumeration exposure described in
the Applicability statement.  One query at the owner name returns
every handle the zone hosts, and none of the individuals listed can
consent on behalf of the others.  A publisher <bcp14>MUST NOT</bcp14> create it
(<xref target="alter-location"/>).</t>
        <t>Resolvers disambiguate by the <tt>h=</tt> field:</t>
        <artwork><![CDATA[
_alter.example.org. 3600 IN TXT "v=alter1; h=~alice; pk=..."
_alter.example.org. 3600 IN TXT "v=alter1; h=~bob; pk=..."
_alter.example.org. 3600 IN TXT "v=alter1; h=~carol.bot; pk=..."
]]></artwork>
        <t>A resolver asked to verify <tt>~bob</tt> at <tt>example.org</tt> selects the
second RR.</t>
      </section>
      <section anchor="full-zone-all-three-records-the-alter-record-is-not-recommended">
        <name>Full Zone (All Three Records; the <tt>_alter</tt> record is NOT RECOMMENDED)</name>
        <t>A zone operator running an org-alter instance for their own
principal handle publishes all three records:</t>
        <artwork><![CDATA[
_mcp.example.com.      IN TXT "v=mcp1; url=https://mcp.example.com/"
_org-alter.example.com. IN TXT "v=alter1; org=Example Org; ..."
_alter.example.com.     IN TXT "v=alter1; h=~alice; "
                               "pk=ed25519:...; ilr=...; "
                               "ts=...; rev=...; sig=..."
_443._tcp.mcp.example.com. IN TLSA 3 1 1 <sha256-of-spki>
]]></artwork>
        <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>~alice</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-not-recommended">
        <name>Instrument-Tier Handle (NOT RECOMMENDED)</name>
        <t>An AI instrument handle uses the <tt>~cc-</tt> prefix:</t>
        <artwork><![CDATA[
_alter.example.com. 3600 IN TXT (
  "v=alter1; h=~cc-example-model; "
  "pk=ed25519:...; ilr=...; ts=...; rev=...; sig=..."
)
]]></artwork>
        <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="interop">
      <name>Interoperability with Earlier Record Generations</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.  Where that record
carries a transport value in <tt>proto</tt>, a client conforming to this
revision reads it under rule 3 of <xref target="reading-legacy"/> and reaches the
same endpoint over the same transport.  No republication is required
for the record to keep working, and none is required for a record
carrying a <tt>proto</tt> value that no revision recognised, because such a
record was skipped by v01 clients and is skipped by these.</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 clients and with clients conforming
to this document, unchanged.  A client conforming to this document
may additionally query <tt>_alter.&lt;domain&gt;</tt> and <bcp14>MUST</bcp14> handle its absence
gracefully, which is the common case and the recommended one:
publication of that record is <bcp14>NOT RECOMMENDED</bcp14>
(<xref target="alter-applicability"/>), so a conforming client should expect to
find it absent and <bcp14>MUST NOT</bcp14> treat its absence as an error.</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 (<xref target="dnssec"/>).</t>
        </li>
        <li>
          <t>DANE TLSA binding on the MCP endpoint (<xref target="dane-tlsa"/>).</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 by the grammar.
Revision 04 called it the appropriate configuration for a
Sovereign-tier individual.  That recommendation is WITHDRAWN, and
the configuration is <bcp14>NOT RECOMMENDED</bcp14> per <xref target="alter-applicability"/>.</t>
      <t>The three records are orthogonal along their semantic axes but
share the zone's DNSSEC trust root.  A resolver conforming to this
document that 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="impl-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>This section was materially wrong in revision 04, which described a
deployment that does not exist.  It is rewritten here against the
zone as it actually resolves and the code as it is actually
written.  What follows is deployed, and nothing else is claimed.</t>
      <t>Deployed and resolvable in the <tt>truealter.com</tt> zone:</t>
      <ul spacing="normal">
        <li>
          <t><tt>_mcp.truealter.com</tt>, carrying <tt>v=mcp1</tt> with <tt>url</tt>, <tt>proto</tt>,
<tt>pk</tt>, <tt>epoch</tt>, and <tt>cap</tt>.  This is the only record in the zone
that a resolver can verify against this document today.</t>
        </li>
        <li>
          <t><tt>_alter.truealter.com</tt>, carrying <tt>v=alter1</tt>.  It does not carry
the envelope field set (<tt>h</tt>, <tt>ilr</tt>, <tt>ts</tt>, <tt>rev</tt>, <tt>sig</tt>) and is
therefore NOT an instance of the Envelope Record of <xref target="alter-record"/>.
No conformant Envelope Record is published in this zone.</t>
        </li>
        <li>
          <t><tt>_org-alter.truealter.com</tt>, carrying <tt>v=alter1</tt> with <tt>org</tt>,
<tt>entity</tt>, <tt>entity-type</tt>, <tt>founded</tt>, <tt>regions</tt>, <tt>mcp-policy</tt>,
<tt>epoch</tt>, <tt>pk</tt>, and <tt>attest</tt>.  It omits <tt>regulated</tt> and <tt>bootstrap</tt>.
Its <tt>pk</tt> is the same key the <tt>_mcp</tt> record carries, as step 5 of
<xref target="orgalter-bootstrap-algorithm"/> requires.  Revision 05 recorded this label as
NXDOMAIN; it was provisioned after that revision was filed.</t>
        </li>
      </ul>
      <t>The zone is DNSSEC-signed, so the requirement of <xref target="dnssec"/> is met by
the operator.  <tt>truealter.com</tt> publishes a key-signing key and a
zone-signing key, both algorithm 13, and the parent zone holds a
corresponding DS record.  Revision 05 stated the opposite, that the
zone published no DNSKEY and the parent held no DS, and that statement
was already wrong when it was filed: the zone was signed nine days
earlier.  The erroneous statement carried a consequence, that no
Envelope Record could be relied upon in this zone until the zone was
signed, and that consequence is withdrawn with it.</t>
      <t>Implemented in code, and NOT exercised against any conformant
envelope, because none is published:</t>
      <ul spacing="normal">
        <li>
          <t>A resolver and verification library implementing the JCS
signing-input construction of <xref target="signing-input"/> and the Ed25519
signature check.  It conforms to this revision on the signing
input and the signature check.  It does NOT conform on two steps
of the recognition procedure of <xref target="recognition"/>: it still treats the
IdentityLog cross-reference as fatal, where step 9 now says a
resolver <bcp14>MUST NOT</bcp14> abort, and it still fetches caveats over HTTPS,
which step 11 now places out of scope.  Those two steps follow
revision 04, and this document does not claim otherwise.</t>
        </li>
      </ul>
      <t>NOT deployed, and stated plainly because revision 04 claimed
otherwise:</t>
      <ul spacing="normal">
        <li>
          <t><tt>_443._tcp.mcp.truealter.com</tt> does not resolve, so no DANE TLSA
pin is published and the DANE binding of <xref target="dane-tlsa"/> is untested in
deployment.</t>
        </li>
        <li>
          <t>There is no signed-tree-head federation and no witness-mirror
network.  Revision 04 described four independent witness surfaces
including an on-chain anchor contract.  None of them exist.</t>
        </li>
        <li>
          <t>No inclusion proof is generated or checked anywhere.  The <tt>ilr</tt>
field of <xref target="alter-abnf"/> is published as a bare root with no proof
attached.  <xref target="sec-substitution"/> sets out what that permits.</t>
        </li>
      </ul>
      <t>The Envelope Record of <xref target="alter-record"/> therefore has NO conformant
deployment at the time of writing, in this zone or any other known
to the author.  It is specified, implemented in a verifier, and
unpublished.</t>
      <t>The deployed <tt>_alter.truealter.com</tt> record carries none of the
envelope fields that <xref target="alter-record"/> defines, so it is not an instance of
the Envelope Record and a resolver <bcp14>MUST NOT</bcp14> treat it as one.</t>
      <t>The key continuity rule of <xref target="key-continuity"/> is new in revision 06.
No implementation of it is claimed.</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="RFC4343" target="https://www.rfc-editor.org/info/rfc4343" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4343.xml">
          <front>
            <title>Domain Name System (DNS) Case Insensitivity Clarification</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>Domain Name System (DNS) names are "case insensitive". This document explains exactly what that means and provides a clear specification of the rules. This clarification updates RFCs 1034, 1035, and 2181. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4343"/>
          <seriesInfo name="DOI" value="10.17487/RFC4343"/>
        </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="RFC9421" target="https://www.rfc-editor.org/info/rfc9421" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9421.xml">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="RFC9460" target="https://www.rfc-editor.org/info/rfc9460" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9460.xml">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </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="AGENT-AID" target="https://datatracker.ietf.org/doc/draft-nemethi-aid-agent-identity-discovery/">
          <front>
            <title>Agent Identity and Discovery (AID)</title>
            <author fullname="B. Nemethi">
              <organization>Open Agent Registry, Inc.</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DNS-AID" target="https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/">
          <front>
            <title>DNS for AI Discovery</title>
            <author fullname="J. Mozley">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="N. Williams">
              <organization>Infoblox, Inc.</organization>
            </author>
            <author fullname="B. Sarikaya">
              <organization/>
            </author>
            <author fullname="R. Schott">
              <organization>Deutsche Telekom</organization>
            </author>
            <author fullname="J. Damick">
              <organization>Amazon</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="MDNS-AGENT" target="https://datatracker.ietf.org/doc/draft-jakab-dawn-agent-discovery-mdns/">
          <front>
            <title>Zero-Configuration Agent Discovery</title>
            <author fullname="L. Jakab">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="F. Brockners">
              <organization>Cisco Systems</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="MDNS-ARCHITECT" target="https://datatracker.ietf.org/doc/draft-yao-dawn-agent-discovery-architect/">
          <front>
            <title>Agent Discovery Architecture</title>
            <author fullname="J. Yao">
              <organization>CNNIC</organization>
            </author>
            <author fullname="G. Geng">
              <organization>Jinan University</organization>
            </author>
            <author fullname="M. Chen">
              <organization>China Mobile</organization>
            </author>
            <author fullname="H. Li">
              <organization>CNNIC</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="SAIP" target="https://datatracker.ietf.org/doc/draft-jovancevic-saip/">
          <front>
            <title>SAIP: Signed Agent Identity Protocol</title>
            <author fullname="S. Jovancevic">
              <organization>SKGO</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DNSDISC-01" target="https://datatracker.ietf.org/doc/html/draft-morrison-mcp-dns-discovery-01">
          <front>
            <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026" month="April"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-01"/>
        </reference>
        <reference anchor="DNSDISC-02" target="https://datatracker.ietf.org/doc/html/draft-morrison-mcp-dns-discovery-02">
          <front>
            <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026" month="April"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-02"/>
        </reference>
        <reference anchor="DOMAIN-SET" target="https://datatracker.ietf.org/doc/html/draft-barrett-dnsop-domain-set-00">
          <front>
            <title>The Domain Set Discovery Protocol (domain-set)</title>
            <author fullname="T. Barrett">
              <organization>EnCirca, Inc.</organization>
            </author>
            <author fullname="C. Schaub">
              <organization>EnCirca, Inc.</organization>
            </author>
            <author fullname="A. Barrett">
              <organization>EnCirca, Inc.</organization>
            </author>
            <author fullname="P. Kowalik">
              <organization>DENIC eG</organization>
            </author>
            <date year="2026" month="August"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-barrett-dnsop-domain-set-00"/>
        </reference>
        <reference anchor="RFC2606" target="https://www.rfc-editor.org/info/rfc2606" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2606.xml">
          <front>
            <title>Reserved Top Level DNS Names</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="A. Panitz" initials="A." surname="Panitz"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion, a few top level domain names are reserved for use in private testing, as examples in documentation, and the like. In addition, a few second level domain names reserved for use as examples are documented. 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="32"/>
          <seriesInfo name="RFC" value="2606"/>
          <seriesInfo name="DOI" value="10.17487/RFC2606"/>
        </reference>
        <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="RFC9989" target="https://www.rfc-editor.org/info/rfc9989" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9989.xml">
          <front>
            <title>Domain-Based Message Authentication, Reporting, and Conformance (DMARC)</title>
            <author fullname="T. Herr" initials="T." role="editor" surname="Herr"/>
            <author fullname="J. Levine" initials="J." role="editor" surname="Levine"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document describes the Domain-based Message Authentication, Reporting, and Conformance (DMARC) protocol.</t>
              <t>DMARC permits the owner of an email's Author Domain to enable validation of the domain's use to indicate the Domain Owner's or Public Suffix Operator's message handling preference regarding failed validation and to request reports about the use of the domain name. Mail-receiving organizations can use this information when evaluating handling choices for incoming mail.</t>
              <t>This document obsoletes RFCs 7489 and 9091.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9989"/>
          <seriesInfo name="DOI" value="10.17487/RFC9989"/>
        </reference>
        <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="RFC9083" target="https://www.rfc-editor.org/info/rfc9083" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9083.xml">
          <front>
            <title>JSON Responses for the Registration Data Access Protocol (RDAP)</title>
            <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
            <author fullname="A. Newton" initials="A." surname="Newton"/>
            <date month="June" year="2021"/>
            <abstract>
              <t>This document describes JSON data structures representing registration information maintained by Regional Internet Registries (RIRs) and Domain Name Registries (DNRs). These data structures are used to form Registration Data Access Protocol (RDAP) query responses. This document obsoletes RFC 7483.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="95"/>
          <seriesInfo name="RFC" value="9083"/>
          <seriesInfo name="DOI" value="10.17487/RFC9083"/>
        </reference>
        <reference anchor="SEP-1649" target="https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649">
          <front>
            <title>MCP Server Cards</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SEP-1960" target="https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1960">
          <front>
            <title>.well-known/mcp Discovery Endpoint</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="MORRISON-IFT" target="https://doi.org/10.6084/m9.figshare.31951383">
          <front>
            <title>Identity Field Theory: Toward a Physics of Being Known</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
    </references>
    

<section anchor="recognition-pseudocode">
      <name>Recognition Pseudocode</name>
      <t>The following pseudocode illustrates the combined recognition
procedure defined in <xref target="recognition"/>.  It is non-normative; the
normative procedure is the twelve-step algorithm in the body of
this document.</t>
      <artwork><![CDATA[
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

    # 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.  Keys are the TXT
    # field names; every value stays a string, ts included.
    alg = signature_alg_for_prefix(record.pk)   # Signature Algorithm
                                               # Registry
    envelope = {
        "v": record.v,
        "h": record.h,
        "pk": record.pk,
        "ilr": record.ilr,
        "ts": record.ts,
        "rev": record.rev,
        "caveats": [],
        "signature_alg": alg,
    }
    signing_input = jcs_canonicalise(envelope)

    # Step 8: signature verify under the derived algorithm
    if not signature_verify(alg, record.pk, record.sig,
                            signing_input):
        raise SignatureInvalid

    # Step 9: IdentityLog cross-ref. ADVISORY. Confirms the ROOT
    # was published; cannot confirm THIS envelope is under that
    # root, so a failure annotates and never aborts. See 12.3.
    ilr_root_seen = identitylog_root_published(record.ilr)

    # 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 are OUT OF SCOPE for this document (Sec 10.3).
    # No transport and no vocabulary are specified, so the verified
    # envelope carries none and the signature is checked over [].
    caveats = []

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

    return VerifiedEnvelope(record, caveats, ilr_root_seen)
]]></artwork>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t>draft-morrison-mcp-dns-discovery-06 (September 2026):</t>
      <t>Adds a key continuity rule for the <tt>_mcp</tt> record, the first
normative change since revision 05, and corrects two statements in
the revision 05 Implementation Status section.  No record format
changes and no field is added.</t>
      <ul spacing="normal">
        <li>
          <t>Adds <xref target="key-continuity"/>.  Every earlier revision described the
<tt>_mcp</tt> key binding as trust on first use with periodic
re-verification, and none said what a client does when the
re-verification disagrees.  A client following revision 05 that
had pinned a key would accept a different one on the next
connection, which is the case of a lapsed domain registered again
by someone else.  The new section covers a changed key under the
same epoch, an epoch that goes down, a declared rotation, and a
record that drops its <tt>pk</tt>.</t>
        </li>
        <li>
          <t>States that an epoch decrease is never a conformant publisher
state (<xref target="mcp-field-epoch"/>).  The earlier rules covered a claim
whose epoch is below or above the record's, and nothing covered the
record's own epoch going down, which is what a new registrant
publishing <tt>epoch=0</tt> over a pinned <tt>epoch=2</tt> looks like.</t>
        </li>
        <li>
          <t>Extends step 7b of <xref target="mcp-discovery-algorithm"/> to apply the rule,
and to verify against a pinned key where the record no longer
carries one.  The procedure's opening sentence no longer claims the
algorithm of <xref target="DNSDISC-01"/> unchanged.</t>
        </li>
        <li>
          <t>Adopts the graded change-of-control signals of <xref target="DOMAIN-SET"/>
Section 6.3 for the pinned binding (<xref target="key-continuity-control"/>),
and adds <xref target="DOMAIN-SET"/> and <xref target="RFC9083"/> as informative references.
<xref target="DOMAIN-SET"/> already specified a consumer-side rule for a lapsed
and re-registered domain, and this document had none.</t>
        </li>
        <li>
          <t>Keeps absence of a record distinct from revocation, and says the
difference from <xref target="DOMAIN-SET"/> Section 6.4 is deliberate
(<xref target="key-continuity-absence"/>).  That document treats removal of a
record as revocation.  This one does not, for the envelope record
since revision 03 and now for the pinned key binding, because
clearing a pin on absence would let one suppressed resolution
reset a client to first use.</t>
        </li>
        <li>
          <t>Adds <xref target="sec-change-of-control"/>, which states the change-of-control
exposure for all three records, and states for the <tt>_alter</tt> record
that this document specifies no pin and that a new registrant
passes every FATAL step of <xref target="recognition"/>.</t>
        </li>
        <li>
          <t>Records in <xref target="impl-status"/> that no implementation of the new rule
is claimed.</t>
        </li>
      </ul>
      <t>The two Implementation Status corrections, both of which understated
the deployment:</t>
      <ul spacing="normal">
        <li>
          <t>Corrects the DNSSEC statement.  Revision 05 said <tt>truealter.com</tt> was
not DNSSEC-signed and that the parent zone held no DS.  The zone was
signed nine days before revision 05 was filed and is signed today,
with a key-signing key and a zone-signing key at algorithm 13 and a
DS in the parent.  The consequence revision 05 drew from the
erroneous statement, that no Envelope Record could be relied upon in
this zone, is withdrawn with it.</t>
        </li>
        <li>
          <t>Records <tt>_org-alter.truealter.com</tt> as deployed.  Revision 05 recorded
it as NXDOMAIN, which was accurate when filed.  It has since been
provisioned and carries the field set named in the Implementation
Status section.</t>
        </li>
        <li>
          <t>The remaining statements of that section were re-checked against the
zone and against the code and are carried forward unchanged.  The
absent DANE TLSA pin, the absence of any conformant Envelope Record,
the two recognition steps on which the verifier still follows
revision 04, the absent federation and witness network, and the
absence of inclusion proofs all still hold.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-05 (July 2026):</t>
      <t>Corrections to defects in -04, and the completion of a document that
had been claiming for two revisions to stand on its own while
deferring half of itself to documents it cited by the wrong section
number.  No new mechanism is introduced in this revision.</t>
      <ul spacing="normal">
        <li>
          <t>Restores the citation of <xref target="AGENT-AID"/>, which revision 01 carried and
revisions 02 through 04 lost.  It is the closest neighbour to the
<tt>_mcp</tt> record and it published its shape first, and a reader of both
documents should be told so by this one.  <xref target="related-work"/> also
distinguishes it from <xref target="DNS-AID"/>, a different draft with the same
acronym, and states how the two compose: <xref target="AGENT-AID"/> is intentionally
small and defers to protocol-specific mechanisms after discovery, and
this document is what its <tt>mcp</tt> protocol token defers to.</t>
        </li>
        <li>
          <t>Makes the stand-alone claim true.  All three record formats are now
given in full (<xref target="mcp-record"/>, <xref target="orgalter-record"/>,
<xref target="alter-record"/>), as are all three procedures (<xref target="mcp-discovery"/>,
<xref target="orgalter-bootstrap"/>, <xref target="recognition"/>) and the caching rules
(<xref target="caching"/>).  Revisions 03 and 04 incorporated the first two
records and their procedures by reference to revisions 01 and 02.
Nothing is incorporated by reference now, and no reader of this
document needs to fetch another one in the series.</t>
        </li>
        <li>
          <t>Separates the agent protocol family from the transport binding in
the <tt>_mcp</tt> record.  Revision 01 used <tt>proto</tt> for the transport.
<tt>proto</tt> now names the protocol family, <tt>transport</tt> names the
binding, and <tt>transport</tt> is the term because the Model Context
Protocol specification already calls this axis by that name.  The
alignment is with the neighbouring DNS agent-discovery drafts
(<xref target="related-work"/>), so an implementer reading two of them does not
have to hold two meanings for one key.</t>
        </li>
        <li>
          <t>States how to read an <tt>_mcp</tt> record published under revision 01
(<xref target="reading-legacy"/>), including the case revision 01 left
unusable.  A <tt>proto</tt> value that names neither the protocol family
nor a known transport causes the record to be SKIPPED, exactly as
revision 01 required, and is NOT read as a protocol family with the
default transport applied.  Widening the rule would newly accept
records no client could ever use.</t>
        </li>
        <li>
          <t>Reconciles the <tt>_mcp</tt> grammar with its prose.  The grammar admits
any token in <tt>proto</tt> and <tt>transport</tt>, because a resolver must parse
a revision 01 record before it can decide what to do with it.
Syntactic admissibility is not definition.  <tt>proto</tt> has exactly one
defined value and <tt>transport</tt> exactly three, the two sets are
disjoint, and so the claim that no value is defined for both fields
is now true, where in earlier drafting it was not.</t>
        </li>
        <li>
          <t>Corrects a grammar defect inherited from revision 02.  The
<tt>_org-alter</tt> record defined <tt>org</tt>, <tt>entity</tt> and <tt>entity-type</tt> over
<tt>1*VCHAR</tt>, which excludes the space, so the grammar could not
derive the values revision 02's own examples published.  A <tt>text-value</tt>
rule admitting SP, and excluding only the field separator, replaces
it (<xref target="orgalter-abnf"/>).  This is the first revision to carry that
format as its own normative text, so it is the first that had to be
able to derive its own examples.</t>
        </li>
        <li>
          <t>Stops every value rule in all three grammars from running past the
end of its own field.  <tt>unknown-field</tt> and <tt>https-uri</tt> were defined
over <tt>*VCHAR</tt>, and VCHAR includes the semicolon, so a single field
could derive the whole rest of the record and consume the fields
after it.  Two character classes replace it, because the two kinds
of value have different needs: <tt>qtext</tt> admits SP and excludes the
semicolon, for a human-readable name; <tt>uri-char</tt> excludes both, for
a URI, which carries no raw space and would otherwise run past its
own end.  A class that is right for a name is not thereby right for
a URI.</t>
        </li>
        <li>
          <t>States the exclusion that ABNF cannot express (<xref target="mcp-abnf"/>).
<tt>unknown-field</tt> matches only a field name this document does not
define, so a defined field whose value is malformed is a malformed
record and <bcp14>MUST</bcp14> be discarded, never re-read as an unknown field.
Without the rule the alternation swallows every defect it exists to
exclude, because <tt>token</tt> matches a defined name as readily as an
undefined one.  The split-on-semicolon parse in <xref target="mcp-discovery"/>
already behaved this way, so no implementation changes; the grammar
now says what the parser was always doing.</t>
        </li>
        <li>
          <t>Requires a publisher emitting <tt>transport</tt> to emit <tt>proto=mcp</tt> with
it (<xref target="reading-legacy"/>).  A revision 01 client ignores the
<tt>transport</tt> field it does not know and reads <tt>proto</tt>, so
<tt>transport=streamable-http; proto=sse</tt> was one record that resolved
to two different transports depending on which revision read it.</t>
        </li>
        <li>
          <t>Adds <xref target="related-work"/> and <xref target="why-txt"/>, which situate this document
against <xref target="DNS-AID"/>, <xref target="MDNS-AGENT"/>, <xref target="MDNS-ARCHITECT"/>, and <xref target="SAIP"/>, and
say why the payload here is carried in TXT rather than SVCB.</t>
        </li>
        <li>
          <t>Corrects the IANA registry table (<xref target="iana-labels"/>), which cited the
three labels to sections of revisions 01, 02 and 03, by numbers
that were wrong in any case.  Each label is now cited to the section
of this document that defines it.</t>
        </li>
        <li>
          <t>Rewrites <xref target="impl-status"/> (Implementation Status).  The -04 section was
false on four counts.  It claimed an <tt>_org-alter</tt> record that does
not resolve, a DANE TLSA pin that does not resolve, an envelope
record exercising the <xref target="alter-record"/> field set where the deployed
record carries none of those fields,
and a four-surface signed-tree-head witness federation, including
an on-chain anchor contract, none of which exists.  The section
now states only what is deployed, and states plainly what is not.</t>
        </li>
        <li>
          <t>Corrects <xref target="sec-substitution"/> defence (1).  The -04 text claimed that
<tt>ilr=</tt> defeats envelope substitution.  It does not.  <tt>ilr=</tt> is a
bare root with no inclusion proof, so a forged envelope naming
any genuinely witnessed root passes every specified check.  The
false claim is withdrawn and the limit is stated.</t>
        </li>
        <li>
          <t>Fixes the signing input of <xref target="signing-input"/>, which no third party could
have interoperated with.  The keys are now the TXT field names,
<tt>v</tt> is inside the signed object, and <tt>ts</tt> is a JSON string of the
wire digits rather than a JSON number.  The construction is now
normative and exhaustive.</t>
        </li>
        <li>
          <t>Derives <tt>signature_alg</tt> from the <tt>pk=</tt> algorithm prefix via the
registry of <xref target="sigalg-registry"/>, rather than injecting <tt>Ed25519</tt> as an
implicit constant into the signed bytes.  Taken alone this change
is byte-compatible, because for <tt>pk=ed25519:</tt> the derivation
yields the string the constant supplied.  The revision as a whole
is NOT byte-compatible: the signing-input repair above changes the
signed bytes deliberately, so an envelope signed under -04 does
not verify under -05.  No envelope signed under -04 exists.</t>
        </li>
        <li>
          <t>Relaxes the multi-string rule of <xref target="multistring"/>, which prohibited
splitting within a key-value pair and thereby made any field
longer than 255 octets unrepresentable in a TXT record.  Resolvers
already concatenate before parsing, so the prohibition bought
nothing and cost the ability to carry a large signature at all.</t>
        </li>
        <li>
          <t>Marks publication of a per-individual envelope in DNS as <bcp14>NOT
RECOMMENDED</bcp14> (<xref target="alter-applicability"/>).  A zone <bcp14>MUST NOT</bcp14> publish envelopes
for more than one handle at one
owner name, because a single query there returns the whole set,
which is a membership roll that no one listed in it can consent to
on behalf of the others.  The envelope format, its signing input
and its verification procedure are not implicated.</t>
        </li>
        <li>
          <t>Withdraws the IdentityLog witness federation, everywhere it was
asserted.  Revision 04 defined it in the terminology, required it
normatively in <xref target="field-ilr"/> and <xref target="identitylog"/>, made it fatal at step
9 of the recognition procedure, and named four witness surfaces
including an on-chain anchor contract.  None of those surfaces
exist.  The <tt>ilr=</tt> field is retained, so the wire format does not
break, but the cross-reference is now advisory and the document
states plainly what the field can and cannot establish.</t>
        </li>
        <li>
          <t>States, rather than papers over, the fact that a reader
implementing from this document alone cannot check revocation.
The surface that carries reveals is not specified here and is not
published anywhere fetchable.</t>
        </li>
        <li>
          <t>Repairs every internal cross-reference, and repairs the class
rather than the instances.  The -04 prose was written against an
older section numbering and never renumbered, so a reader
following a pointer to the Envelope Record landed on the DNSSEC
section.  Every reference to a section of this document is now a
symbolic anchor that cannot go stale under renumbering.  The only
literal section numbers that remain in the prose point into other
documents.</t>
        </li>
        <li>
          <t>Corrects all four references into <xref target="DNSDISC-01"/> and <xref target="DNSDISC-02"/>.
Every one of them named the wrong section.  The <tt>_mcp</tt> record
format is Section 5 of <xref target="DNSDISC-01"/> and was cited as Section 3;
its discovery procedure is Section 6 and was cited as Section 4.
The <tt>_org-alter</tt> record format is Section 6 of <xref target="DNSDISC-02"/> and
was cited as Section 4; its bootstrap procedure is Section 7 and
was cited as Section 6.  A reader who followed any of them
arrived at the wrong section of the right document.</t>
        </li>
        <li>
          <t>Restates the discovery procedure (<xref target="mcp-discovery"/>), the identity
bootstrap procedure (<xref target="orgalter-bootstrap"/>), and the caching
rules for both records (<xref target="caching"/>) in full.  Revisions 03 and 04
claimed to stand alone while deferring three procedures to
documents they cited incorrectly.  The record formats are restated
in full as well, so nothing at all is now incorporated by
reference, and both earlier revisions carry a reference entry,
which neither had.</t>
        </li>
        <li>
          <t>Gives the <tt>_alter</tt> record two ABNF grammars (<xref target="alter-abnf"/>), one
for publisher emission and one for resolver acceptance.  Revision
04 gave the publisher grammar alone, then required resolvers to
accept orderings that grammar cannot derive.  The field-cardinality
rule, which ABNF cannot express, is stated normatively beside it,
and the <tt>v</tt>-first rule is reconciled with the ordering freedom
rather than contradicting it.</t>
        </li>
        <li>
          <t>Reconciles <xref target="sec-key-consistency"/> with step 5 of
<xref target="orgalter-bootstrap"/>.  Revision 04 said the <tt>_mcp</tt> and
<tt>_org-alter</tt> keys <bcp14>MAY</bcp14> differ, while the bootstrap procedure it
incorporated by reference required them to MATCH and required a
wizard to refuse on mismatch.  The bootstrap rule stands.  The
envelope key of <xref target="alter-record"/> is the key that is genuinely
distinct, and it alone <bcp14>MAY</bcp14> differ from the other two.</t>
        </li>
        <li>
          <t>Removes two hand-written reference sections that duplicated the
generated ones and cited five documents with no reference entry.</t>
        </li>
        <li>
          <t>Corrects the field count throughout.  Seven fields are <bcp14>REQUIRED</bcp14>;
the -04 prose said five in three places.</t>
        </li>
      </ul>
      <t>draft-morrison-mcp-dns-discovery-03 (April 2026):</t>
      <t>Editorial corrections (retiring -02):</t>
      <ul spacing="normal">
        <li>
          <t>Removes the third-party-domain worked example used in -02 and
replaces all instances with <xref target="RFC2606"/> reserved example-domain
forms; no third-party operational domain appears in any
illustrative DNS record in this revision.</t>
        </li>
        <li>
          <t>Strips city and locality fields from the author front-matter
block, retaining only name, organisation, and email per editorial
policy.</t>
        </li>
      </ul>
      <t>Substantive additions:</t>
      <ul spacing="normal">
        <li>
          <t>Adds the <tt>_alter.&lt;domain&gt;</tt> Envelope Record (<xref target="alter-record"/>).</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.</t>
        </li>
        <li>
          <t>Introduces a mandatory DNSSEC validation requirement for
<tt>_alter.&lt;domain&gt;</tt> responses (<xref target="dnssec"/>).</t>
        </li>
        <li>
          <t>Introduces a mandatory DANE TLSA <xref target="RFC6698"/> pin on the MCP
endpoint (<xref target="dane-tlsa"/>) for envelope-triggered MCP sessions.</t>
        </li>
        <li>
          <t>Adds the IdentityLog cross-reference requirement (<xref target="identitylog"/>).
Revision 05 withdraws it; see the -05 entry above.</t>
        </li>
        <li>
          <t>Adds a provisional <tt>alter:</tt> URI scheme cross-reference per
<xref target="RFC7595"/> (<xref target="alter-uri"/>).</t>
        </li>
        <li>
          <t>Adds the envelope recognition procedure (<xref target="recognition"/>), a
twelve-step algorithm.</t>
        </li>
        <li>
          <t>Adds IANA registration for <tt>_alter</tt> underscore-prefixed label
(<xref target="iana-labels"/>) and the independent <tt>v=alter1</tt> envelope version
namespace.</t>
        </li>
        <li>
          <t>Adds a Signature Algorithm Registry (<xref target="sigalg-registry"/>) 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>Incorporated the v01 <tt>_mcp.&lt;domain&gt;</tt> and v02 <tt>_org-alter.&lt;domain&gt;</tt>
record specifications by reference, leaving them unchanged.
Revision 05 restates both in full; see the -05 entry above.</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>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact fullname="Christopher Whiteside">
        <organization/>
        <address>
          <email>cwhiteside.engineering@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S963bcRrYm+D+eAkOvXkVqMtMkdbEuls+hKcpmlUSpSco+
1V5alchMkEQxE8gDIEnRXvazzLPMk83+9iUigETqUu4zPb2mVvexiAQCgYgd
+/rtvYfDoWvyZp49TbZe5PW0vMmqu6S8SF6Xs2yeHJZFk31okrdV2ZTTcp6c
ZRXdUSc3eZq8ODlLzv/jPDnNpmU1q7dcOplU2Q2N9PrwLf/qR9xys3JapAt6
zaxKL5rhoqyqvC6L4WK6HM6KejizW4e7j9wsbejO/d39R8PdJ8P9h25KFy7L
6u5pkhcXpatXk0Ve13lZnN8tM1ycZcuM/k/RuHxZPU2aalU3+7u7T3b3nUtX
zVVZPXVJMqT/nyQXq/lc5vL9PL3O6FNlLvxjWV2mRf5r2tDgT5ODeZNVyeus
ymd5WiRvm7vkVTPjG7NFms+fJhMM8e/0vizFvaNpuXBuSstW5ZNV0//awyt6
X1Mur2jsn6/yJqvzWRYPOr21q6OsuMyLjCZQXP77JX6VNxRltaA53mQY//Tl
4d7u/Yf6z/29vSf6zwe79++Hfz4I/7R7H9x/4G949OCx/vPhvr/30aMndvWb
/V3/z4dPbITHe9/YvY8fPNqzfz58uG///Oax3fvkwf6e/+ejXfyTKOUpf7kR
4Sa6W2bT/CKf8r5s8RNhW3XfaLsuiQLyaXJwnLwsV8WM75bh0+oya54mV02z
rJ9+/fUCr5nKW5b6klFe8r2B+pwDuUUrffDD0cn58OD4RXvS/N7kGPSXE4mk
xSyQfrJNt+/0TTmiw1Fyki2y5ioPXxNR4Ruibfk2OmuXRDrV3SA5Lqaj3k+j
6adNlU6viRrzrLkY0WBf0/H7Wk5eIS8apvlsmGLMYa7zDmfw6+46JDjO69+N
M07rg/WOjvr6lw71v/E3/3VEB+/XeXbnf2t/9DGt/GRefoi+tH+gk1Hycz6f
5+mi/rND0T6cpVV+nd6lH7nrlO6aXpVNs+F1L7JVU0+vsuQ8m2fXdFo/uggv
0kU+vd4w1MEi/XUDBX9imxe8tre6MGCxJTNa2vae3X3N2wvibm/w/8iqckiH
8SK/XFU8J6XDL97uV6Pkr+l1OtnwoYcYLzm7q5vMb2PfMC9HyfdVOb0uSAh9
9lBfuHT/xDyHs/S20AMSZNOCVnDj8p0e/nh8fnR43scbAjs4qKZg7tNmVWVf
cFb+npabvvfk5PjwIw//MEp+ICmy4em/5gUJtndFDrFOTOAjA70ekeTKik3T
uKKR6EhP8nn2kUF+HCWv8k9+yRfu2F1a9u9Xaovds2lnB8cd2cNXkrP8sshm
SYenmyT6OCM/Iyovb9Jimt3k015efva3H978S0Tphx3SGV72c+gXx2eHw929
DpP+s2rdxz64R4P6Ah0q1vMe8JWabiPFhxi2veuYploVWTN8gXX4HP1x78vW
96pZzL/+vFH9Eu///3yJ9/9Llhijvnjz+uD4ZHh21GGj5yRPX5SkABe0kjE/
9Qu8PeOfh3XW9KpbfdzonMRJWlXZRll+VBzm1TT9pOZwyDpButok3z53nIP/
WRN6O0r+Vt6m83yTavHiiJhtkv2wRiWPv4hKJjJbUzD8Fgx3d/9lGvn4mDBx
Hu0+MgPl/jf+n9889ubFk8dmA5H54c0WMkC8rfLYzJYnu4/ZBjo7ejvce/Tg
ScceIVNWjm5ymPqz2v2qy7y5Wk1gmvVaFv0XyYJdZfXXeKe9/olYReH1o9ts
Ph9eF+Vt8TWdmIjuj4rZssyL5r9gQjQLKDVvTk+Pz96cDI9fds6iF4ov82w+
S+hosml+TvRWzZI0eXt1V+fTGszw+4wM1+RvmP//O1yun+jKnOlsb3f0aPfx
g68XT0ak0dZXaZWN7u89ebh3//F954bDYZJOalBn49z5VV4nRJirBfSAWXZB
ZnidMO8mAq1JQ1hkdOKLvF6wDWR8DN/LIsCtiYBtIqYdnCwIgkHSEEsz2wtr
hb/li2v+4to1V2mTlMuMVO8MPy8GbFumybS6WzblZZUur8jc9YNkxU02p/uT
CazfpCnpdjJhZ/lNPlulJIMwwYz0m2GT01KO/6D5z+bZOFmuJvO8vqKPoufo
F0ylpn1JyPrIRliMKstYZFUishJaOl2U2ShJxv8g4hx9K0f1u3GSzuhFTV5j
xQoY+U6++i81zVHoNnl3+oo+h7Uso8DkgoyhORm3tAdFvSyrJplg+sXlwPV/
sizINF2mpHdiCWioC9JAR278D1rLoThleifGy81rW2Je07Qoi3yazl28B7Ro
4VV5MZ2vMJskb+pknl3Sr/ZbpYa5k9svaH3lIu0jNlfeRH/pFhZ3+HU1x9vv
kouKFvu2rK5l/d0tfeMVvSVZrOqGbrxY1VlCtEQMmN5JZ4i+p6HdSqfTrK55
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
+pGO24aI+Aa8N33l95pNkkTZJDJ8dNQ9jFZr/ugbSS82NPBkhR6V7H/XWq9j
rr6wPxZa5AocwzNJ9DksC/h/irjICcszSQT6nVtn9dfqAHexihM00/2HDxO4
5RnQDV8ATCGSo5pR5IufRNmrawIEybGQaDSW47EGMdH4I0tMubFyw74GSPeN
NefJ8e6CgLXiyOmLg/ODQYRpajX6mvrVIFvdYglcGNXHEu6P7tMyHunKskNP
5b98p8w1LtKiu4BkT1+gZdslVhPjWRLnhHYeeJZs4c7l9XMLlLwqi8vvOS7y
rpofSdjDu/l/goD9kemSn5NCDvefJW37wQzVgVqiz0Trf87q9cCnVTtNj37L
DEb5ULRE0h63u+xJz7I7XnbDecYspa98iWcu+uIuFEt8gV0Ck0zeqOBLpAut
Fz7y7R3i8kfr7bcgwbvdQD5SBKmnqddaHaR9gZfl1j8sroPk0yuEmWlKRbvP
kCTzrpcn8tPs1CjqndOfLFMUNcf4vGJF0XJ/SckizP9/ecWiA3UgsC7rW6Kt
JXJF7Zm4Plrh+qlM79u26tIMaAtpDTuarvTxp0MVtv5pOK+H9Y8vXSNAcvFP
Kup86gUCqlJVWmvD34XCZtWqKFQi+3lq8f1pxhUIy1Zh4D9d+kmqHHD3XDkm
9KpL7LK3pK2J7b9cuYmRLEUWYoVqjGnwZxxrdJ06Tf70/X+iWFOHZX1BsSYu
1cTPrhVres4b7aseCXV1/oSDb2PZpAt41bKZf0ZbH8V/ryTPcNMIE+PL/hlw
RuUomx5q14WKCka1i0CtP7e5rlNYiLBsdA2FmPCUbGFrhfQmuUb3+e4RKMa0
/lC0jv4pvth+RXtF5RV6jW5EaHOIM36XpWjlEK+23KvXdD5ElijA1N0GvVGu
0a0XyCdBJijf3d0S3O2vtcotrW0V3Rmuod6V/CilXLplqfrqUnWrXH2szFW3
RNWmGlXdulGfUziqt3KU32H/tknBdWfSqfw3y+W/0yv5T1Xyf+dZHhW08Xtt
5Wxk9HYJpk8XYPpz5ZfWii9F1mfc8krMzYCNbY/BZrokkv10+OPBqbQagksd
FpzG+AQVGahRPk//blUYal3bca0/6ZF9qfqDFx+fvUnu7z16NERyzvIqHe67
Fg3T3eHv1ju6l3dc9wrtK3rMSj2iJq1kZ/W/V/kyTflfl7NltamkUTndl8fr
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
Ax1d+Q6pjZy2PZxa0HNk+d2hHhZIQD6eWZlaNRGHDfjikBLFp7TVLEO+OxpY
+U0IizFFuNbpURDQtRXB8NQjsCcpshiX54aEJi2tvirCheBkkSqiEc5JNAQT
IcQkUUQEYwA65aUTPoblg6CGuFCkQDsObH29ozeqWBDLBklWU3874BO6OoKO
1aXQM6enWl5Wm4sgbHU7I62JK0IVd7ce6c3zwolmDY7Perz6xGlXtbJgpzG4
OQfk4vpNPqDJHxAVr02Ty3RpjZg8ZsOaLfmAG/M8Lz9CVl1cd3uZLlkDg6OE
VQnJang65hZuGnxbVynEuURHVeDYxwcnB8PIt41ntZaKH8+XuEy5fQdUUngi
na0/uyo85t7L7Ppp8P4MpYwuDy83oij3h9nlcJED7vHq7Ee9Okh+JiGFuh2h
FdVBMavKfCZNVdDHFRPbcWSvEI3HCFr1/kfFRCIUjt+TYma+stoJvrVbkGSQ
QMnmUKDq2RhKqkiOo3LWY78GwSkeF623TBXWgSLUDvg8FrUWpJA5T795+KTl
u1fhtuL+1tHjk3KGmLVskxQEGISanVrqFH5CQ0JaNCaKY4e+EoFzt+92gvHT
6CTzay1FO0c+OqhyNdESXbRCoKS4kgKHtVvHWU4t38cWYd1IeDIklKSe+UQ2
onS7Ub3RmTknhvZFHnV2sjirEfut5iZ4ucY6V1a4uOuA0V0i1CTRnfgo1W0v
MZu/vvBIu8Tsugd5+7ff1ONuBUeCq0kdSg73eHfW7ztiM3Us1DslPrWNBtaX
ANYPWytOKoHxAUm45RAcK/CKryEObfLiWIur0Sbf+3Lzby22hQQyH+iq1Qpp
rFqW3TPJuLAyy9cYAmZBJCLlE9XXaQoLJ8VPVgvuoCPGR4jdBJ4d4wH7ynus
GROkNZvN15gfQ5LPuD7sOTRr9tz5QoAL6ABWrlPQLJLu3K7XqILhNq1d9mEp
mGUiejHzA9UPIpC1/14IS3kpkRlr0iyub7l5Ue17SJyopspnwnfk6yAkietY
mgIvNDO5urUX1pHTF4fB5zDZcnIicpq1WOnvmgzQ6StvJRxbMU5OXFrUGTcH
4+Ym2HKt2+iJyJPN0zXn9W9f4c2+fq1VSlV8Rdh9dceISW6AQ82NmlpUgO5w
Ejvq8fbKR8+sw8Fxs/6S8sL9Qqf1xfHZ4XB37/3ACEbVBF0w+L6A5fhmwlj1
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
3mSi70tq/RTROt7Ze8X/AkocGW/GIwIA

-->

</rfc>
