| Internet-Draft | rttp and iqa URI Schemes | September 2026 |
| Li | Expires 28 March 2027 | [Page] |
This document specifies two companion URI schemes built on one shared addressing model, in which the address of a subject is derived by computation from the authority and no lookup service, registry, or name-resolution system is consulted when the URI is used. The "rttp" scheme names a claim of intent directed at an identified subject; the "iqa" scheme names the attestation standing of an identified subject, as reported by one of three named organs, and carries no proof and no credential. The two are deliberately paired: intent addressing carries what is claimed, attestation carries whether the claimant is verified.¶
Both schemes parse fail-closed, and the document states the requirements a client MUST satisfy when it handles such URIs, to avoid the failure modes that short, user-embeddable strings invite: using the authority as a navigation target (open redirect), using a registered handler as a general-purpose launcher, and, for "iqa", a parse that looks like a certification.¶
This document is not an Internet Standard. It is an Informational specification of two experimental addressing schemes, published for the public record.¶
This document is not on the Internet Standards Track. It is not a standard, does not propose a standard, and acquires no standardisation status from publication. The two URI schemes it defines are experimental addressing schemes. As IANA URI schemes, "rttp" holds CRI scheme number 27 and "iqa" is in expert review. The registration status of both schemes is recorded in Section 9.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 28 March 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
Most URI schemes name a location: the authority identifies a host to be contacted. This document specifies two schemes that name something else. The "rttp" scheme names a claim of intent directed at an identified subject. The "iqa" scheme names the attestation standing of an identified subject, as reported by a named organ. In both cases, what a client does with what the URI names is defined by the scheme; where the subject might be reached is not part of the URI and is not resolved through any lookup service.¶
The two schemes share one addressing model and are deliberately paired: intent addressing carries what is claimed, attestation carries whether the claimant is verified. Implementations and deployments should treat them as one model rather than as two unrelated namespaces.¶
Four properties follow from the shared model and are normative in this document:¶
Naming note. IQA denotes Identity Quality Assurance. It is not affiliated with the Institute of Quality Assurance (which became the Chartered Quality Institute in 2007), nor is it the computer-vision field of Image Quality Assessment. RTTP denotes Resonant Time Transfer Protocol. It is not RTP: what it names is a claim, not a session or a data stream.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This document uses the ABNF notation of [RFC5234] and the URI syntax of [RFC3986].¶
Terminology:¶
Both schemes defined in this document instantiate one addressing model, whose four properties are stated in Section 1 and made normative per scheme in Sections 4 and 5: the address is derived by computation rather than assigned; every segment of an authority is a name, never a host; a URI is a claim, never a proof; and both schemes fail closed.¶
The model is deliberately minimal: no discovery mechanism, no transport, no key directory, no authorisation decision, and no registry of any kind is defined. What is defined is the grammar, the derivation, and the minimum client behaviour that make the two schemes safe to embed.¶
The general form of an rttp URI is:¶
rttp://<intent>.<pillar>.<root>[/<action>]¶
The authority is exactly three dot-separated segments:¶
The action, when present, is a single path segment: "/" 1*( %x61-7A / DIGIT / "-" ).¶
ABNF:¶
rttp-URI = "rttp://" authority [ "/" action ] authority = intent "." pillar "." root intent = hash-intent / name-intent hash-intent = 8 lowhex name-intent = 1*( %x61-7A / DIGIT / "-" ) pillar = 1*( %x61-7A / DIGIT / "-" ) root = 1*( %x61-7A / DIGIT / "-" ) action = 1*( %x61-7A / DIGIT / "-" ) lowhex = %x30-39 / %x61-66¶
The examples below use reserved names per [RFC2606]; operators use labels they control:¶
rttp://f3b2a1c4.pillar.example/vessel rttp://organ.pillar.example/verify rttp://f3b2a1c4.pillar.example¶
These exclusions apply to both schemes. Section 5.2 adds the ones specific to "iqa".¶
Dereferencing an rttp URI without an action requests the default operation: one single round-trip semantic request against the subject named by the authority.¶
The default operation is safe in the sense of Section 9.2.1 of [RFC9110]: it creates no obligations and mutates no state of the subject.¶
When an action is present, the default operation is not implied for it. An action names what is claimed to be intended; the safety of a given action is not defined by this document, and a client MUST NOT infer safety from this section (Section 6).¶
The routing address of an rttp URI is derived from the authority alone:¶
canonical_authority = intent "." pillar "." root
(lowercase, US-ASCII)
ROUTE_SHARD = SHA-256(ASCII(canonical_authority))[0:16]
¶
The authority only: the scheme name, "//" and any action are excluded.¶
The derived address has four properties: it is deterministic (the same authority always yields the same address); it is pure computation (no DNS, no registry, no network access, no lookup service); it is one-way (the authority cannot be recovered from the address); and it is action-independent (different actions on one authority yield the same address).¶
The last property is why an action is not part of the addressing component: an address is where, not what. Were the action to participate in derivation, two actions on one subject would become two addresses, splitting one subject into several.¶
A client MUST NOT perform a lookup in order to use an rttp URI (Section 4.5).¶
A client that handles an rttp or iqa URI (including a resolver page, a protocol handler, and a library that renders one) MUST satisfy the requirements below. They follow from Section 6:¶
either URI may be supplied by an untrusted party, and what it names is a claim rather than a proof. Section 5.5 adds the one requirement specific to "iqa".¶
A client MUST NOT use any component of an rttp or iqa URI as a navigation target. A client that renders a link, redirect, or fetch derived from any such URI is an open redirect and is non-conformant; a client MAY navigate only to a destination that is fixed in advance by the client itself.¶
A protocol handler MUST reject any input whose scheme is neither rttp nor iqa nor the exact scheme name under which that handler was itself registered; without this check it becomes a general-purpose launcher that any page can use to open an arbitrary URI of any scheme.¶
The ability to handle rttp or iqa URIs MUST NOT be acquired without an explicit action by the user, and a client MUST NOT simulate, pre-select, or otherwise bypass that consent. Where the platform exposes the list of registered handlers, that list MUST NOT be exposed to the network.¶
The general form of an iqa URI is:¶
iqa://<subject>.<organ>.<root>[/<action>]¶
The authority comprises exactly three dot-separated segments, in this order:¶
The action, when present, is a single path segment and is one of the four operation names verify, audit, attest or revoke. This is also a closed set.¶
ABNF:¶
iqa-URI = "iqa://" iqa-authority [ "/" iqa-action ] iqa-authority = subject "." organ "." iqa-root subject = hash-subject / name-subject hash-subject = 8( iqa-lowhex ) / 32( iqa-lowhex ) / 64( iqa-lowhex ) name-subject = 1*( %x61-7A / DIGIT / "-" ) organ = "forge" / "tss" / "gateway" iqa-root = 1*( %x61-7A / DIGIT / "-" ) iqa-action = "verify" / "audit" / "attest" / "revoke" iqa-lowhex = DIGIT / %x61-66¶
Examples (the examples use the root label of this specification and placeholder subjects):¶
iqa://3f9a1b2c.gateway.iqa (routing hash, standing read) iqa://0000004149434e531c5b21d80403358b.forge.iqa iqa://3f9a1b2c.tss.iqa/audit (explicit fidelity audit) iqa://master-authority.gateway.iqa/verify (readable label form)¶
The exclusions of Section 4.2 apply to iqa URIs as they do to rttp URIs. Two are specific to this scheme:¶
Dereferencing an iqa URI without an action requests the default operation: a standing read, returning the subject's current attestation answer as reported by the named organ.¶
The default operation is safe in the sense of Section 9.2.1 of [RFC9110]: it creates no obligation, transfers no value, and mutates no state.¶
The following rule is normative:¶
Dereferencing an iqa URI, by itself, MUST NOT transition any subject's standing state.¶
When an action is present, the default operation is not implied for it. Which actions are safe is stated in Section 5.4; a client MUST NOT infer safety for an unrecognised verb (Section 6).¶
The four defined actions, and the omitted-action form, have the following classes:¶
audit is not classified safe because the measurement it requests can itself change the outcome it measures. audit, attest and revoke MUST be requested explicitly and MUST NOT be reachable by dereferencing a URI that omits the action.¶
| Action | Semantics | Class |
|---|---|---|
| (omitted) | Read the current standing. | SAFE, read-only |
| verify | Compare a presented seal against the subject. No state is written. | SAFE, read-only comparison |
| audit | Request a fidelity measurement of the subject's execution. | NOT SAFE, a failed measurement may change standing |
| attest | Request that a seal be issued for the subject. | NOT SAFE, state transition |
| revoke | Withdraw the subject's standing. | NOT SAFE, state transition |
The client requirements of Section 4.5 apply to iqa URIs as they do to rttp URIs: no navigation to the URI, a scheme prefix check, and consent that is never silent. One requirement is specific to this scheme.¶
A client that displays a parsed or rendered iqa URI MUST NOT present the result as evidence of standing. Reading the syntax establishes nothing about any subject; standing is established only by the answer of the named organ, under the rules of the reference specification [IQA-SPEC].¶
The security properties of the two schemes share one foundation, and the following statements apply to both of them.¶
The scheme-specific considerations follow.¶
The privacy properties of the two schemes share one foundation: no component is defined for a query string, so neither scheme offers a channel for a page to smuggle unrelated data into a request, and using a URI of either scheme does not by itself cause network traffic to a third party; the authority is a stable pseudonym, expected to be logged, quoted and rendered, and readable labels are a naming choice rather than a scheme property.¶
A client that renders such a URI SHOULD avoid prefetching, handing the string to third-party services, or otherwise distributing it beyond what the user's action requires.¶
For "iqa", citing a URI also discloses which subject is of interest; the disclosure considerations of Section 6.2 apply.¶
The canonical form of a URI in either scheme is lowercase US-ASCII, and no international form is defined: a client MUST NOT map a Unicode label to its ASCII form (for example, by case folding or by applying an IDNA-style transformation) in order to accept it, and MUST NOT render such a URI as an IRI. This is deliberate: with no host to resolve there is no need for a label-to-ASCII transformation, and permitting one would introduce a second way to write one address.¶
IANA is requested to register the two URI schemes below, "rttp" and "iqa", in the "Uniform Resource Identifier (URI) Schemes" registry, following the template of Section 7.4 of [RFC7595] and the guidance of [RFC8126]. The templates below are complete. If this document is approved for publication as an RFC, IANA is requested to point both registry entries at that RFC.¶
Scheme name: rttp¶
Status: Provisional¶
Applications/protocols that use this scheme name: URIs of this scheme name a claim of intent directed at an identified subject. Applications include intent-addressed requests between autonomous software agents and the client-side handling of such URIs by protocol handlers in browsers and operating systems. The scheme defines addressing only; it does not define a transport or a discovery mechanism.¶
Contact: ShaoBao Li <mailto:lee@rttp.com>¶
Change controller: RTTP.COM Organization¶
References: This document, and AICENT-002, "the rttp URI scheme", <https://rttp.com/URI/>.¶
Registered with CRI scheme number 27.¶
Scheme name: iqa¶
Status: Provisional¶
Applications/protocols that use this scheme name:¶
Subject-attestation references: an iqa URI names the attestation standing of a subject as reported by one of three named authority organs, without carrying the underlying cryptographic proof. It is used by the reference implementations and by tools that cite an attestation in a document, a configuration file or a log. The scheme defines addressing and client behaviour only; it does not define a transport, a discovery mechanism, or the attestation algorithm.¶
Contact: ShaoBao Li <mailto:lee@iqa.org>¶
Change controller: IQA.ORG Organization¶
References: This document, and AICENT-009, "Identity Quality Assurance, the iqa URI scheme specification", <https://iqa.org/URI/>.¶
Submitted for registration; the scheme name is approved and the CRI number is in expert review.¶
The author thanks those who commented on earlier revisions of this document for their attention to the client-behaviour requirements, which are the part of this specification most likely to be misimplemented.¶