Working draft for public review. Not a stable standard, IETF adoption, certification or production recommendation. Experimental profiles require explicit opt-in.
WD-02 — Changes, Compatibility and Open Issues
Contents
Published 15 October 2026 · Implementer-review corrections to WD-01
Changes from WD-01
WD-01 and its 37 source/schema/registry resource digests, Markdown, HTML, manifest and original ZIP remain unchanged. WD-02 has separate source files, locks, schema IDs, a frozen schema catalog and an independently reproducible ZIP. Historical 0.1 schemas and historical signed bytes are not repaired in place.
| Review finding | WD-02 correction and regression coverage |
|---|---|
| 1. EVP capability advertisement | Metadata 0.2 can advertise both receipt versions/profiles; tests reject incomplete or unknown combinations |
| 2. Fixed mandatory registry | Nullable accreditation, receiver-selected registry and accreditation 0.2; tests cover local pins, alternate registry and rejected legacy widening |
| 3. Consent-manifest signatures | Explicit inline exception, exact signing bytes and full-manifest hash; tests distinguish raw signature, wrong domain, JWS and payload mutation |
| 4. Broken downloaded bundle | Examples and both missing check scripts included; clean-extraction tests run all documented standalone commands |
| 5. Overstated fixture PASS | Non-protocol fixture labels, deterministic offline context checks and neutral anchor-pending category in registry 0.2; tests mutate anchor fields, times and key roles |
| 6. Unicode canonicalization | Shared Python/Node safe-integer JCS, UTF-16 key ordering and malformed-Unicode/number rejection; cross-language vectors include non-BMP keys |
| 7. Underspecified commitments | Exact EVP URI/origin normalization, pairwise/email/digest recipes and explicit issuer-local commitment contracts; no invented cross-issuer or recipient attestation |
| 8. Timestamp/header mismatch | Receipt 0.2 applies Z to nested timestamps; reference-only transport is accepted, proof-only/duplicate/injected headers rejected |
The fixes do not enable a new production service or upgrade an existing issuer runtime. EVP remains experimental. Full recipient-mapping transport, reviewed browser/provider evidence, sustained fresh-state operation and independent interoperability remain explicit review gates.
What this publication consolidates
- A product-independent core with separate application, Identity Issuer, Consent Issuer, log, ESP and receiver roles.
- Editorial revision
WD-02, core wire objects 0.1 and experimental EVP receipt 0.2 as distinct version dimensions. - OIDC-01's unchanged receipt contract and an explicit experimental EVP-01 mapping, rather than an OIDC-only definition of the whole protocol.
- Existing JWS/JCS, Ed25519, append-only log, sparse current-state tree, full domain-role names and immutable receipt/lifecycle decisions.
- Amoy's acyclic proof-core/set commitments, role-separated pins, genesis/continuity checks, frozen timestamps, bounded freshness and fail-closed chain transport.
- A same-origin schema catalog, artifact hashes, downloadable source/fixtures and clearly labeled structural versus cryptographic test evidence.
Compatibility policy
All 22 pre-existing 0.1 schema files are preserved byte-for-byte. The receipt 0.1 file is not silently generalized. New selectors and profile schemas make the version/profile dispatch explicit. Existing signed payloads and deterministic historical fixtures are not rewritten. A legacy schemas.xcim.org schema ID is retained with a documented same-origin download mirror; the catalog binds canonical IDs to bytes without claiming that a new hostname has been deployed.
The experimental 0.2 receipt schema follows the closed receipt projection exercised by an implementation adapter; it does not turn a deployed experimental adapter into a reviewed public EVP interoperability result. No production runtime is upgraded by publishing documentation.
The historical docs/spec narrative snapshots are retained as historical inputs, not republished as the canonical WD-02 contract. Product plans, private APIs and cloud configuration do not override this publication. A substantive correction after publication requires an identified erratum or a new working-draft revision; frozen revision URLs and their manifest identify the reviewed bytes.
Evidence this release does not claim
- A final standard, IETF adoption, IANA registration, certification, issuer accreditation or production SLA.
- Independent cryptographic/privacy audit or complete legal/compliance assessment.
- Interoperability between independently operated sending and receiving teams.
- Public browser/provider EVP end-to-end conformance or universal provider support.
- Mainnet readiness or a continuously fresh public proof service.
- Approval of the final specification license or release-signing policy; this working draft makes no unstated patent or licensing commitment.
Issues for the next review
- Publish a reviewed exact external EVP revision, canonical evidence-fingerprint recipe and cross-adapter cryptographic/browser vectors.
- Exercise all profile and key lifecycle checks with independent issuer/receiver implementations, including negative cases and domain transfer.
- Review production trust-root governance, compromise recovery, reorg/fork handling, privacy correlation and multi-issuer discovery.
- Freeze message-reference/stapling grammar and review DKIM coverage, size limits and Authentication-Results registration strategy.
- Validate sustained fresh-state operations and deadline/cache/export behavior under RPC failures, not just a historical testnet transaction.
Review material
The core, OIDC-01, EVP-01 and Amoy pilot profile are published together. The release manifest records SHA-256 digests. Those digests support integrity comparisons; an unsigned publication manifest is not a new issuer trust root.
The source bundle includes Markdown, schemas, registries, synthetic fixtures and reproducible checks. Existing repository materials may represent an earlier source drop; use the revision manifest when reviewing this release. Send feedback with the section, role and exact object/profile version.