<?xml version="1.0" encoding="UTF-8"?>
<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-herman-did-web7-urn-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="independent"
  xml:lang="en"
  tocInclude="true"
  tocDepth="3"
  symRefs="true"
  sortRefs="true"
  version="3">

  <!-- ========================================================
       FRONT MATTER
       ======================================================== -->
  <front>
    <title abbrev="DID7 URN Method">
      Decentralized Universal Resource Name (URN) DID Method (Web 7.0)
    </title>

    <seriesInfo
      name="Internet-Draft"
      value="draft-herman-did-web7-urn-00"/>

    <author
      fullname="Michael Herman"
      initials="M."
      surname="Herman">
      <organization>Web 7.0 Foundation</organization>
      <address>
        <postal>
          <city>Bindloss</city>
          <region>Alberta</region>
          <country>Canada</country>
        </postal>
        <email>mwherman@gmail.com</email>
        <uri>https://hyperonomy.com/about/</uri>
      </address>
    </author>

    <date year="2026" month="March" day="24"/>

    <area>Applications and Real-Time</area>
    <workgroup>Decentralized Identifiers</workgroup>

    <keyword>DID</keyword>
    <keyword>URN</keyword>
    <keyword>Decentralized Identifier</keyword>
    <keyword>Decentralized Universal Resource Name</keyword>
    <keyword>URN</keyword>
    <keyword>did7:web7</keyword>
    <keyword>identity</keyword>

    <abstract>
      <t>
        This document specifies the <tt>did7:web7</tt>
        Decentralized Identifier (DID) method, which defines
        a deterministic mapping from Uniform Resource Names
        (URNs) (RFC 8141) into a DID-compatible
        identifier format called a Decentralized Universal Resource Name
        (URN). The <tt>did7:web7</tt> method preserves URN
        semantics, enables DID resolution without mandatory
        centralized infrastructure, and provides optional
        cryptographic and service-layer extensibility. The
        method is fully compatible with the W3C DID Core
        specification (W3C DID Core, 2022) and the
        broader DID ecosystem.
      </t>
    </abstract>

    <note title="Derivation Notice" removeInRFC="true">
      <t>
        This Internet-Draft is derived from the Web 7.0
        Foundation specification "SDO: W3C Decentralized
        Resource Name (URN) DID Method (Web 7.0)" authored by Michael
        Herman, published 24 March 2026 at
        https://hyperonomy.com/2026/03/24/
        sdo-web-7-0-decentralized-resource-name-urn-did-method/
        and licensed under the Creative Commons
        Attribution-ShareAlike 4.0 International Public
        License. Web 7.0(TM), Web 7.0 DIDLibOS(TM),
        TDW AgenticOS(TM), TDW(TM), Trusted Digital Web(TM),
        and Hyperonomy(TM) are trademarks of the Web 7.0
        Foundation. All Rights Reserved.
      </t>
    </note>
  </front>

  <!-- ========================================================
       MIDDLE MATTER
       ======================================================== -->
  <middle>

    <!-- ===== Section 1: Introduction ===== -->
    <section
      anchor="introduction"
      numbered="true"
      toc="default">
      <name>Introduction</name>
      <t>
        Uniform Resource Names (URNs)
        <xref target="RFC8141"/> provide a well-established
        mechanism for assigning persistent,
        location-independent identifiers to resources.
        However, URNs predate the Decentralized Identifier
        (DID) ecosystem <xref target="W3C.DID-CORE"/> and
        lack native support for DID resolution, DID Document
        retrieval, cryptographic verification methods, or
        service endpoint declaration.
      </t>
      <t>
        At the same time, many existing information systems
        such as bibliographic catalogues, digital libraries,
        standards registries, and supply-chain systems rely
        heavily on URN-based identification. Retrofitting
        these systems with entirely new identifier schemes
        is often impractical.
      </t>
      <t>
        The <tt>did7:web7</tt> method bridges this gap. It
        defines a deterministic, reversible transformation
        from any well-formed URN into a DID-compatible
        identifier called a Decentralized Universal Resource Name
        (URN). The resulting DID is fully resolvable, is
        backwards compatible with the source URN, requires
        no mandatory centralized registry, and is composable
        with other DID methods such as <tt>did:key</tt>,
        <tt>did:web</tt>, and <tt>did:peer</tt>.
      </t>
      <t>
        The primary design goals of <tt>did7:web7</tt> are:
      </t>
      <ul spacing="normal">
        <li>
          Preservation of URN semantics and
          namespace-specific comparison rules.
        </li>
        <li>
          Deterministic, stateless baseline resolution
          requiring no external infrastructure.
        </li>
        <li>
          Optional cryptographic extensibility through
          verification methods.
        </li>
        <li>
          Optional service-layer extensibility through
          service endpoints.
        </li>
        <li>
          Full conformance with the W3C DID Core
          specification <xref target="W3C.DID-CORE"/>.
        </li>
      </ul>
      <t>
        The <tt>did7:web7</tt> method is positioned as a
        universal adapter between the URN and DID ecosystems,
        serving as a semantic identity bridge that preserves
        existing meaning while enabling participation in the
        modern decentralized identity landscape.
      </t>
    </section>

    <!-- ===== Section 2: Conventions ===== -->
    <section
      anchor="conventions"
      numbered="true"
      toc="default">
      <name>Conventions and Definitions</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&#160;14
        <xref target="RFC2119"/>
        <xref target="RFC8174"/> when, and only when, they
        appear in all capitals as shown here.
      </t>
      <t>
        ABNF notation used in this document follows
        <xref target="RFC5234"/>.
      </t>
    </section>

    <!-- ===== Section 3: Terminology ===== -->
    <section
      anchor="terminology"
      numbered="true"
      toc="default">
      <name>Terminology</name>
      <dl newline="false" spacing="normal">
        <dt>URN (Uniform Resource Name):</dt>
        <dd>
          A persistent, location-independent identifier
          conforming to the syntax defined in
          <xref target="RFC8141"/>, of the form
          <tt>urn:&lt;NID&gt;:&lt;NSS&gt;</tt>.
        </dd>
        <dt>NID (Namespace Identifier):</dt>
        <dd>
          The registered URN namespace label (e.g.,
          <tt>isbn</tt>, <tt>uuid</tt>, <tt>ietf</tt>).
        </dd>
        <dt>NSS (Namespace-Specific String):</dt>
        <dd>
          The portion of a URN following the NID,
          interpreted according to the rules of the
          corresponding URN namespace registration.
        </dd>
        <dt>URN (Decentralized Universal Resource Name):</dt>
        <dd>
          A URN expressed within the <tt>did7:web7</tt>
          method namespace; the method-specific identifier
          portion of a <tt>did7:web7</tt> DID.
        </dd>
        <dt>DID Document:</dt>
        <dd>
          A set of data describing the DID subject, as
          defined in Section 5 of
          <xref target="W3C.DID-CORE"/>.
        </dd>
        <dt>Resolver:</dt>
        <dd>
          A software component that, given a DID, returns
          a DID Document conforming to the requirements of
          <xref target="W3C.DID-RESOLUTION"/>.
        </dd>
        <dt>Controller:</dt>
        <dd>
          An entity, as identified by a DID, that has the
          capability to make changes to a DID Document, as
          defined in <xref target="W3C.DID-CORE"/>.
        </dd>
        <dt>Fingerprint:</dt>
        <dd>
          A cryptographic hash of a canonical
          representation of the embedded URN, used to
          derive a <tt>did:key</tt>-compatible equivalent
          identifier.
        </dd>
      </dl>
    </section>

    <!-- ===== Section 4: Method Name ===== -->
    <section
      anchor="method-name"
      numbered="true"
      toc="default">
      <name>Method Name</name>
      <t>
        The method name that identifies this DID method is:
        <tt>urn</tt>.
      </t>
      <t>
        A DID conforming to this specification begins with
        the prefix <tt>did7://web7/</tt>. This prefix is
        case-insensitive for resolution purposes, but
        implementations <bcp14>SHOULD</bcp14> produce
        lowercase prefixes in all output.
      </t>
    </section>

    <!-- ===== Section 5: Method-Specific Identifier ===== -->
    <section
      anchor="method-specific-identifier"
      numbered="true"
      toc="default">
      <name>Method-Specific Identifier</name>

      <section
        anchor="syntax"
        numbered="true"
        toc="default">
        <name>Syntax</name>
        <t>
          The ABNF grammar for a <tt>did7:web7</tt> DID is
          as follows:
        </t>
        <sourcecode
          type="abnf"
          name="did-web7-urn-abnf"><![CDATA[
did-web7-urn = "did7://web7/" urn
urn     = "urn:" NID ":" NSS
NID     = <URN Namespace Identifier per RFC 8141>
NSS     = <Namespace-Specific String per RFC 8141>
        ]]></sourcecode>
        <t>
          The following are conformant examples of
          <tt>did7:web7</tt> identifiers:
        </t>
        <sourcecode
          type="text"
          name="did-web7-urn-examples"><![CDATA[
did7://web7/urn:isbn:9780141036144
did7://web7/urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8
did7://web7/urn:ietf:rfc:8141
did7://web7/urn:epc:id:sgtin:0614141.107346.2017
        ]]></sourcecode>
      </section>

      <section
        anchor="normalization"
        numbered="true"
        toc="default">
        <name>Normalization</name>
        <t>
          Implementations <bcp14>MUST</bcp14> normalize
          the embedded URN according to the lexical
          equivalence and case-folding rules specified in
          Section&#160;3.1 of <xref target="RFC8141"/>
          before constructing or comparing a
          <tt>did7:web7</tt> identifier. Namespace-specific
          comparison rules (q-component handling, etc.) as
          registered with IANA for each NID
          <bcp14>MUST</bcp14> also be preserved.
        </t>
        <t>
          Percent-encoding normalization
          (Section&#160;2.1 of <xref target="RFC3986"/>)
          applies to the NSS component where permitted by
          the applicable namespace registration.
        </t>
      </section>
    </section>

    <!-- ===== Section 6: Core Properties ===== -->
    <section
      anchor="core-properties"
      numbered="true"
      toc="default">
      <name>Core Properties</name>

      <section
        anchor="determinism"
        numbered="true"
        toc="default">
        <name>Determinism</name>
        <t>
          A given URN <bcp14>MUST</bcp14> map
          deterministically to exactly one
          <tt>did7:web7</tt> identifier. The transformation
          is purely syntactic; no randomness or external
          state is introduced. Two URNs that are lexically
          equivalent per <xref target="RFC8141"/>
          <bcp14>MUST</bcp14> produce the same
          <tt>did7:web7</tt>.
        </t>
      </section>

      <section
        anchor="reversibility"
        numbered="true"
        toc="default">
        <name>Reversibility</name>
        <t>
          The original URN <bcp14>MUST</bcp14> be exactly
          recoverable from the <tt>did7:web7</tt> identifier
          without loss of information. No encoding,
          hashing, or irreversible transformation is
          applied to the URN content.
        </t>
      </section>

      <section
        anchor="infrastructure-independence"
        numbered="true"
        toc="default">
        <name>Infrastructure Independence</name>
        <t>
          Baseline resolution of a <tt>did7:web7</tt>
          identifier <bcp14>MUST NOT</bcp14> require
          access to any centralized registry, distributed
          ledger, or network service. A conformant resolver
          <bcp14>MUST</bcp14> be capable of constructing a
          minimal conformant DID Document entirely from the
          information contained within the DID string
          itself (see Mode 1,
          <xref target="resolution-modes"/>).
        </t>
      </section>
    </section>

    <!-- ===== Section 7: DID Resolution ===== -->
    <section
      anchor="did-resolution"
      numbered="true"
      toc="default">
      <name>DID Resolution</name>

      <section
        anchor="resolution-input"
        numbered="true"
        toc="default">
        <name>Resolution Input</name>
        <t>
          The resolution input is a <tt>did7:web7</tt>
          string conforming to the syntax defined in
          <xref target="syntax"/>, optionally accompanied
          by resolution options as defined in
          <xref target="W3C.DID-RESOLUTION"/>.
        </t>
        <sourcecode
          type="text"
          name="resolution-input-example"><![CDATA[
Input:  did7://web7/<urn>
        ]]></sourcecode>
      </section>

      <section
        anchor="resolution-output"
        numbered="true"
        toc="default">
        <name>Resolution Output</name>
        <t>
          A conforming resolver <bcp14>MUST</bcp14> return
          a DID Document. The minimum conformant DID
          Document for any <tt>did7:web7</tt> identifier is:
        </t>
        <sourcecode
          type="json"
          name="min-did-doc"><![CDATA[
{
  "@context": "https://www.w3.org/ns/did/v1",
  "id": "did7://web7/urn:isbn:9780141036144",
  "alsoKnownAs": [
    "urn:isbn:9780141036144"
  ]
}
        ]]></sourcecode>
        <t>
          The <tt>alsoKnownAs</tt> property
          <bcp14>MUST</bcp14> contain the embedded URN in
          its normalized form (per
          <xref target="normalization"/>).
        </t>
      </section>

      <section
        anchor="resolution-modes"
        numbered="true"
        toc="default">
        <name>Resolution Modes</name>

        <section
          anchor="mode-1-stateless"
          numbered="true"
          toc="default">
          <name>Mode 1 - Stateless Resolution
          (REQUIRED)</name>
          <t>
            A conformant resolver <bcp14>MUST</bcp14>
            support stateless resolution. In this mode
            the resolver constructs the DID Document
            locally from the DID string alone, without
            any external network lookup.
          </t>
          <t>Properties of this mode:</t>
          <ul spacing="normal">
            <li>Fully deterministic.</li>
            <li>Zero infrastructure dependency.</li>
            <li>
              Always available regardless of network
              connectivity.
            </li>
          </ul>
        </section>

        <section
          anchor="mode-2-fingerprint"
          numbered="true"
          toc="default">
          <name>Mode 2 - Deterministic Fingerprint
          (RECOMMENDED)</name>
          <t>
            Resolvers <bcp14>SHOULD</bcp14> support
            derivation of a cryptographic fingerprint
            from the canonical URN. The fingerprint is
            derived as:
          </t>
          <sourcecode
            type="pseudocode"
            name="fingerprint-derivation"><![CDATA[
fingerprint = hash(canonical-urn)
          ]]></sourcecode>
          <t>
            where <tt>canonical-urn</tt> is the normalized
            URN string (UTF-8 encoded) and <tt>hash</tt>
            is a cryptographic hash function registered
            for use with <tt>did:key</tt> (e.g., SHA-256
            with multibase encoding
            <xref
              target="I-D.multiformats-multibase"/>).
            The derived fingerprint
            <bcp14>SHOULD</bcp14> be expressed as a
            <tt>did:key</tt> identifier and added to the
            DID Document as follows:
          </t>
          <sourcecode
            type="json"
            name="equivalent-id-example"><![CDATA[
"equivalentId": [
  "did:key:<multibase-encoded-fingerprint>"
]
          ]]></sourcecode>
        </section>

        <section
          anchor="mode-3-discovery"
          numbered="true"
          toc="default">
          <name>Mode 3 - Discovery-Enhanced Resolution
          (OPTIONAL)</name>
          <t>
            Resolvers <bcp14>MAY</bcp14> perform external
            discovery to supplement the locally
            constructed DID Document. Permitted discovery
            mechanisms include:
          </t>
          <ul spacing="normal">
            <li>
              DNS-based lookup (e.g., using the DNS-SD
              mechanism).
            </li>
            <li>
              HTTPS well-known endpoints (e.g.,
              <tt>/.well-known/did.json</tt>).
            </li>
            <li>
              Content-addressed storage systems
              (e.g., IPFS).
            </li>
          </ul>
          <t>
            Discovery rules <bcp14>SHOULD</bcp14> be
            namespace-aware, such that a resolver for
            <tt>urn:isbn:</tt> DIDs may apply different
            discovery heuristics than one for
            <tt>urn:uuid:</tt> DIDs.
          </t>
          <t>
            When external discovery yields a DID
            Document, that document
            <bcp14>MUST</bcp14> be validated for
            consistency with the locally constructed
            baseline document before being returned to
            the caller. Specifically, the <tt>id</tt>
            and <tt>alsoKnownAs</tt> values
            <bcp14>MUST</bcp14> match the baseline.
          </t>
        </section>
      </section>
    </section>

    <!-- ===== Section 8: DID Document Structure ===== -->
    <section
      anchor="did-document-structure"
      numbered="true"
      toc="default">
      <name>DID Document Structure</name>

      <section
        anchor="base-document"
        numbered="true"
        toc="default">
        <name>Base Document</name>
        <t>
          Every DID Document produced by a
          <tt>did7:web7</tt> resolver
          <bcp14>MUST</bcp14> conform to the following
          template:
        </t>
        <sourcecode
          type="json"
          name="base-did-doc-template"><![CDATA[
{
  "@context": "https://www.w3.org/ns/did/v1",
  "id": "did7://web7/<urn>",
  "alsoKnownAs": ["<urn>"]
}
        ]]></sourcecode>
        <t>
          Where <tt>&lt;urn&gt;</tt> is the normalized
          URN as defined in
          <xref target="normalization"/>.
        </t>
      </section>

      <section
        anchor="optional-properties"
        numbered="true"
        toc="default">
        <name>Optional Properties</name>

        <section
          anchor="verification-methods"
          numbered="true"
          toc="default">
          <name>Verification Methods</name>
          <t>
            A DID Document <bcp14>MAY</bcp14> include
            one or more verification method entries to
            support cryptographic operations associated
            with the identified resource. The following
            is an example using the
            <tt>Ed25519VerificationKey2020</tt> type:
          </t>
          <sourcecode
            type="json"
            name="verification-method-example"><![CDATA[
"verificationMethod": [
  {
    "id": "did7://web7/<urn>#key-1",
    "type": "Ed25519VerificationKey2020",
    "controller": "did7://web7/<urn>",
    "publicKeyMultibase": "z6Mk..."
  }
]
          ]]></sourcecode>
          <t>
            Verification methods
            <bcp14>MUST</bcp14> conform to
            Section&#160;5.2 of
            <xref target="W3C.DID-CORE"/>.
          </t>
        </section>

        <section
          anchor="service-endpoints"
          numbered="true"
          toc="default">
          <name>Service Endpoints</name>
          <t>
            A DID Document <bcp14>MAY</bcp14> include
            service endpoint entries to enable discovery
            of resources or services associated with the
            URN. The following is an illustrative
            example:
          </t>
          <sourcecode
            type="json"
            name="service-endpoint-example"><![CDATA[
"service": [
  {
    "id": "did7://web7/<urn>#resource",
    "type": "URNResourceService",
    "serviceEndpoint":
      "https://example.com/urn/<encoded-urn>"
  }
]
          ]]></sourcecode>
          <t>
            Service endpoints <bcp14>MUST</bcp14>
            conform to Section&#160;5.4 of
            <xref target="W3C.DID-CORE"/>. The
            <tt>type</tt> value
            <bcp14>SHOULD</bcp14> be registered in a
            publicly accessible DID Specification
            Registries entry
            <xref target="W3C.DID-SPEC-REGISTRIES"/>.
          </t>
        </section>

        <section
          anchor="equivalent-identifier"
          numbered="true"
          toc="default">
          <name>Equivalent Identifier</name>
          <t>
            Where Mode&#160;2 resolution
            (<xref target="mode-2-fingerprint"/>) is
            supported, the DID Document
            <bcp14>MAY</bcp14> include an
            <tt>equivalentId</tt> property expressing
            the deterministic fingerprint-derived
            <tt>did:key</tt> as described in
            <xref target="mode-2-fingerprint"/>.
          </t>
        </section>
      </section>
    </section>

    <!-- ===== Section 9: Controller Model ===== -->
    <section
      anchor="controller-model"
      numbered="true"
      toc="default">
      <name>Controller Model</name>

      <section
        anchor="default-behaviour"
        numbered="true"
        toc="default">
        <name>Default Behaviour</name>
        <t>
          A <tt>did7:web7</tt> identifier does not
          inherently assert or imply a controller. In the
          baseline stateless resolution mode (Mode&#160;1),
          the DID Document contains no
          <tt>controller</tt> property. The absence of a
          <tt>controller</tt> property indicates that
          control has not been established through this
          mechanism.
        </t>
      </section>

      <section
        anchor="establishing-control"
        numbered="true"
        toc="default">
        <name>Establishing Control</name>
        <t>
          Control over a <tt>did7:web7</tt> DID Document
          <bcp14>MAY</bcp14> be asserted through any of
          the following mechanisms:
        </t>
        <ul spacing="normal">
          <li>
            Verifiable Credentials
            <xref target="W3C.VC-DATA-MODEL"/> binding
            a controller identity to the URN.
          </li>
          <li>
            Signed DID Documents, where the document is
            signed by a verification method under the
            controller's authority.
          </li>
          <li>
            Namespace authority attestations, where the
            registrant or maintainer of the relevant URN
            namespace asserts controller status.
          </li>
        </ul>
        <t>
          When a controller is established, the
          <tt>controller</tt> property
          <bcp14>MUST</bcp14> be included in the DID
          Document and <bcp14>MUST</bcp14> reference a
          resolvable DID.
        </t>
      </section>
    </section>

    <!-- ===== Section 10: Verification and Trust ===== -->
    <section
      anchor="verification-trust"
      numbered="true"
      toc="default">
      <name>Verification and Trust</name>
      <t>
        The <tt>did7:web7</tt> method does not inherently
        provide authenticity guarantees. A DID Document
        produced by a stateless resolver (Mode&#160;1) is
        constructed locally and carries no cryptographic
        proof of its origin or integrity.
      </t>
      <t>
        Implementations that require trust assurances
        <bcp14>SHOULD</bcp14> layer one or more of the
        following mechanisms on top of the baseline:
      </t>
      <ul spacing="normal">
        <li>
          <strong>Cryptographic proofs:</strong> Attach
          verification methods and associated proofs
          (e.g., JSON-LD Proofs, JOSE signatures) to the
          DID Document as described in
          <xref target="verification-methods"/>.
        </li>
        <li>
          <strong>Third-party attestations:</strong> Bind
          Verifiable Credentials from trusted issuers to
          the URN to assert provenance, authenticity, or
          ownership.
        </li>
        <li>
          <strong>Namespace authority
          validation:</strong> Dereference the URN
          through its canonical namespace registry to
          verify that the identified resource exists and
          that any asserted attributes are consistent.
        </li>
      </ul>
      <t>
        Consumers of <tt>did7:web7</tt> DID Documents
        <bcp14>SHOULD NOT</bcp14> infer trustworthiness
        solely from the presence of the DID; trust
        evaluation <bcp14>MUST</bcp14> take into account
        the verification mechanisms present in the DID
        Document and the verifier's trust policy.
      </t>
    </section>

    <!-- ===== Section 11: CRUD Operations ===== -->
    <section
      anchor="crud-operations"
      numbered="true"
      toc="default">
      <name>CRUD Operations</name>
      <t>
        The <tt>did7:web7</tt> method supports the following
        subset of CRUD operations as defined in
        <xref target="W3C.DID-CORE"/>:
      </t>
      <table align="center">
        <thead>
          <tr>
            <th>Operation</th>
            <th>Status</th>
            <th>Notes</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Create</td>
            <td>Implicit</td>
            <td>
              A URN is created implicitly by forming the
              syntactic transformation of a well-formed
              URN per <xref target="syntax"/>. No
              registration step is required.
            </td>
          </tr>
          <tr>
            <td>Read</td>
            <td>REQUIRED</td>
            <td>
              Resolution <bcp14>MUST</bcp14> be
              supported in at least Mode&#160;1
              (stateless), per
              <xref target="mode-1-stateless"/>.
            </td>
          </tr>
          <tr>
            <td>Update</td>
            <td>NOT SUPPORTED</td>
            <td>
              The baseline stateless method does not
              support document updates. Updates are only
              possible in Mode&#160;3 via an external
              discovery service that supports document
              management.
            </td>
          </tr>
          <tr>
            <td>Deactivate</td>
            <td>NOT SUPPORTED</td>
            <td>
              Deactivation is not supported in the
              baseline method. External service layers
              may implement deactivation semantics
              independently.
            </td>
          </tr>
        </tbody>
      </table>
    </section>

    <!-- ===== Section 12: Interoperability ===== -->
    <section
      anchor="interoperability"
      numbered="true"
      toc="default">
      <name>Interoperability</name>

      <section
        anchor="interop-urn"
        numbered="true"
        toc="default">
        <name>With URN Systems</name>
        <t>
          The <tt>did7:web7</tt> method is fully backward
          compatible with existing URN infrastructure.
          The embedded URN is preserved verbatim (after
          normalization) within the DID string, and no
          changes to existing URN registries, resolvers,
          or applications are required.
        </t>
        <t>
          The <tt>alsoKnownAs</tt> property in the DID
          Document ensures that a <tt>did7:web7</tt> DID
          can always be mapped back to its source URN,
          enabling interoperability with legacy systems
          that do not support DID resolution.
        </t>
      </section>

      <section
        anchor="interop-did"
        numbered="true"
        toc="default">
        <name>With the DID Ecosystem</name>
        <t>
          The <tt>did7:web7</tt> method is compatible with
          the W3C DID Core specification
          <xref target="W3C.DID-CORE"/> and the DID
          Resolution specification
          <xref target="W3C.DID-RESOLUTION"/>. It is
          composable with the following DID methods:
        </t>
        <ul spacing="normal">
          <li>
            <tt>did:key</tt> - via the deterministic
            fingerprint mechanism
            (<xref target="mode-2-fingerprint"/>).
          </li>
          <li>
            <tt>did:web</tt> - a <tt>did7:web7</tt> DID
            Document <bcp14>MAY</bcp14> reference a
            <tt>did:web</tt> service endpoint for
            resource discovery.
          </li>
          <li>
            <tt>did:peer</tt> - pairwise
            <tt>did:peer</tt> identifiers
            <bcp14>MAY</bcp14> be used in conjunction
            with <tt>did7:web7</tt> to reduce correlation
            in privacy-sensitive contexts (see
            <xref target="privacy-mitigations"/>).
          </li>
        </ul>
        <t>
          Implementations <bcp14>MAY</bcp14> register
          additional DID method compositions in a
          publicly accessible DID Method Registry.
        </t>
      </section>
    </section>

    <!-- ===== Section 13: Design Rationale ===== -->
    <section
      anchor="design-rationale"
      numbered="true"
      toc="default">
      <name>Design Rationale</name>
      <t>
        The following design decisions underpin the
        <tt>did7:web7</tt> specification.
      </t>
      <t>
        <strong>Deterministic mapping:</strong> Aligning
        with the broader principle that DID methods
        <bcp14>SHOULD</bcp14> be deterministic where
        possible, the syntactic transformation from URN
        to URN requires no external state and produces
        stable, reproducible identifiers.
      </t>
      <t>
        <strong>Use of <tt>alsoKnownAs</tt>:</strong>
        The <tt>alsoKnownAs</tt> property from
        <xref target="W3C.DID-CORE"/> is used rather
        than a custom extension to ensure semantic
        preservation while remaining fully conformant
        with the core specification.
      </t>
      <t>
        <strong>Stateless baseline:</strong> Requiring
        only syntactic processing for baseline resolution
        maximises portability and eliminates single
        points of failure that would arise from mandatory
        registry dependencies.
      </t>
      <t>
        <strong>Acknowledged trade-offs:</strong> The
        method does not include a built-in trust layer or
        lifecycle operations (Update/Deactivate) at the
        baseline level. These capabilities are
        intentionally delegated to optional layers
        (Modes 2 and 3, and the controller model of
        <xref target="controller-model"/>) so that
        implementations may adopt only the complexity
        they require.
      </t>
    </section>

    <!-- ===== Section 14: Privacy Considerations ===== -->
    <section
      anchor="privacy-considerations"
      numbered="true"
      toc="default">
      <name>Privacy Considerations</name>

      <section
        anchor="privacy-correlation"
        numbered="true"
        toc="default">
        <name>Correlation Risks</name>
        <t>
          The deterministic mapping from URN to URN means
          that any party who observes a <tt>did7:web7</tt>
          identifier can immediately recover the
          underlying URN. Where the URN encodes personally
          identifiable information (e.g., a personal UUID
          or a registry identifier linked to an
          individual), this creates a direct correlation
          vector.
        </t>
        <t>
          Additionally, because the transformation is
          deterministic and publicly known, two parties
          who independently resolve the same URN will
          arrive at the same URN, enabling linkage across
          otherwise unrelated contexts.
        </t>
      </section>

      <section
        anchor="privacy-mitigations"
        numbered="true"
        toc="default">
        <name>Mitigations</name>
        <t>
          Implementers handling sensitive or personal
          identifiers <bcp14>SHOULD</bcp14> consider the
          following mitigations:
        </t>
        <ul spacing="normal">
          <li>
            <strong>Pairwise DIDs:</strong> Use pairwise
            <tt>did:peer</tt> identifiers in contexts
            where individual interaction tracking is a
            concern, rather than exposing the
            <tt>did7:web7</tt> identifier directly.
          </li>
          <li>
            <strong>Avoid sensitive URNs:</strong>
            Refrain from forming <tt>did7:web7</tt>
            identifiers from URNs that encode sensitive
            personal data in public or semi-public
            contexts.
          </li>
          <li>
            <strong>Selective disclosure:</strong> Where
            verification is required, use Verifiable
            Presentations with selective disclosure
            rather than directly sharing the
            <tt>did7:web7</tt> identifier.
          </li>
        </ul>
        <t>
          This document does not address the privacy
          properties of the underlying URN namespaces;
          implementers <bcp14>MUST</bcp14> consult the
          privacy considerations of the applicable
          namespace registration before using that
          namespace in a <tt>did7:web7</tt> context.
        </t>
      </section>
    </section>

    <!-- ===== Section 15: Security Considerations ===== -->
    <section
      anchor="security-considerations"
      numbered="true"
      toc="default">
      <name>Security Considerations</name>

      <section
        anchor="security-limitations"
        numbered="true"
        toc="default">
        <name>Limitations</name>
        <t>
          The baseline <tt>did7:web7</tt> method
          (Mode&#160;1) provides no inherent
          proof-of-control. Any party can construct a
          syntactically valid <tt>did7:web7</tt> DID from
          any well-formed URN without demonstrating
          authority over the named resource. This is an
          intentional consequence of the
          zero-infrastructure design; however, it means
          that a <tt>did7:web7</tt> DID alone cannot be
          used to assert ownership or authority.
        </t>
        <t>
          In Mode&#160;3 (Discovery-Enhanced), resolvers
          that accept DID Documents from external
          services are susceptible to spoofed or tampered
          service endpoints. A malicious service could
          return a crafted DID Document containing false
          verification methods or service endpoints.
        </t>
      </section>

      <section
        anchor="security-recommendations"
        numbered="true"
        toc="default">
        <name>Recommendations</name>
        <t>
          To mitigate the limitations identified above,
          implementations <bcp14>SHOULD</bcp14> apply
          the following measures:
        </t>
        <ul spacing="normal">
          <li>
            <strong>Signed metadata:</strong> Require
            that DID Documents obtained via Mode&#160;3
            discovery carry a valid cryptographic proof
            (e.g., a JSON-LD Data Integrity Proof)
            before accepting them as authoritative.
          </li>
          <li>
            <strong>Verifiable Credentials for
            binding:</strong> Use Verifiable Credentials
            <xref target="W3C.VC-DATA-MODEL"/> issued
            by a trusted authority to bind the URN to a
            controller identity, rather than relying
            solely on the DID Document structure.
          </li>
          <li>
            <strong>TLS for discovery
            endpoints:</strong> All HTTPS endpoints
            used in Mode&#160;3 discovery
            <bcp14>MUST</bcp14> be protected with
            TLS&#160;1.2 or higher
            <xref target="RFC8446"/> and
            <bcp14>SHOULD</bcp14> use certificate
            transparency.
          </li>
          <li>
            <strong>Input validation:</strong> Resolvers
            <bcp14>MUST</bcp14> validate the embedded
            URN against the ABNF grammar of
            <xref target="RFC8141"/> before performing
            any resolution activity.
          </li>
        </ul>
      </section>
    </section>

    <!-- ===== Section 16: IANA Considerations ===== -->
    <section
      anchor="iana-considerations"
      numbered="true"
      toc="default">
      <name>IANA Considerations</name>
      <t>
        This document requests registration of the
        following DID method name in the W3C DID
        Specification Registries
        <xref target="W3C.DID-SPEC-REGISTRIES"/>:
      </t>
      <table align="center">
        <thead>
          <tr><th>Field</th><th>Value</th></tr>
        </thead>
        <tbody>
          <tr>
            <td>Method Name</td>
            <td><tt>urn</tt></td>
          </tr>
          <tr>
            <td>Status</td>
            <td>provisional</td>
          </tr>
          <tr>
            <td>Specification</td>
            <td>This document</td>
          </tr>
          <tr>
            <td>Contact</td>
            <td>See Author's Address</td>
          </tr>
        </tbody>
      </table>
      <t>
        This document has no other IANA actions.
      </t>
    </section>

  </middle>

  <!-- ========================================================
       BACK MATTER
       ======================================================== -->
  <back>

    <references>
      <name>References</name>

      <references anchor="normative-references">
        <name>Normative References</name>

        <reference
          anchor="RFC2119"
          target=
          "https://www.rfc-editor.org/rfc/rfc2119">
          <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"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo
            name="DOI"
            value="10.17487/RFC2119"/>
        </reference>

        <reference
          anchor="RFC3986"
          target=
          "https://www.rfc-editor.org/rfc/rfc3986">
          <front>
            <title>
              Uniform Resource Identifier (URI):
              Generic Syntax
            </title>
            <author
              fullname="T. Berners-Lee"
              initials="T."
              surname="Berners-Lee"/>
            <author
              fullname="R. Fielding"
              initials="R."
              surname="Fielding"/>
            <author
              fullname="L. Masinter"
              initials="L."
              surname="Masinter"/>
            <date month="January" year="2005"/>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo
            name="DOI"
            value="10.17487/RFC3986"/>
        </reference>

        <reference
          anchor="RFC5234"
          target=
          "https://www.rfc-editor.org/rfc/rfc5234">
          <front>
            <title>
              Augmented BNF for Syntax Specifications:
              ABNF
            </title>
            <author
              fullname="D. Crocker"
              initials="D."
              surname="Crocker"/>
            <author
              fullname="P. Overell"
              initials="P."
              surname="Overell"/>
            <date month="January" year="2008"/>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo
            name="DOI"
            value="10.17487/RFC5234"/>
        </reference>

        <reference
          anchor="RFC8141"
          target=
          "https://www.rfc-editor.org/rfc/rfc8141">
          <front>
            <title>
              Uniform Resource Names (URNs)
            </title>
            <author
              fullname="P. Saint-Andre"
              initials="P."
              surname="Saint-Andre"/>
            <author
              fullname="J. Klensin"
              initials="J."
              surname="Klensin"/>
            <date month="April" year="2017"/>
          </front>
          <seriesInfo name="RFC" value="8141"/>
          <seriesInfo
            name="DOI"
            value="10.17487/RFC8141"/>
        </reference>

        <reference
          anchor="RFC8174"
          target=
          "https://www.rfc-editor.org/rfc/rfc8174">
          <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"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo
            name="DOI"
            value="10.17487/RFC8174"/>
        </reference>

        <reference
          anchor="RFC8446"
          target=
          "https://www.rfc-editor.org/rfc/rfc8446">
          <front>
            <title>
              The Transport Layer Security (TLS)
              Protocol Version 1.3
            </title>
            <author
              fullname="E. Rescorla"
              initials="E."
              surname="Rescorla"/>
            <date month="August" year="2018"/>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo
            name="DOI"
            value="10.17487/RFC8446"/>
        </reference>

        <reference
          anchor="W3C.DID-CORE"
          target="https://www.w3.org/TR/did-core/">
          <front>
            <title>
              Decentralized Identifiers (DIDs) v1.0
            </title>
            <author
              fullname="Manu Sporny"
              initials="M."
              surname="Sporny"/>
            <author
              fullname="Amy Guy"
              initials="A."
              surname="Guy"/>
            <author
              fullname="Markus Sabadello"
              initials="M."
              surname="Sabadello"/>
            <author
              fullname="Drummond Reed"
              initials="D."
              surname="Reed"/>
            <date month="July" year="2022"/>
          </front>
          <refcontent>W3C Recommendation</refcontent>
        </reference>

        <reference
          anchor="W3C.DID-RESOLUTION"
          target=
          "https://w3c-ccg.github.io/did-resolution/">
          <front>
            <title>
              Decentralized Identifier Resolution
              (DID Resolution) v0.3
            </title>
            <author
              fullname="Markus Sabadello"
              initials="M."
              surname="Sabadello"/>
            <date year="2023"/>
          </front>
          <refcontent>
            W3C Working Group Note
          </refcontent>
        </reference>

      </references>

      <references anchor="informative-references">
        <name>Informative References</name>

        <reference
          anchor="W3C.DID-SPEC-REGISTRIES"
          target=
          "https://www.w3.org/TR/did-spec-registries/">
          <front>
            <title>
              DID Specification Registries
            </title>
            <author
              fullname="Manu Sporny"
              initials="M."
              surname="Sporny"/>
            <author
              fullname="Orie Steele"
              initials="O."
              surname="Steele"/>
            <date year="2023"/>
          </front>
          <refcontent>
            W3C Working Group Note
          </refcontent>
        </reference>

        <reference
          anchor="I-D.multiformats-multibase"
          target="https://datatracker.ietf.org/doc/
draft-multiformats-multibase/">
          <front>
            <title>The Multibase Data Format</title>
            <author
              fullname="Manu Sporny"
              initials="M."
              surname="Sporny"/>
            <date year="2023"/>
          </front>
          <seriesInfo
            name="Internet-Draft"
            value="draft-multiformats-multibase"/>
        </reference>

        <reference
          anchor="W3C.VC-DATA-MODEL"
          target=
          "https://www.w3.org/TR/vc-data-model-2.0/">
          <front>
            <title>
              Verifiable Credentials Data Model v2.0
            </title>
            <author
              fullname="Manu Sporny"
              initials="M."
              surname="Sporny"/>
            <author
              fullname="Dave Longley"
              initials="D."
              surname="Longley"/>
            <author
              fullname="David Chadwick"
              initials="D."
              surname="Chadwick"/>
            <date year="2024"/>
          </front>
          <refcontent>
            W3C Candidate Recommendation
          </refcontent>
        </reference>

        <reference
          anchor="WEB70-URN"
          target="https://hyperonomy.com/2026/03/24/
sdo-web-7-0-decentralized-resource-name-urn-did-method/">
          <front>
            <title>
              SDO: W3C Decentralized Universal Resource Name
              (URN) DID Method (Web 7.0)
            </title>
            <author
              fullname="Michael Herman"
              initials="M."
              surname="Herman">
              <organization>
                Web 7.0 Foundation
              </organization>
            </author>
            <date month="March" year="2026"/>
          </front>
          <refcontent>
            Licensed under Creative Commons
            Attribution-ShareAlike 4.0 International
            Public License
          </refcontent>
        </reference>

      </references>
    </references>

    <!-- ===== Appendix A ===== -->
    <section
      anchor="appendix-complete-example"
      numbered="true"
      toc="default">
      <name>Complete Example</name>
      <t>
        This appendix illustrates a complete
        <tt>did7:web7</tt> resolution using an ISBN URN as
        input, with Mode&#160;2 (fingerprint) and a
        service endpoint included.
      </t>
      <t><strong>Source URN:</strong></t>
      <sourcecode
        type="text"
        name="example-source-urn"><![CDATA[
urn:isbn:9780141036144
      ]]></sourcecode>
      <t><strong>Derived URN DID:</strong></t>
      <sourcecode
        type="text"
        name="example-urn-did"><![CDATA[
did7://web7/urn:isbn:9780141036144
      ]]></sourcecode>
      <t>
        <strong>Resolved DID Document (Modes 1 + 2 +
        service endpoint):</strong>
      </t>
      <sourcecode
        type="json"
        name="example-resolved-did-doc"><![CDATA[
{
  "@context": "https://www.w3.org/ns/did/v1",
  "id": "did7://web7/urn:isbn:9780141036144",
  "alsoKnownAs": [
    "urn:isbn:9780141036144"
  ],
  "equivalentId": [
    "did:key:zQm..."
  ],
  "service": [
    {
      "id": "did7://web7/urn:isbn:9780141036144#info",
      "type": "BookMetadata",
      "serviceEndpoint":
        "https://example.org/isbn/9780141036144"
    }
  ]
}
      ]]></sourcecode>
    </section>

    <!-- ===== Acknowledgements ===== -->
    <section
      anchor="acknowledgements"
      numbered="false"
      toc="default">
      <name>Acknowledgements</name>
      <t>
        The author thanks the members of the W3C
        Decentralized Identifier Working Group and the
        broader DID community for their foundational work
        on the DID Core specification, and the IETF URN
        community for their long-standing stewardship of
        URN namespaces.
      </t>
    </section>

  </back>

</rfc>