Authority Documents and Scoped Authority for Agent-Action Evidence
draft-schrock-ep-authority-introduction-03
This document is an Internet-Draft (I-D).
Anyone may submit an I-D to the IETF.
This I-D is not endorsed by the IETF and has no formal standing in the
IETF standards process.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Author | Iman Schrock | ||
| Last updated | 2026-08-04 | ||
| RFC stream | (None) | ||
| Intended RFC status | (None) | ||
| Formats | |||
| Additional resources |
GitHub Repository
Additional Web Page |
||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-schrock-ep-authority-introduction-03
Network Working Group I. Schrock
Internet-Draft EMILIA Protocol, Inc.
Intended status: Informational 4 August 2026
Expires: 5 February 2027
Authority Documents and Scoped Authority for Agent-Action Evidence
draft-schrock-ep-authority-introduction-03
Abstract
Signature verification answers whether a key produced an artifact.
It does not answer why a relying party accepts that key, or whether
the key holder had authority for the action. This document specifies
two composable artifacts. An Authority Document introduces and
rotates an organization's evidence-issuing keys through a signed,
hash-chained sequence. A Scoped Authority Proof records the
authority held by a subject at a registry snapshot, including role,
action scope, material limits, policy binding, validity, and
revocation status. A relying party evaluates both artifacts under
its own pinned trust inputs and policy. The design does not make a
self-presented key authoritative, does not turn log inclusion or
domain control into automatic trust, and does not equate a valid
signature with permission to act. It also defines a source-
resolution boundary: signing a statement does not give its underlying
source data finer freshness or precision than that source actually
provides.
Status of This Memo
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 5 February 2027.
Schrock Expires 5 February 2027 [Page 1]
Internet-Draft Authority Introduction August 2026
Copyright Notice
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. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. The Authority Document (EP-AUTHORITY-DOC-v1) . . . . . . . . 3
3. Scoped Authority Proof (EP-AUTHORITY-PROOF-v1) . . . . . . . 4
4. Source Resolution and Claim Precision . . . . . . . . . . . . 5
5. Authority Document to Authority Proof Trust Join . . . . . . 6
6. Authority Evaluation . . . . . . . . . . . . . . . . . . . . 8
7. Separation of Duties and Quorum . . . . . . . . . . . . . . . 9
8. Rotation, Continuity, and Time-of-Issuance . . . . . . . . . 9
9. Anti-Equivocation . . . . . . . . . . . . . . . . . . . . . . 10
10. Introduction as Evidence: Graded, Replayable Acceptance . . . 10
11. Compromise Recovery . . . . . . . . . . . . . . . . . . . . . 10
12. Security Considerations . . . . . . . . . . . . . . . . . . . 11
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
14.1. Normative References . . . . . . . . . . . . . . . . . . 11
14.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Implementation Status . . . . . . . . . . . . . . . 13
Appendix B. Changes since -02 . . . . . . . . . . . . . . . . . 14
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction
This document follows the distinction between VERIFIED and ACCEPTED.
Verification establishes cryptographic and structural facts given a
key. Acceptance is a relying-party decision about which keys,
issuers, authority sources, and policies are admissible. Existing
systems use certificates, federation metadata, trust bundles,
transparency services, and deployment configuration for portions of
that decision. Agent-action evidence profiles still need a concrete
way to bind those trust inputs to the issuer key and to the human
authority being relied upon.
Schrock Expires 5 February 2027 [Page 2]
Internet-Draft Authority Introduction August 2026
The design is deliberately not a universal public-key infrastructure.
The relying party selects its trust anchors and acceptance policy.
Domain control, log inclusion, and endorsement are evidence inputs,
not authority by themselves. The goal is a reproducible answer to
two narrower questions: which evidence key was valid at issuance, and
what scoped authority did the approving subject hold for the exact
action under review?
1.1. Terminology
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.
2. The Authority Document (EP-AUTHORITY-DOC-v1)
An authority document is a JSON object, served from the
organization's own origin (RECOMMENDED: /.well-known/ep-
authority.json) and registrable to a transparency service:
{
"@version": "EP-AUTHORITY-DOC-v1",
"org": { "id": "org1", "name": "...", "domain": "acme.example" },
"seq": 3,
"prev_doc_digest": "sha256:<core digest of doc seq 2>",
"root_key": "<b64url SPKI>",
"issuer_keys": [
{ "kid": "ep:authority-issuer-key:sha256:<64-hex>",
"registry_issuer_id": "ep:authority-registry:acme-payments",
"key": "<b64url SPKI>",
"usages": ["evidence_issuer", "authority_proof_issuer"],
"valid_from": "...", "valid_to": "...",
"revoked_at": "<OPTIONAL>" }
],
"issued_at": "...",
"sig": "<root_key over the canonical core>",
"continuity_sig": "<by a key from the PREVIOUS doc>",
"endorsements": [ { "by_org": "...", "by_key": "...",
"doc_digest": "...", "sig": "..." } ]
}
The signed core is the document without sig, continuity_sig, and
endorsements; its canonical digest is the document's identity.
Endorsements are countersignatures over that digest by OTHER
authorities -- third-party attestations that ride with the document
without being part of it.
Schrock Expires 5 February 2027 [Page 3]
Internet-Draft Authority Introduction August 2026
3. Scoped Authority Proof (EP-AUTHORITY-PROOF-v1)
An accepted issuer key with the authority_proof_issuer usage MAY sign
a snapshot of one subject's authority. The proof records what the
authority source asserted at issuance; it does not grant authority
merely because it is carried with an action.
{
"@type": "EP-AUTHORITY-PROOF-v1",
"authority_id": "auth_cfo",
"subject": "ep:approver:ada",
"organization_id": "org1",
"registry_issuer_id": "ep:authority-registry:acme-payments",
"authority_document": {
"head_digest": "sha256:<document core digest>",
"head_seq": 3,
"issuer_kid": "ep:authority-issuer-key:sha256:<64-hex>"
},
"role": "cfo",
"scope": ["payment.release"],
"limits": { "max_amount_usd": 50000, "currency": "USD" },
"validity": {
"from": "2026-01-01T00:00:00Z",
"to": "2027-01-01T00:00:00Z"
},
"revocation": {
"status": "not_revoked",
"checked_at": "2026-07-14T16:00:00Z"
},
"registry_head": "sha256:<snapshot digest>",
"registry_epoch": 17,
"policy_hash": "sha256:<applicable policy digest>",
"issued_at": "2026-07-14T16:00:00Z",
"signature": {
"algorithm": "Ed25519",
"key_id": "ep:authority-registry-key:sha256:<64-hex>",
"public_key": "<b64url SPKI>",
"proof_digest": "sha256:<signed-body digest>",
"signature_b64u": "<signature>"
}
}
Schrock Expires 5 February 2027 [Page 4]
Internet-Draft Authority Introduction August 2026
The signed body is the proof without the signature member, domain-
separated with the ASCII string "EP-AUTHORITY-PROOF-v1" followed by a
zero octet, and canonicalized using JCS [RFC8785]. The public key
carried in the signature envelope is a verification input only. It
MUST NOT establish its own authority. A relying party MUST resolve
it through an accepted Authority Document or match it to an
independently pinned authority issuer key.
authority_id identifies the scoped authority GRANT.
registry_issuer_id identifies the registry issuer. registry_head and
registry_epoch identify the authority-registry SNAPSHOT. The
authority_document object identifies the Authority Document and full
issuer-key identifier used to introduce the signer. These
identifiers name different objects and MUST NOT be substituted for
one another.
The max_amount_usd field is the implemented v1 monetary limit. It
permits no currency conversion: a proof denominated in USD MUST NOT
satisfy a limit check for another currency. Profiles that need other
monetary representations MUST define their canonical amount and
comparison rules rather than relying on floating-point currency
conversion.
4. Source Resolution and Claim Precision
A signature authenticates a statement by its signer. It does not
establish that every upstream fact used to construct that statement
was observed at the signature time, or that an upstream record
supports the same temporal or semantic precision as the signed
statement. This is especially important for role, employment,
entitlement, delegation, and revocation data that may be synchronized
from another system.
Implementations and profiles MUST distinguish, when applicable, the
following instants:
* the effective time asserted by the underlying authority record;
* the time at which the authority source was actually observed;
* the time at which the portable proof was issued; and
* the time at which the relying party evaluates the proof.
Schrock Expires 5 February 2027 [Page 5]
Internet-Draft Authority Introduction August 2026
Issuing or re-signing a proof MUST NOT move the source observation
time forward. In particular, a producer MUST NOT set
revocation.checked_at to issued_at unless the named revocation source
was actually checked at that instant. If no revocation observation
was made, the implementation MUST represent that absence and MUST NOT
synthesize not_revoked.
A profile that relies on a fact derived from an upstream source MUST
state the source or source class, the maximum accepted observation
age, and any coarser resolution or synchronization bound that affects
the claim. A signed assertion MUST NOT claim finer resolution than
the underlying source record supports. For example, a proof issued
at 12:00 cannot establish role validity at 12:00 when its only role
source is a directory snapshot last synchronized at 06:00, unless the
relying party's policy explicitly accepts that six-hour source bound.
If a required source observation is absent, older than the relying
party's bound, or unable to support the required claim precision, the
authority leg is indeterminate. The relying party MUST refuse an
action that requires that authority leg; a fresh signature over stale
or imprecise source data MUST NOT upgrade the result. This rule
applies equally to corporate authority records such as those linked
by OMP [I-D.veridom-omp] and to standing role credentials such as the
vLEI composition described by AGTP-LEI [I-D.hood-agtp-lei]. Those
mechanisms retain their native verification and governance semantics;
the relying party decides whether their source resolution is
sufficient for the action under review.
5. Authority Document to Authority Proof Trust Join
A proof signature and an Authority Document chain are not an
integrated trust result merely because each verifies separately. A
relying party that resolves an Authority Proof signer through an
Authority Document MUST perform the following join. Every input
described as pinned or expected is supplied by the relying party, not
by the presenter.
1. Verify the complete Authority Document chain, including every
self-signature, strictly increasing document time, sequence
number, previous-document digest, and continuity signature.
Continuity is established only by the previous root or by a
previous issuer key carrying authority_doc_rotation and valid at
the successor document's issuance instant. An unexplained
continuity break is a refusal.
2. Match the chain to an exact relying-party-pinned bootstrap digest
or document-head digest. A self-signed document with no such
anchor does not introduce its own trust.
Schrock Expires 5 February 2027 [Page 6]
Internet-Draft Authority Introduction August 2026
3. Bind the document organization to the proof organization. The
relying party MUST supply the expected organization identifier
and domain. Every document in the chain MUST carry that domain;
when org.id is present it MUST equal the expected identifier; and
the proof's organization_id MUST equal it.
4. Require the signed authority_document object to identify a
document digest and sequence that occur in the accepted chain,
plus the full digest-derived issuer_kid. The bound document
entry MUST carry the proof's signed registry_issuer_id and the
relying party's expected registry issuer identity.
5. Obtain the proof issuance instant from independently
authenticated relying-party evidence, and require an exact match
to the signed issued_at. A presenter-provided issued_at alone is
not a time anchor. Resolve the full issuer_kid through the
newest Authority Document effective at that authenticated
instant. Later documents may add terminal revocation evidence,
but MUST NOT retroactively grant a new usage. The resolved key
MUST equal both the key in the bound document and the public key
carried in the proof signature envelope, MUST come from the exact
bound document, and MUST include the authority_proof_issuer
usage.
6. Verify the proof digest and signature under that resolved key,
then independently apply the relying party's mandatory authority-
registry head and minimum-epoch pins. An absent pin is a
refusal, not a successful check. A document head is not a
registry head, a registry issuer identity is not a grant
identifier, and none of these values can substitute for another.
The Authority Document issuer-key kid is ep:authority-issuer-
key:sha256:<64-hex>, derived from the complete SHA-256 digest of the
SPKI bytes. The proof-envelope key_id likewise carries its complete
SPKI digest; a truncated identifier is not sufficient for the trust
join. The effective-document and authenticated-time rules in
Section 8 apply during resolution. A later revocation does not
invalidate a proof independently time-anchored before its effective
instant; a proof at or after that instant is refused. The proof's
own signed issued_at is not independent evidence that it predates
compromise.
A successful join accepts only the REGISTRY ISSUER for proof
issuance. It does not establish that authority_id is a member of the
named registry snapshot, validate a delegation chain, or decide that
the grant's scope, role, limits, validity, and revocation status
authorize a particular action. Those are separate checks in
Section 6.
Schrock Expires 5 February 2027 [Page 7]
Internet-Draft Authority Introduction August 2026
6. Authority Evaluation
Given an action, its authorization evidence, an Authority Proof, and
relying-party trust inputs, a verifier MUST perform all of the
following checks. A missing or failed required check produces a
refusal; no unknown value is treated as permission.
1. Verify the proof digest and signature and establish that the
signing key is accepted for authority-proof issuance, including
the Authority Document trust join in Section 5 when that
introduction method is used.
2. Match subject and organization to the approving identity and
action context. A proof for one subject or organization MUST NOT
be substituted for another.
3. Require the action type to be within scope and any required role
to match.
4. Apply every material limit. If a capped action omits the amount
or currency needed for comparison, refuse it.
5. Check that the action authorization time falls within the
authority validity window and that the policy hash, when present,
matches the policy being evaluated.
6. Check the registry head and minimum epoch required by the relying
party. A stale or unavailable required authority view is not
equivalent to an unbounded grant.
7. Apply revocation at its effective time. Terminal revocation
evidence does not age out. A not_revoked snapshot establishes
only the status observed at checked_at; current status is a
separate, freshness-bounded input
[I-D.schrock-ep-revocation-statement]. Apply the source-
resolution requirements in Section 4; a newly signed proof does
not refresh an older source observation.
Portable profiles SHOULD express ceremony strength as verifier-
visible proof predicates, such as user verification, named-human
binding, or device binding. This document does not define a
universal letter-grade assurance taxonomy.
Schrock Expires 5 February 2027 [Page 8]
Internet-Draft Authority Introduction August 2026
7. Separation of Duties and Quorum
Authority and independence are different properties. An authority
source can establish that a subject is eligible to approve an action;
it cannot establish that the subject did not initiate that same
action merely by asserting a flag. Initiator exclusion MUST be
evaluated by joining the signed initiator and approver identities for
the action. For a quorum, every counted approver MUST have its own
accepted authority proof, and the authorization profile MUST
separately enforce distinct-human and initiator-exclusion
requirements.
8. Rotation, Continuity, and Time-of-Issuance
Documents chain: seq increments by one, prev_doc_digest names the
previous core digest, and each rotation MUST carry a continuity
signature by the previous document's root key or one of its issuer
keys explicitly carrying authority_doc_rotation and valid at the
successor document's issuance instant. Document issuance instants
MUST increase strictly. A verifier walking the chain therefore needs
exactly one leap - the first document it ever saw - and every
subsequent rotation is mechanically checkable. A rotation without
valid continuity MUST be flagged, never silently accepted; whether
endorsements can substitute for continuity is the relying party's
policy (Section 11), not a default.
Two invariants govern key resolution, and implementations that miss
either will hurt someone:
1. Authenticated time of issuance. An artifact verifies against the
key that was valid at an independently authenticated issuance
instant, exactly matching its signed issued_at. Rotation never
invalidates previously issued evidence, and a revocation voids a
key only for signatures claimed at or after revoked_at -
independently time-anchored honest history survives compromise.
A proof's self-asserted issued_at alone cannot establish this.
2. Effective document plus terminal revocation. Key material and
usages come from the newest document issued at or before the
authenticated proof time. A later document cannot retroactively
add authority_proof_issuer or another usage. Revocation is
terminal across the observed chain: a revocation recorded in
document N MUST NOT be undone by resolving the same key
identifier against an older entry.
Schrock Expires 5 February 2027 [Page 9]
Internet-Draft Authority Introduction August 2026
9. Anti-Equivocation
A malicious authority might show different documents to different
relying parties. The hash chain exposes a fork when a verifier
possesses both branches or a previously pinned head. Registration to
a transparency service [RFC9943] can make revisions discoverable, but
inclusion in one log view alone does not prove global consistency.
Split-view resistance requires an independently checked consistency
mechanism such as witnesses, gossip, or cross-logging. A profile
MUST state which of those observations it requires; this document
does not convert log inclusion into automatic acceptance.
10. Introduction as Evidence: Graded, Replayable Acceptance
Acceptance is not a boolean in a config file; it is a verdict over
introduction evidence, evaluated under a RELYING-PARTY policy, using
the same closed-verdict classification and replay-digest discipline
as the evidence-sufficiency layer this family defines for actions
([I-D.schrock-ep-authorization-evidence-chain]). The evidence facts:
the authority chain itself (consistent, signed, no unexplained
continuity breaks); domain binding (the relying party's own attested
observation that it fetched this document digest from the
organization's origin); transparency-log inclusion and FIRST-LOGGED
AGE (history can be a policy input, particularly when the history is
independently witnessed); and endorsements, graded by whether the
endorser is among the relying party's own pinned anchors.
Policies are per action class. A relying party can require stronger
introduction evidence for money movement than for a low-impact
action. New observations, such as an endorsement from an already
pinned anchor or a longer witnessed history, may satisfy an unchanged
policy, but they never alter that policy and never compel acceptance.
The replay result MUST identify the policy and observations used so
another evaluator can reproduce the decision.
11. Compromise Recovery
If an authority loses its keys entirely, continuity breaks by
construction. The recovery path is explicit rather than exceptional:
the successor document is published with no (or invalid) continuity
signature, the break is flagged by every verifier, and the relying
party's policy decides what substitutes - typically an endorsement
threshold (a quorum of the relying party's pinned anchors
countersigning the successor document) plus a revocation statement
over the compromised keys. A relying party with no such policy
simply continues to refuse: fail closed is the default, recovery is
opt-in.
Schrock Expires 5 February 2027 [Page 10]
Internet-Draft Authority Introduction August 2026
12. Security Considerations
Nothing creates trust from nothing, and this document does not claim
to. It makes the bootstrap and scoped-authority inputs explicit and
permits their checks to be replayed. The residual assumptions are
named: domain binding inherits the Web PKI and is worth exactly that;
log-backed consistency is as strong as the log's operator or the
cross-log witnessing above it; endorsements are as strong as the
endorser and mean nothing until a relying party pins one. A
presenter-supplied key cannot establish its own authority. Key-
resurrection (resolving a revoked key through an older document) is
defeated by the newest-document-authoritative rule. Component-level
verification is not composition: an Authority Document and Authority
Proof that each verify independently still provide no integrated
result unless the proof signer is joined to the accepted document at
issuance time with the required key usage and organization binding.
Even that join accepts only the issuer: a verifier that omits the
separate grant/action and delegation checks can accept a genuine
proof that does not authorize the action under review. Hash chaining
detects conflicting branches only when the verifier has a comparison
point; a single log view is insufficient to prove non-equivocation.
Rotation-based history rewriting is constrained by time-of-issuance
resolution. No combination of missing observations grades toward
acceptance.
A valid signature can authenticate an over-precise claim. A verifier
that compares only artifact issuance time to its freshness bound can
accept stale role, entitlement, or revocation data that was merely
re-signed. The source-resolution rules in Section 4 prevent that
freshness laundering.
13. IANA Considerations
This document has no IANA actions. A well-known URI registration
(ep-authority.json) is anticipated for a future revision.
14. References
14.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Schrock Expires 5 February 2027 [Page 11]
Internet-Draft Authority Introduction August 2026
[RFC8785] Rundgren, A., Jordan, B., and S. Erdtman, "JSON
Canonicalization Scheme (JCS)", RFC 8785,
DOI 10.17487/RFC8785, June 2020,
<https://www.rfc-editor.org/info/rfc8785>.
14.2. Informative References
[I-D.hood-agtp-lei]
Hood, C., "AGTP-LEI: Binding the Agent Transfer Protocol
to the Verifiable Legal Entity Identifier", Work in
Progress, Internet-Draft, draft-hood-agtp-lei-00, 28 June
2026,
<https://datatracker.ietf.org/doc/draft-hood-agtp-lei/>.
[I-D.schrock-ep-authorization-evidence-chain]
Schrock, I., "Authorization Evidence Chains: Composing
Heterogeneous Agent-Action Evidence (EP-AEC)", Work in
Progress, Internet-Draft, draft-schrock-ep-authorization-
evidence-chain-04, July 2026,
<https://datatracker.ietf.org/doc/draft-schrock-ep-
authorization-evidence-chain/>.
[I-D.schrock-ep-revocation-statement]
Schrock, I., "Revocation Statements for Agent-Action
Authorization Evidence", Work in Progress, Internet-Draft,
draft-schrock-ep-revocation-statement-01, July 2026,
<https://datatracker.ietf.org/doc/draft-schrock-ep-
revocation-statement/>.
[I-D.veridom-omp]
Adebayo, T. and O. Apalowo, "Operating Model Protocol
(OMP) Core -- Version 02: Invariant 3 -- Verifiable
Delegation Binding", Work in Progress, Internet-Draft,
draft-veridom-omp-02, 13 May 2026,
<https://datatracker.ietf.org/doc/draft-veridom-omp/>.
[RFC9943] Birkholz, H., Delignat-Lavaud, A., Fournet, C., Deshpande,
Y., and S. Lasker, "An Architecture for Trustworthy and
Transparent Digital Supply Chains", RFC 9943,
DOI 10.17487/RFC9943, June 2026,
<https://www.rfc-editor.org/info/rfc9943>.
Schrock Expires 5 February 2027 [Page 12]
Internet-Draft Authority Introduction August 2026
Appendix A. Implementation Status
Three Apache-2.0 reference components are published in the EMILIA
Protocol repository. lib/authority/authority-doc.ts covers document
creation, rotation, chain verification, time-of-issuance key
resolution, endorsement verification, and introduction-policy replay.
lib/authority/proof.ts and lib/authority/resolver.ts cover signed
scoped-authority proofs and closed authority verdicts.
lib/authority/document-proof-join.ts performs the integrated, fail-
closed Authority Document to Authority Proof trust join. The
authority vector suite contains 27 cases, including unpinned-key,
issuer-substitution, amount, currency, scope, role, lifecycle,
policy, delegation, malformed-time, registry-head, and stale-epoch
refusals. A separate language-neutral join catalogue contains 26
scenarios and is executable by the JavaScript reference
implementation. It covers accepted resolution, missing or mismatched
document anchors, continuity failure, unauthorized or expired
rotation keys, non-monotonic document time, organization and domain
substitution, missing and wrong-usage signer keys, refusal of a usage
added only by a later document, key validity and revocation at
issuance, honest historical verification before a later revocation
under an authenticated time anchor, missing or mismatched proof-time
anchors, mandatory registry pins, registry-issuer substitution,
document-head versus registry-head confusion, full issuer-key
mismatch, registry-head and epoch failures, and proof tampering. The
join result explicitly marks grant/action and delegation evaluation
as not performed. This is one team's reference implementation. The
repository includes both the scenario catalogue and 26 fixed
serialized fixtures carrying exact document chains, proofs, relying-
party pins, and expected results. No second implementation has yet
reported results over those fixtures, so they are interoperability
inputs rather than an independent or cross-language agreement claim.
The reference signer does not manufacture a positive revocation
state. When the caller supplies no observation, the signed proof
carries revocation as null; an explicit unknown observation remains
unknown. Only an explicit status and strict RFC 3339 checked_at
instant can enter the revocation object. Regression tests cover
omitted, unknown, malformed, fresh, stale, and revoked cases. The
authorization-server confirmation adapter applies the same source-
resolution rule to directory snapshots: a fresh confirmation cannot
make an older directory observation fresh.
Schrock Expires 5 February 2027 [Page 13]
Internet-Draft Authority Introduction August 2026
Appendix B. Changes since -02
This revision defines the source-resolution boundary for authority
evidence, distinguishes source observation from artifact issuance and
relying-party evaluation, prohibits freshness laundering by re-
signing, and records the fail-closed reference behavior for absent,
unknown, and stale revocation observations. It adds informative
composition context for OMP and AGTP-LEI without changing either
mechanism's native verification or governance semantics.
Author's Address
Iman Schrock
EMILIA Protocol, Inc.
United States of America
Email: team@emiliaprotocol.ai
Schrock Expires 5 February 2027 [Page 14]