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


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

<!ENTITY RFC1035 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC9562 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9562.xml">
<!ENTITY RFC7553 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7553.xml">
<!ENTITY RFC8259 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
<!ENTITY RFC8615 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
<!ENTITY RFC9525 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9525.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC3986 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY RFC3056 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3056.xml">
<!ENTITY RFC7526 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7526.xml">
<!ENTITY RFC4501 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4501.xml">
<!ENTITY RFC8484 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml">
<!ENTITY RFC8482 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8482.xml">
<!ENTITY RFC8141 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8141.xml">
<!ENTITY RFC3650 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3650.xml">
<!ENTITY RFC4122 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4122.xml">
<!ENTITY RFC8126 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml">
]>


<rfc ipr="trust200902" docName="draft-motters-ruuid-00" category="std" consensus="true" submissionType="IETF">
  <front>
    <title abbrev="RUUID">Resolvable Universally Unique Identifiers (RUUID)</title>

    <author initials="B." surname="Mottershead" fullname="Brian Mottershead">
      <organization></organization>
      <address>
        <email>bmotters@gmail.com</email>
      </address>
    </author>

    <date year="2026" month="May" day="29"/>

    <area>int</area>
    
    <keyword>UUID</keyword> <keyword>DNS</keyword> <keyword>identifier</keyword> <keyword>resolution</keyword>

    <abstract>


<?line 51?>

<t>This document defines Resolvable Universally Unique Identifiers
(RUUIDs): a UUID format encoding a 64-bit IPv6 network prefix, a
48-bit identifier, and a 10-bit type. A resolver uses reverse DNS
on the network prefix to discover the associated domain and, via
that domain's "UUID document", constructs a URI of the referent.
Defaults for both the document location and the referent URI
template mean that when URLs follow the canonical convention,
nothing beyond a reverse-DNS PTR record needs to be published;
resolution degrades gracefully when configuration is missing.</t>

<t>The 64-bit network field carries an IPv6 /64 prefix directly. An IPv4
/32 is encoded as the corresponding 6to4 prefix (RFC 3056).  RUUIDs
are 128 bits in the standard UUID textual form. Pending a dedicated
UUID version, they use the RFC 9562 experimental version 8 with
variant 10, so existing UUID parsers recognise them as well-formed
UUIDs.</t>



    </abstract>



  </front>

  <middle>


<?line 70?>

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

<t>UUIDs as defined in <xref target="RFC9562"/> are opaque: a UUID names a thing but
says nothing about where to learn more about it. This document defines
a <em>Resolvable UUID</em> (RUUID) that binds the UUID at generation time to
an IP network prefix. Reverse DNS resolves that prefix to a domain, and
a "UUID document" resolves the domain and the fields of the UUID to a
URI of its referent, allowing the UUID to be dereferenced.</t>

<t>The bytes of an RUUID fully specify the algorithm a resolver <bcp14>MUST</bcp14>
follow; there is no fallback or probing. Resolution uses only DNS,
which may include DNS-over-HTTPS, with no new infrastructure required.</t>

<t>An RUUID parses as a normal UUID with a well-defined version and the
RFC 9562 variant; code that does not understand RUUIDs <bcp14>SHOULD</bcp14> treat
them as opaque.</t>

<section anchor="prior-art"><name>Relation to other identifier systems</name>

<t>RUUID builds on preexisting UUID versions and variants, and relates
to several other identifier systems. The relevant prior art includes:</t>

<t><list style="symbols">
  <t>Preexisting UUID versions and variants (<xref target="RFC9562"/>), which provide
coordination-free generation and enduring universal uniqueness, but
whose identifiers are opaque: a UUID names a referent without
indicating where to find it. An RUUID is itself a UUID (currently
version 8 with variant 10) that adds resolvability to these
properties, through a public and reproducible resolution method.</t>
  <t>URNs (<xref target="RFC8141"/>) are URIs
<spanx style="verb">urn:NID:NSS</spanx>, requiring an IANA-registered Namespace Identifier
per namespace; resolution is not standardized at the URN layer
and varies per namespace.  <xref target="RFC4122"/> defined a URN namespace,
<spanx style="verb">urn:uuid:</spanx>, for UUIDs.</t>
  <t>W3C Decentralized Identifiers (DIDs,
<xref target="W3C-DID"/>) are URIs <spanx style="verb">did:METHOD:ID</spanx> with per-method
registration and per-method resolution rules; an RUUID can be
expressed as a DID via the <spanx style="verb">did:uuid</spanx> method, which is
specified separately.</t>
  <t>Numerous numbering schemes, such as IEEE Extended Unique Identifiers
(EUI), Universal Product Codes (UPC), International Article Numbers
(EAN), International Standard Book Numbers (ISBNs), Vehicle
Identification Numbers (VINs), Object Identifiers (OIDs), Archival
Resource Keys (ARKs), Handle-based identifiers (<xref target="RFC3650"/>), and
Digital Object Identifiers (DOIs) depend on registration with an
assignment authority. Many of these are resolvable but depend on
dedicated resolution infrastructure.</t>
</list></t>

<t>RUUIDs differ from the prior art in the following ways.</t>

<t><list style="symbols">
  <t>Unlike many of the existing numbering schemes, assignment of UUIDs
in general, and RUUIDs in particular, does not depend on a central
registration authority.  By following the specification, anybody may
generate a UUID and assign it to a referent with high confidence of
enduring universal uniqueness, without dependence on authority or
coordination with other parties generating UUIDs.  Accordingly, UUIDs
from independent sources may be pooled in databases and datastreams,
without coordination.</t>
  <t>They are 128-bit UUIDs in the conventional textual form
(<xref section="4" sectionFormat="of" target="RFC9562"/>), not URIs. Code that does not know
this specification can still parse, store, and compare them as
UUIDs.</t>
  <t>Resolution of RUUIDs runs over the existing RIR / LIR / ISP
allocation chain and the DNS reverse-zone delegation chain, with no
dedicated registry or central resolver. The accountability gradient
is the one that already governs IP address space.</t>
</list></t>

</section>
<section anchor="applicability"><name>Applicability</name>

<t>As an <em>identifier</em>, an RUUID unambiguously names its referent
indefinitely, like any UUID. As a <em>resolvable</em> identifier, it
can be walked through DNS to the referent's URI which can de-referenced;
this role is bounded by continued control of the network prefix and its
reverse-DNS delegation (see <xref target="prefix-transfer"/>).</t>

<t>Workflows requiring coordination-free generation of structured
(sortable, time-ordered) identifiers <bcp14>SHOULD</bcp14> prefer UUID version 7
(<xref target="RFC9562"/>); see <xref target="collision-tradeoffs"/>.</t>

</section>
</section>
<section anchor="conventions-and-terminology"><name>Conventions and Terminology</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>

<?line -18?>

<t>The following terms are used in this document:</t>

<dl>
  <dt>RUUID</dt>
  <dd>
    <t>A 128-bit identifier conforming to this specification.</t>
  </dd>
  <dt>Network prefix</dt>
  <dd>
    <t>The 64-bit field of an RUUID that carries an IPv6 /64 network
prefix. An IPv4 /32 is encoded as the corresponding 6to4 prefix
(<xref target="RFC3056"/>); see <xref target="network-field"/>.</t>
  </dd>
  <dt>Identifier</dt>
  <dd>
    <t>The 48-bit field of the RUUID that names the referent within the
network prefix. See <xref target="format"/>.</t>
  </dd>
  <dt>UUID document</dt>
  <dd>
    <t>A JSON document, identified by a URI published in DNS at
<spanx style="verb">_uuid.&lt;domain&gt;</spanx>, that describes how RUUIDs under a network prefix
are generated, and optionally publishes cryptographic material for
verifying them. The format is defined in <xref target="uuid-document"/>.</t>
  </dd>
</dl>

</section>
<section anchor="format"><name>RUUID Format</name>

<section anchor="bit-layout"><name>Bit layout</name>

<t>Treating the RUUID as a 128-bit big-endian unsigned integer with bit 127
being the most significant bit:</t>

<figure><artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|         identifier (48)       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |  ver  |     network_hi        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|var|       type        |                                       |
+-+-+-+-+-+-+-+-+-+-+-+-+              network_lo               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<texttable>
      <ttcol align='left'>field</ttcol>
      <ttcol align='right'>width</ttcol>
      <ttcol align='left'>meaning</ttcol>
      <c>identifier</c>
      <c>48</c>
      <c>identifier of the referent within <spanx style="verb">(network, type)</spanx></c>
      <c>version</c>
      <c>4</c>
      <c>UUID version, set to 8</c>
      <c>network_hi</c>
      <c>12</c>
      <c>high 12 bits of the 64-bit network prefix</c>
      <c>variant</c>
      <c>2</c>
      <c>UUID variant, set to binary 10</c>
      <c>type</c>
      <c>10</c>
      <c>identifier of a type entry in the UUID document</c>
      <c>network_lo</c>
      <c>52</c>
      <c>low 52 bits of the network prefix</c>
</texttable>

</section>
<section anchor="network-field"><name>The network prefix</name>

<t>The 64-bit <em>network prefix</em> is the concatenation of <spanx style="verb">network_hi</spanx>
and <spanx style="verb">network_lo</spanx>, treated as a single 64-bit big-endian unsigned
integer. It is an IPv6 /64 network prefix. An IPv4 /32
is encoded as the corresponding IPv6 6to4 prefix (<xref target="RFC3056"/>), zero-padded
on the right; so a single 64-bit field carries either address family; the encoding
distinguishes them.</t>

<t>Note that while <xref target="RFC3056"/> <xref target="RFC7526"/> deprecated the companion
anycast-relay prefix, the 6to4 IPv6 prefix is still allocated, and no
native IPv6 addresses are assigned from it.  Each /64 within
<spanx style="verb">2002::/16</spanx> corresponds to a specific IPv4 /32 under the 6to4
derivation, and only that IPv4 owner controls the corresponding
<spanx style="verb">in-addr.arpa</spanx> zone. A network field beginning with <spanx style="verb">0x2002</spanx> <bcp14>MUST</bcp14> be
interpreted as IPv4-encoded; an RUUID with a network field in
<spanx style="verb">2002::/16</spanx> <bcp14>MUST</bcp14> encode an IPv4 /32 whose <spanx style="verb">in-addr.arpa</spanx> reverse zone
is controlled by the RUUID's resolver.</t>

<t>The network prefix is an administrative identifier, not the IP
address of any specific service; any number of servers <bcp14>MAY</bcp14> share a
single network prefix (see <xref target="network-semantics"/>).</t>

</section>
<section anchor="version-and-variant"><name>Version and variant</name>

<t>The <spanx style="verb">version</spanx> field <bcp14>MUST</bcp14> be 8 (RFC 9562 "experimental"); the
UUID <spanx style="verb">variant</spanx> field <bcp14>MUST</bcp14> be binary 10.</t>

</section>
<section anchor="type"><name>Type</name>

<t>The 10-bit <spanx style="verb">type</spanx> field identifies a type entry in the UUID
document (<xref target="uuid-document"/>). The 1024 type values each describe one
kind of referent and can carry their own referent-URI template. Type
entries appear in the UUID document as CID <spanx style="verb">service</spanx> entries with
<spanx style="verb">id</spanx> = <spanx style="verb">#&lt;type&gt;</spanx> (see <xref target="document-shape"/>). Type 0 is reserved for
"unspecified".</t>

</section>
</section>
<section anchor="resolution"><name>Resolution</name>

<section anchor="overview"><name>Overview</name>

<t>RUUID resolution is two-phase. <strong>Phase 1</strong> resolves the network field
to a UUID document (<xref target="uuid-document"/>). <strong>Phase 2</strong> applies the
document's per-type service template to the 48-bit identifier to
produce the referent URI. The spec's normative output is the
referent URI.</t>

<t>A resolver executes:</t>

<t>A. <strong>Phase 1</strong></t>

<t><list style="numbers" type="1">
  <t>Determine address family. If the top 16 bits of the
network field equal <spanx style="verb">0x2002</spanx>, the next 32 bits are the IPv4 /32
(reverse zone <spanx style="verb">in-addr.arpa</spanx>); otherwise the full 64 bits are an
IPv6 /64 network prefix (reverse zone <spanx style="verb">ip6.arpa</spanx>).</t>
  <t>Consult a <em>registry endpoint</em> (<xref target="registry-endpoints"/>)
for the domain and UUID-document URI associated with the network
prefix. This is the only step that <bcp14>MUST</bcp14> succeed; later steps have
documented defaults.</t>
  <t>Fetch the UUID document (<xref target="uuid-document"/>). On
fetch failure or non-JSON body, proceed with no document.</t>
</list></t>

<t>B. <strong>Phase 2</strong></t>

<t><list style="numbers" type="1">
  <t>Construct the referent URI: pick the service entry
from the UUID Document which corresponds to the
RUUID's type (or fall back per
<xref target="template-substitution"/>) and apply placeholder substitution.</t>
</list></t>

<t>Per-identifier metadata lives in the UUID document, not the
registry, so registry state per domain is constant regardless of
how many RUUIDs are generated under that domain.</t>

</section>
<section anchor="registry-endpoints"><name>Registry endpoints</name>

<t>A registry endpoint returns the domain and UUID-document URI for a
given network prefix, reached over DNS. The resolver does a <spanx style="verb">PTR</spanx>
query against the reverse-DNS name (<xref target="resolve-reverse-name"/>) for the
domain, then a <spanx style="verb">URI</spanx> query at <spanx style="verb">_uuid.&lt;domain&gt;</spanx> (falling back to <spanx style="verb">TXT</spanx>;
<xref target="doc-uri-resolution"/>) for the document URI. The system DNS resolver
is the default; any DNS-protocol-speaking service with these semantics
is conformant. The DNS resolver may be either traditional DNS over
UDP/TCP port 53 or a DNS-over-HTTPS (DoH) service (<xref target="RFC8484"/>).</t>

<t>Every public IP prefix has a reverse-DNS chain, so resolution needs no
dedicated registry or new infrastructure.</t>

<section anchor="registry-endpoints-config"><name>Endpoint configuration</name>

<t>A registry endpoint is configured by URL; the scheme determines how it
is reached. A DNS-protocol endpoint uses <spanx style="verb">dns://&lt;host&gt;[:&lt;port&gt;]</spanx>
(<xref target="RFC4501"/>; port defaults to 53). A DoH-reachable endpoint uses an
<spanx style="verb">https://</spanx> URL (<xref target="RFC8484"/>), carrying wire-format DNS messages
(<spanx style="verb">application/dns-message</spanx>).</t>

</section>
</section>
<section anchor="resolve-reverse-name"><name>Reverse-DNS name construction</name>

<t>For IPv4-encoded RUUIDs (top 16 bits = <spanx style="verb">0x2002</spanx>), recover the
IPv4 /32 as <spanx style="verb">(network &gt;&gt; 16) &amp; 0xFFFFFFFF</spanx> and construct the
reverse-DNS name per <xref section="3.5" sectionFormat="of" target="RFC1035"/>: the four address
bytes in reverse order as decimal labels, followed by <spanx style="verb">in-addr.arpa</spanx>.</t>

<t>For IPv6-encoded RUUIDs, the reverse-DNS name is the standard
<spanx style="verb">ip6.arpa</spanx> name (<xref section="2.5" sectionFormat="of" target="RFC1035"/>) truncated to the first
16 nibbles (the /64 boundary).</t>

</section>
<section anchor="doc-uri-resolution"><name>UUID document resolution</name>

<t>At <spanx style="verb">_uuid.&lt;domain&gt;</spanx> the resolver issues a <spanx style="verb">URI</spanx> query first
(<xref target="RFC7553"/>), then a <spanx style="verb">TXT</spanx> query (<xref target="txt-format"/>) if no usable URI
record is returned. With multiple URI records, pick the lowest
<spanx style="verb">priority</spanx>, breaking ties by highest <spanx style="verb">weight</spanx>. TXT records without
the RUUID prefix <bcp14>MUST</bcp14> be ignored.</t>

<t>Type-specific queries are used rather than <spanx style="verb">ANY</spanx> because
<xref target="RFC8482"/> permits recursive resolvers to return minimal answers
to <spanx style="verb">ANY</spanx> meta-queries, silently losing published records.</t>

<section anchor="default-doc-uri"><name>Default document URI</name>

<t>If no usable record is present at <spanx style="verb">_uuid.&lt;domain&gt;</spanx>, the
UUID-document URI defaults to
<spanx style="verb">https://&lt;domain&gt;/.well-known/uuid-document.json</spanx> (well-known
suffix per <xref target="RFC8615"/>, registered in <xref target="iana"/>). On a fetch failure
of the default URI, the resolver applies the default referent
template (<xref target="default-template"/>). A UUID document hosted elsewhere is
located by publishing a URI or TXT record at <spanx style="verb">_uuid.&lt;domain&gt;</spanx>.</t>

</section>
</section>
<section anchor="template-substitution"><name>Referent URI construction</name>

<t>The referent URI is constructed by selecting a template and applying
placeholder substitution.</t>

<section anchor="template-selection"><name>Template selection</name>

<t>The resolver picks a template by checking, in order:</t>

<t><list style="numbers" type="1">
  <t>A <spanx style="verb">service</spanx> entry with <spanx style="verb">id</spanx> = <spanx style="verb">#&lt;type&gt;</spanx> and a string
<spanx style="verb">serviceEndpoint</spanx> (the type-specific template).</t>
  <t>A <spanx style="verb">service</spanx> entry with <spanx style="verb">id</spanx> = <spanx style="verb">#0</spanx> and a string
<spanx style="verb">serviceEndpoint</spanx> (the domain-wide default).</t>
  <t>The spec-wide default template defined below.</t>
</list></t>

</section>
<section anchor="default-template"><name>Default template</name>

<t>When no document template applies, the default is:</t>

<figure><artwork><![CDATA[
https://<domain>/<type>/<identifier>
]]></artwork></figure>

<t>The default applies when the <spanx style="verb">service</spanx> array is absent, has neither
a <spanx style="verb">#&lt;type&gt;</spanx> nor <spanx style="verb">#0</spanx> entry, or has only entries without
<spanx style="verb">serviceEndpoint</spanx>; it also applies when the document cannot be
fetched at all (so reverse-DNS success alone always yields a
resolvable URL). When URLs already follow this convention, no
UUID document need be published.</t>

</section>
<section anchor="placeholders"><name>Placeholder substitution</name>

<t>The resolver replaces every occurrence of the following substrings:</t>

<texttable>
      <ttcol align='left'>placeholder</ttcol>
      <ttcol align='left'>substituted with</ttcol>
      <c><spanx style="verb">&lt;identifier&gt;</spanx></c>
      <c>when <spanx style="verb">&lt;day&gt;</spanx> is absent from the template, the full 48-bit identifier as 12 lowercase hex digits, zero-padded; when <spanx style="verb">&lt;day&gt;</spanx> is present, the low 28 bits (the <spanx style="verb">sequence</spanx> of <xref target="identifier-construction"/>) as 7 lowercase hex digits, zero-padded</c>
      <c><spanx style="verb">&lt;day&gt;</spanx></c>
      <c>the high 20 bits of the identifier (the <spanx style="verb">day_count</spanx> of <xref target="identifier-construction"/>), rendered as the corresponding calendar date <spanx style="verb">YYYY-MM-DD</spanx> (<spanx style="verb">2025-01-01 + day_count days</spanx>, UTC)</c>
      <c><spanx style="verb">&lt;type&gt;</spanx></c>
      <c>the RUUID's <spanx style="verb">type</spanx> as a decimal integer, no padding</c>
      <c><spanx style="verb">&lt;network&gt;</spanx></c>
      <c>the network field as 16 lowercase hex digits, zero-padded</c>
      <c><spanx style="verb">&lt;uuid&gt;</spanx></c>
      <c>the full RUUID in canonical 8-4-4-4-12 lowercase form</c>
      <c><spanx style="verb">&lt;domain&gt;</spanx></c>
      <c>the domain returned by the PTR lookup</c>
</texttable>

<t>Substituted values are not URI-encoded; all are URL-safe by
construction.</t>

<t>A template containing <spanx style="verb">&lt;day&gt;</spanx> is an assertion by the document
publisher that identifiers under this entry are constructed per
<xref target="identifier-construction"/>. The resolver does not check this and
performs the substitution as defined regardless of the underlying
bits; a <spanx style="verb">&lt;day&gt;</spanx> value implausible for Section 7.3 (e.g., a date far in
the future) is the publisher's misconfiguration, not the
resolver's concern.</t>

<t>The result <bcp14>MUST</bcp14> be a valid URI reference per <xref section="4" sectionFormat="of" target="RFC3986"/>. A relative reference is resolved against the UUID
document's fetch URI per <xref section="5" sectionFormat="of" target="RFC3986"/>. UUID documents
<bcp14>SHOULD</bcp14> use <strong>absolute-path references</strong> (a path beginning with <spanx style="verb">/</spanx>, no
scheme, no authority) so the document can be moved between hosts
without editing service entries: <spanx style="verb">/</spanx>-rooted references transplant the
document's scheme and authority unchanged.</t>

</section>
</section>
</section>
<section anchor="txt-format"><name>TXT Record Format</name>

<t>When the <spanx style="verb">_uuid.&lt;domain&gt;</spanx> query returns no URI records but does
return TXT, the resolver picks a TXT record whose concatenated
strings (<xref section="3.3.14" sectionFormat="of" target="RFC1035"/>) match:</t>

<figure><artwork><![CDATA[
v=ruuid1 <URI>
]]></artwork></figure>

<t><spanx style="verb">&lt;URI&gt;</spanx> <bcp14>MUST</bcp14> be a valid URI per <xref section="3" sectionFormat="of" target="RFC3986"/>.</t>

</section>
<section anchor="uuid-document"><name>UUID Document</name>

<t>The UUID document is the JSON document fetched at step 3 of
<xref target="resolution"/>. It is a W3C Controlled Identifiers (CID) document
(<xref target="W3C-CID"/>) whose <spanx style="verb">service</spanx> array carries per-type referent-URI
templates. Resolvers <bcp14>MUST</bcp14> ignore fields they do not recognise, and
<bcp14>SHOULD</bcp14> treat the document as authoritative only for the domain
whose DNS pointed them at it.</t>

<section anchor="document-fetch"><name>Document fetch</name>

<t>The UUID document is identified by the URI established at step 3 of
<xref target="resolution"/>: either an explicitly-published URI from
<spanx style="verb">_uuid.&lt;domain&gt;</spanx> or the default (<xref target="default-doc-uri"/>). The URI <bcp14>MAY</bcp14>
use any scheme the resolver can dereference to a fetchable JSON
document: <spanx style="verb">https:</spanx> (the expected baseline), <spanx style="verb">http:</spanx>, <spanx style="verb">data:</spanx> (inline
JSON), <spanx style="verb">file:</spanx>, or <spanx style="verb">did:</spanx> (where the DID resolves to a document that
<em>is</em> the UUID document; <spanx style="verb">did:web:</spanx>, <spanx style="verb">did:plc:</spanx>, and <spanx style="verb">did:uuid:</spanx> are
all usable). UUID documents <bcp14>SHOULD</bcp14> use <spanx style="verb">https:</spanx> for TLS transport
integrity.</t>

<t>The document <bcp14>MUST</bcp14> be UTF-8 JSON (<xref target="RFC8259"/>) with an object at
top level.</t>

</section>
<section anchor="document-shape"><name>Document structure and evolution</name>

<t>A conforming UUID document is a JSON object structured as a W3C
Controlled Identifiers (CID) document <xref target="W3C-CID"/>. It is the CID
document for the network prefix's controller: one document, keyed
by the network prefix, covers every full RUUID under that network
prefix.</t>

<t>The UUID document's <spanx style="verb">id</spanx> is the URI used to dereference it (CID
<spanx style="verb">canonical-URL</spanx>): the URI published at <spanx style="verb">_uuid.&lt;domain&gt;</spanx>, or the
default-document URI (<xref target="default-doc-uri"/>) when no record is
published. The URI <bcp14>MAY</bcp14> use any URL-Standard scheme.</t>

<t>The fields used by the resolution pipeline are:</t>

<texttable>
      <ttcol align='left'>field</ttcol>
      <ttcol align='left'>type</ttcol>
      <ttcol align='left'>required by this spec</ttcol>
      <ttcol align='left'>meaning</ttcol>
      <c><spanx style="verb">@context</spanx></c>
      <c>string or array</c>
      <c>optional (recommended)</c>
      <c>JSON-LD context. <bcp14>SHOULD</bcp14> include <spanx style="verb">"https://www.w3.org/ns/cid/v1"</spanx>.</c>
      <c><spanx style="verb">id</spanx></c>
      <c>string</c>
      <c>optional (recommended)</c>
      <c>The URI at which the document was dereferenced.</c>
      <c><spanx style="verb">controller</spanx></c>
      <c>string or array</c>
      <c>optional</c>
      <c>URI(s) of the entity authorised to update this document. When omitted, CID treats it as equal to <spanx style="verb">id</spanx>.</c>
      <c><spanx style="verb">alsoKnownAs</spanx></c>
      <c>array of strings</c>
      <c>optional</c>
      <c>Additional URIs identifying the same subject.</c>
      <c><spanx style="verb">service</spanx></c>
      <c>array of objects</c>
      <c>required for type entries</c>
      <c>Per-type referent templates; see <xref target="service-entries"/>.</c>
</texttable>

<t>No top-level field is <bcp14>REQUIRED</bcp14>: the empty object <spanx style="verb">{}</spanx> is processable
(it just makes no RUUIDs resolvable, other than those resolvable using
the default template). The schema evolves by addition; resolvers <bcp14>MUST</bcp14>
ignore unknown fields. A resolver that needs a field which is absent
or unparseable <bcp14>MUST</bcp14> fail that operation rather than substitute
defaults.</t>

</section>
<section anchor="verification-fields"><name>Verification fields</name>

<t>A UUID document <bcp14>MAY</bcp14> include <spanx style="verb">prefixes</spanx> (array of CIDR strings) and
<spanx style="verb">domains</spanx> (array of domain strings) covered by the document.
Consumers <bcp14>SHOULD</bcp14> verify the RUUID's network prefix against <spanx style="verb">prefixes</spanx> and
the resolved domain against <spanx style="verb">domains</spanx> when present, treating a
mismatch as misconfiguration (log; <bcp14>MAY</bcp14> refuse the referent URI).
These fields are advisory, not security-critical: an adversary who
controls the DNS path or the document can set them to any value.
Their purpose is detecting honest mistakes (staging docs at prod
URLs, shared infrastructure pointing at the wrong tenant, a prefix
move without re-hosting the document).</t>

</section>
<section anchor="service-entries"><name>Service entries (per-type referent templates)</name>

<t>The document's <spanx style="verb">service</spanx> array carries one entry per RUUID type
covered by the document. Entries follow the CID service-entry schema
with one convention: the entry's <spanx style="verb">id</spanx> is the fragment URI <spanx style="verb">#&lt;type&gt;</spanx>
(the decimal type value, <spanx style="verb">"0"</spanx> through <spanx style="verb">"1023"</spanx>), and
<spanx style="verb">serviceEndpoint</spanx> is the referent-URI template the resolver
substitutes (<xref target="template-substitution"/>).</t>

<figure><artwork><![CDATA[
{
  "@context": "https://www.w3.org/ns/cid/v1",
  "id": "https://example.com/.well-known/uuid-document.json",
  "alsoKnownAs": ["did:uuid:00000000-0000-8200-8002-c000022a0000"],
  "service": [
    {
      "id": "#1",
      "type": "User",
      "serviceEndpoint": "https://example.com/u/<identifier>"
    },
    {
      "id": "#42",
      "type": "CowTag",
      "serviceEndpoint": "https://example.com/t/<identifier>"
    }
  ]
}
]]></artwork></figure>

<t>The array is sparse; missing entries fall back to the default
template (<xref target="default-template"/>). Different types <bcp14>MAY</bcp14> use entirely
different URI structures.</t>

<section anchor="type-entry-fields"><name>Type entry fields</name>

<texttable>
      <ttcol align='left'>field</ttcol>
      <ttcol align='left'>meaning</ttcol>
      <c><spanx style="verb">id</spanx></c>
      <c>the fragment URI <spanx style="verb">#&lt;type&gt;</spanx> (e.g. <spanx style="verb">#1</spanx>, <spanx style="verb">#42</spanx>); the type value is the numeric string after <spanx style="verb">#</spanx></c>
      <c><spanx style="verb">type</spanx></c>
      <c>arbitrary string or set of strings.</c>
      <c><spanx style="verb">serviceEndpoint</spanx></c>
      <c>URI template per <xref target="template-substitution"/>; the default template applies if absent</c>
</texttable>

<t>The <spanx style="verb">id</spanx> field is <bcp14>OPTIONAL</bcp14> in the Controlled Identifier
specification, and may be any valid URI that is unique within the
list of services. However, a RUUID resolver <bcp14>SHOULD</bcp14> ignore service
entries with no <spanx style="verb">id</spanx>, and service entries whose <spanx style="verb">id</spanx> does not have a
numeric fragment between #0 and #1023.</t>

<t>The Controlled Identifier specification requires the <spanx style="verb">type</spanx> field,
but the RUUID resolver makes no use of it. A resolver <bcp14>MUST NOT</bcp14> treat
a missing <spanx style="verb">type</spanx> field as an error, even though a service entry
lacking <spanx style="verb">type</spanx> does not conform to the Controlled Identifier
specification. If present, a resolver <bcp14>MAY</bcp14> return the <spanx style="verb">type</spanx> value as
additional information.</t>

<t>The <spanx style="verb">serviceEndpoint</spanx> field is <bcp14>REQUIRED</bcp14> in the Controlled Identifier
specification. When the RUUID resolver selects a service entry
because its <spanx style="verb">id</spanx> fragment matches the RUUID's type value, the
<spanx style="verb">serviceEndpoint</spanx> is the template used to construct the URI of the
referent.</t>

</section>
</section>
</section>
<section anchor="generation-considerations"><name>Generation Considerations</name>

<section anchor="network-semantics"><name>Network prefix semantics</name>

<t>The <spanx style="verb">network</spanx> field is an IPv6 /64 network prefix, or an IPv4 /32
6to4-encoded into the same field. It is not the IP address of any
specific service. The resolution algorithm requires only that the
prefix's reverse-DNS zone resolve PTR queries to the domain that
publishes the UUID document; the operator of that DNS zone need not
coincide with the entity that generated the RUUID nor with the
operator of the service providing the referent. Any number of servers,
on unrelated addresses, <bcp14>MAY</bcp14> share a single network prefix.</t>

</section>
<section anchor="uniqueness"><name>Uniqueness</name>

<t>Identifiers <bcp14>MUST</bcp14> be unique within <spanx style="verb">(network, type)</spanx>. Global
uniqueness of RUUIDs follows from this property and the global
uniqueness of IP allocations, provided the generating entity has
control of the network prefix at generation-time and maintains
that indefinitely.   Once an identifier is assigned, the
binding <bcp14>MAY</bcp14> be retired but the identifier value <bcp14>MUST NOT</bcp14> be reused
for a different referent.</t>

</section>
<section anchor="identifier-construction"><name>Identifier construction</name>

<t>For an RUUID used only within the generator's local scope, the
48-bit identifier <bcp14>MAY</bcp14> be any value satisfying <xref target="uniqueness"/>.</t>

<t>For an RUUID used outside the generator's local scope, where
persistent universal uniqueness is required without ongoing tenancy
by the generator of the network prefix, and without ongoing
coordination among independent generators, the identifier <bcp14>SHOULD</bcp14>
be constructed as follows:</t>

<figure><artwork><![CDATA[
identifier = (day_count << 28) | sequence
]]></artwork></figure>

<t><list style="symbols">
  <t><spanx style="verb">day_count</spanx> is a 20-bit unsigned count of days since 2025-01-01
00:00:00 UTC. The value <bcp14>MUST</bcp14> be a day on which the generator held
reverse-DNS authority over the network prefix, and <bcp14>MUST NOT</bcp14> be a
future day. Any day satisfying these two conditions is valid;
<spanx style="verb">day_count</spanx> need not be the day on which the RUUID is generated, and
an implementation <bcp14>MAY</bcp14> reuse the same <spanx style="verb">day_count</spanx> for many RUUIDs
(e.g., the earliest day of its tenure of the network id, advancing
only when the 2^28 sequence space is exhausted). The count wraps
after 2^20 days (approximately year 4896).</t>
  <t><spanx style="verb">sequence</spanx> is a 28-bit value unique within <spanx style="verb">(network, type,
day_count)</spanx>.</t>
</list></t>

<t>Successive controllers of a network prefix hold disjoint sets of
tenure days, so the two <bcp14>MUST</bcp14> conditions above guarantee that
their <spanx style="verb">day_count</spanx> values do not overlap, and identifiers from
different controllers cannot collide even without coordination
between them.</t>

<t>This yields 2^28 = 268,435,456 RUUIDs per <spanx style="verb">(network, type, day)</spanx>
and, across the 1024 type values, approximately 275 billion RUUIDs
per network prefix per day of tenancy.</t>

<t>The <spanx style="verb">sequence</spanx> uniqueness requirement is scoped to a single day
within a single <spanx style="verb">(network, type)</spanx>; coordination across days,
across types, and across network prefixes is not required.
Implementations <bcp14>MAY</bcp14> satisfy it with a counter, a time-of-day
component with within-period randomness, deliberate partitioning
across cooperating generators, or any other scheme. Random
selection from the 28-bit space achieves a 2^-14 collision
probability at approximately 16,000 RUUIDs per <spanx style="verb">(network, type,
day)</spanx> and degrades sharply at higher volumes; coordination between
multiple generator "workers" of some form is required to approach
the per-day maximum.</t>

<t>Resolvers <bcp14>MUST NOT</bcp14> interpret this structure. RUUIDs constructed
this way are byte-indistinguishable from RUUIDs with opaque
identifiers; the convention is a generator-side discipline that
helps cooperating generators avoid collisions, not a resolution
input.</t>

</section>
<section anchor="collision-tradeoffs"><name>Collisions</name>

<t>The 48-bit identifier yields a ~2^24 birthday bound for random
identifiers within a single <spanx style="verb">(network, type)</spanx> tuple, which provide
uncoordinated collision avoidance via randomness. The "uniqueness
durability" of RUUIDs may be less in some cases than with other UUID
versions, such as those based on hashes, timestamps, or pseudo-random
number generators.  For example, RUUIDs generated after control of
network id has passed to a different entity may be more prone to
collision than other UUID versions, if they are pooled in the same
databases or datastreams with RUUIDs from a previous controller of the
network id.</t>

</section>
</section>
<section anchor="iana"><name>IANA Considerations</name>

<t>This document requests:</t>

<t><list style="numbers" type="1">
  <t>Assignment of a dedicated UUID version to this specification,
provisionally requested as version 9 (or, if 9 is unavailable, the
next unassigned UUID version). See <xref target="RFC9562"/>. Pending such
allocation, implementations use the RFC 9562 experimental version 8.</t>
  <t>Establishment of an "RUUID TXT Prefix Registry" administered
under IETF Review <xref target="RFC8126"/>, with the initial entry <spanx style="verb">v=ruuid1</spanx>
referencing this document.</t>
  <t>Registration of <spanx style="verb">uuid-document.json</spanx> in the "Well-Known URIs"
registry per <xref target="RFC8615"/>, referencing this document. The
well-known URI provides the default UUID-document location
defined in <xref target="default-doc-uri"/>.</t>
</list></t>

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

<section anchor="registry-endpoint-trust"><name>Registry endpoint trust</name>

<t>RUUID resolution inherits its registry endpoint's trust substrate:
a DNS-protocol endpoint inherits the DNS hierarchy (DNSSEC, where
deployed, authenticates the <em>current</em> operator rather than
continuity across transfers; see <xref target="prefix-transfer"/>). A DoH-reachable
endpoint additionally relies on the TLS connection to the configured
URL (<xref target="RFC9525"/>). Strengthening trust beyond that substrate (signed
records, externally rooted continuity evidence) is out of scope.</t>

</section>
<section anchor="prefix-transfer"><name>Prefix transfer and long-term durability</name>

<t>An RUUID's identifier role is unconditional, but its resolution role
depends on continued control of the network prefix and its
reverse-DNS delegation. IP prefixes can be transferred between
operators; DNS provides no notion of <em>continuity of identity</em> across
a transfer (a new operator configuring reverse DNS competently is
indistinguishable from the original, even with DNSSEC).</t>

<t>Three observable states at Phase 1:</t>

<t><em>Still valid.</em> PTR returns the intended domain; the binding is
intact.</t>

<t><em>Detectably rotted.</em> The prefix is no longer maintained for RUUID
purposes (NXDOMAIN, or a PTR to a domain serving no UUID document).
The resolver gets a clear failure signal, better than plain UUIDs
(no resolution at all) or a lapsed HTTPS URL (indistinguishable 404).</t>

<t><em>Commandeered.</em> The prefix has been reassigned and the new operator
serves a PTR of their choosing. The resolver sees an authentic
(DNSSEC-validatable) PTR leading to an unintended domain. This is
the genuine new failure mode RUUID introduces; mitigating it
generally is an open problem for the IETF and address-registry
community.</t>

<t>Network prefixes used in RUUIDs <bcp14>SHOULD</bcp14> be ones expected to be held for
the identifiers' operational lifetime; native IPv6 from a durably held
PA/PI allocation is the strongest choice. The 6to4-encoded IPv4 form
inherits IPv4-transfer risk. Consumers <bcp14>SHOULD</bcp14> record the PTR target at
first resolution and compare on later resolutions; this is
trust-on-first-use, with the usual caveat that it offers nothing to a
consumer whose first encounter is after the change.</t>

<t>Phase 2 is plain URI resolution. This spec places no constraint on
the URI scheme; RUUID inherits whatever durability properties the
scheme provides. The common case is HTTPS, with the same partial
trust model that governs every HTTPS link on the web.</t>

<t>Even when resolution rots or is commandeered, the RUUID remains a
valid identifier for its referent in the consumer's own records.</t>

</section>
<section anchor="privacy"><name>Privacy</name>

<t>An RUUID discloses a network prefix associated with its referent.
This is generally similar in sensitivity to the domain itself, but
in some configurations may be more revealing (e.g., a customer
prefix inside a hosting provider). Consider this when choosing the
network prefix for an RUUID.</t>

<t>When the recommended construction (<xref target="identifier-construction"/>) is
used, the RUUID's <spanx style="verb">day_count</spanx> discloses a day on which the
generator held the network prefix, information of similar
character to public WHOIS and reverse-DNS delegation records. To
suppress even this signal, use an opaque 48-bit identifier
instead, subject to <xref target="collision-tradeoffs"/>.</t>

</section>
<section anchor="identifier-collision"><name>Identifier collision</name>

<t>RUUIDs do not provide cryptographic uniqueness guarantees beyond
what the chosen identifier scheme provides. RUUIDs generated with
small counter-style identifiers are vulnerable to identifier
guessing; when this is a concern, use random identifiers filling
the available width.</t>

</section>
<section anchor="dos-surface"><name>DoS surface</name>

<t>Adversarial RUUIDs could direct registry queries at arbitrary
network prefixes and HTTPS fetches at arbitrary URLs. Resolvers
<bcp14>SHOULD</bcp14> apply standard DNS rate-limiting and HTTP client limits, and
<bcp14>SHOULD</bcp14> cache UUID documents per domain so mass ingestion from one
domain does not multiply fetches.</t>

</section>
</section>


  </middle>

  <back>


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

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

&RFC1035;
&RFC9562;
&RFC7553;
&RFC8259;
&RFC8615;
&RFC9525;
<reference anchor="W3C-CID" target="https://www.w3.org/TR/cid-1.0/">
  <front>
    <title>Controlled Identifiers v1.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="W3C" value="Working Draft"/>
</reference>
&RFC2119;
&RFC8174;
&RFC3986;


    </references>

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

&RFC3056;
&RFC7526;
&RFC4501;
&RFC8484;
&RFC8482;
&RFC8141;
&RFC3650;
&RFC4122;
<reference anchor="W3C-DID" target="https://www.w3.org/TR/did-core/">
  <front>
    <title>Decentralized Identifiers (DIDs) v1.0 -- Core architecture, data model, and representations</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022"/>
  </front>
  <seriesInfo name="W3C" value="Recommendation REC-did-core-20220719"/>
</reference>
&RFC8126;


    </references>

</references>



  </back>

<!-- ##markdown-source:
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
hLTRdo/Q7lFPOd9O2rT1dtBNRNuD29i0BTdDLRhfSAAU5rrV2Km/lXXB59Bu
hbwOePfCmr8BrQysRFy/0QppXbna+Sq3TsP25O6fbsPhrW1a+9xExNwSSKi7
px+clefw8itsikGAecV+RXkrdenbH4cuLp9QJ44dudLJ90LP09jwuL2sCBEK
329Nzv6afuh+6Y1FA4GleG9ChmEESeWv06Oc10sW0KG7xU5sTIWhPVwIJ0/h
1XlY267VHdzf/zt1H8ZeZ/3W+4C2KrY75ZjEOGS/jnGQkD/CinWa4iGwlu8q
7YSPHeq2Va56nNv5EcNfFNyijI0dHt93KNhSy/rYzMga8N02nMZpW8xqugWr
3SrccDLULSZt3LqRtIWNXDBUy+Hrbf6zjbYifDfhts5L1VxZuvqKipzXXkNH
IL7oi9PwMjkhH2mzEEcKofK5Vhavt1tB7+zi+vrNaTCAC7UszYqMlQbLz2si
JX5x31/wst86q5IMC+F7lpPC4HUt33A8ZrlsaUS+3sFBxEW3HluiypJD07QS
TLfMTVV55cb729oGFaJt9YC3H9I817VV1Qz3RJhBoPMXrJH7JYIRer7RYayR
V5/oeg9aB6fBJ3tVt3yrApUzkC0/Zf2Vpawnt7Bl0ohKU80ybJcBrXCia426
0Gkva3riUvkb+sWjbKwCjOjiH48p7XUspqQjVRVfjvSvaSs/aPuXKBcKC8Kq
bVteED2O7pjzMwKhVWQmedLfT2CJ9mvB0mvfI5GQLex6kjqdROwLB44Hmlwe
SP0XVc3l/NqJR7Qz8rpaPdMEvWhwARPEHtkr2ALfTND3Se9RyyHK//CNv0ZC
7F9T10byEgz2/fV8be8f1Cypqz97g1npC247Wlwtc+SK+2eUfSInhGWY/zbY
J2Wm7SJYGUIdit6w69Dnm3Grcp/J4qB38cez9+9Ozi/YOqA1JfeqsecXbz8x
XU805+W04YqZolhFjnfHxaZWSByEbgovLGUtYlnisGwM9qpO5xquGt7jhZRy
ieoK98shGt08m6ODI4T9/qlZLGRVKBRLXUig4jNBE9iqKG2DQzfFD0E+a+cB
wJiuLeRzQy0e1iqnnOLG65HvCc8aMzpaSZcd7HEtm5KF7/xOjVHXzji2IxPe
k9XoilcWYIjXiMZiPr4GEK2gha71jLV6XQt/30y58vESs6RkLDMp1SJmUpOY
JmOWPfFZkBNody6aipPQL9ZN3NDzvnsxGzdBdG3ePt9WgB44airYdTm6J22q
HXZ80VOF2u8xpO1KvRpIfK5csTPv8uTp5Xl6IUns7II5UujLyucmhmk64R8K
CtHVLFGkUROdyCKsdh99U7o0T85nUIdiRL6mFdPrqe9KB1+TW1hM5fvFtd+T
1eYPF0VIRumB1tVZg/UoUTdqHCaq5vKWi1KomgQMKujtDY10MWHul+qjxbwe
3C45E+jop7V3cnIBFTZT4y5xlOnJpEclUGGRHgEpLdvXuFch+IeMA69dCgFA
9hgcR2z0UL2by1pRQWErodqb2Ujn9dUigasH/+BiQXfccEZdejVh9G2Sd0OW
DEC+UteHsPz9L5zPz1yi1NXHIPbv1IQ7aVXst+xIuprMEeoh0DKOficKS1mN
IAUnCiQSFakpvR4muRmIDueJ800/204wcImNcfNVcqMi2uolMeANJ+R6G8N0
soEI3Qtbind6oUvuHepU5XStb9tL8mK/O7p+j2/8izZsmonpOiYgSkhJzdpi
YWbeuNos8E47L2NIWwUJIQ3RH67dG0RVlvGfL5H1nLRjzvmhpkkYZpCU8yW5
6N2IUu+LBfXaYZVSep6YKZh4YFPgrzvjRTeasDVgkCQFkAbHByDyucQ7lamp
aOje9uMP78+v/VWEW6/dCXgCN0a4Zkl334X0CKRLL0G5asN7hjb9LAKTcZUs
+iEbHZfwhRty1oJ1wZEXr05j37Q/0bWrKxJXbPR1O68eizsfBcfzdqoTkNzg
ARseDOpn6xZ0Hw3ztMzVq3LzdsrbpsR3UAWoTQqGWaMo9eQ4BCuYWGQoA2ZA
soul623X1JuQWF2017mxfyimwvYldipzJcSJTy5GizY6/RqKHeDdxq0BFrtV
1W0il9hwIiN6MAfj2svu89QBJSl5DEWM3EYz3nFMbQoxFavUC67NDcNCXmqy
TPEL1ymEzLHn3nrhWtIm0xlYSHJ7oayNzmFsf+yfiOk53gO7Cnvwlxhj+qP4
/yq72S/pfwAA

-->

</rfc>

