Trust and provenance interoperability¶
The optional provenance feature issues signed fact records, status-list credentials and WARM sidecars. Enable it explicitly; the core memory engine does not require it. These are bounded interoperability checks, not certification.
| Specification or ecosystem | Integrated behavior | Evidence and limits |
|---|---|---|
| W3C VC Data Model 2.0 and Data Integrity EdDSA | RFC 8785 canonicalized eddsa-jcs-2022 proofs, separately reported credential semantics and issuer trust. | Fresh Rust output passes independent Digital Bazaar proof verification and tamper rejection. Only the documented WARM fact profile and Ed25519 did:key assertion proofs are supported. |
| Bitstring Status List 1.0 | Signed GZIP/base64url lists; trusted URL-authorized publishers; rollback and bit-clearing rejection; bounded decoding; signed expiry checked at import and every cached lookup. | Rust expiry−1 ns, expiry and expiry+1 ns regressions cover both strict and optional freshness policies. Digital Bazaar accepts active index 7 and rejects revoked index 8. The caller hosts and refreshes HTTPS snapshots. Sequential allocation does not implement randomized index assignment. |
| DID Core | Ed25519 did:key/did:jwk utilities and did:web documents/URLs. | Local utilities and proof-purpose checks; no general DID resolver. Hosts authenticate access claimants separately. |
| CAWG Identity Assertion 1.1 and Training and Data Mining Assertion 1.1 | COSE-signed authenticated containing-manifest references and a bounded four-entry training-policy subset. | Local tests reject altered, duplicate, cyclic and missing hard-binding references. Agent-credential admission checks claim-key issuer, subject, validity and proof. Full CAWG validation and external issuer authority remain separate. |
| C2PA | WARM store manifests and sidecars use some C2PA-style labels. | These WARM formats are not C2PA Content Credentials. Native asset-signing/release tooling remains a separately retained candidate with failing macOS private-key integration tests; it is excluded from this integrated subset. |
| SCITT RFC 9943 / COSE receipts RFC 9942 | Tagged issuer-signed WARM fact statements include protected CWT issuer/subject claims; local issuer signature and claim binding checks. Experimental /entries transport has one global deadline, bounded bodies and same-origin operation URLs without redirects. | Returned UnverifiedReceipt bytes are transport artifacts. No VDS inclusion proof, transparency-service trust policy, transparent-statement validation, or general registration-API conformance is implemented. A future verifier must require an explicit supported VDS profile and trusted service key/policy. |
| DIF and Trust over IP | Identifiers, signed claims, trust anchors and a draft governance mapping. | Architectural relationships, not blanket compliance or independently governed deployment. |
The draft v2 profile specifies producer admission, consumer checks, compatibility, status publication and migration. Its established filename and v1 field namespace remain stable. Proof validity, semantic validity, status and issuer authorization must be assessed separately.
Reproduction¶
Run cargo test --locked --lib --no-default-features --features provenance core::provenance:: -- --test-threads=1, scoped provenance Clippy, and bash scripts/check-w3c-interop.sh. The latter generates fresh credentials and uses pinned independent JavaScript implementations; it does not call a hosted model. The integration receipt records inputs and actual results.
No production status endpoint, general VC/DID resolver, C2PA signing acceptance, CAWG conformance result, or certification is claimed. Local provenance checks do not measure AML retrieval or answer quality.