Skip to content

Testing & evidence

How quality is measured, and where the evidence behind every claim lives.

Operational assurance

Measured process, not adjectives.

Reproducible evidence pipeline

Tested

tools/evidence/generate.sh regenerates every tier (traceability, tests, Lean, Tamarin, lint) from a clean checkout into the verification report — the page you are reading quotes that artifact.

tools/evidence/generate.sh

CI gates mirror the architecture

Tested

Jobs: rust-core (fmt, clippy -D warnings, tests) · supply-chain (cargo-deny, cargo-audit, CycloneDX SBOM) · tier1 (bounded fuzz + Kani) · tier2 (Lean build + oracle-trace staleness gate + replay) · tier3 (Tamarin, advisory) · ios-shell (swift build + test) · traceability import.

.github/workflows/ci.yml

Pinned toolchains & dependency budget

Tested

Rust 1.97.1, Lean v4.32.0 and the dependency graph are pinned; a written dependency budget bounds what may enter the build, enforced by cargo-deny (two documented build-time-only advisory ignores).

docs/dependency-budget.md · deny.toml

Interop probe (reference environment)

Tested

A reproducible harness fetches the reference issuer's live OpenID4VCI metadata over platform TLS (HTTP 200, 27 configurations — 11 in the SD-JWT VC format this wallet implements) and confirms the reference verifier is reachable. The iOS app runs the same fetch on its real URLSession stack. Reachability + wire-shape only — not a conformance pass.

tools/interop/probe.sh · docs/certification-evidence/interop.md

Published SBOM

Tested

CycloneDX 1.3 SBOMs are published in-repo (21 crates; wallet-core = 111 runtime components), regenerable from a clean checkout — not just generated transiently in CI.

docs/certification-evidence/sbom/ · tools/evidence/sbom.sh

Performance benchmarks

Tested

Published hot-path numbers against the real backend (ES256 sign ~28.7µs / verify ~83.6µs, SHA-256 ~58ns, SD-JWT parse ~430ns; release, 2026-07-19), reproducible with one command.

docs/certification-evidence/perf-benchmarks.md · crates/benches/

Signed releases, reproducible builds, disclosure policy

Planned

Release signing, build provenance/reproducibility, and a published vulnerability-disclosure policy are planned. Threat model, DPIA, key-lifecycle and KAT documents remain stubs pending publication in the certification-evidence set.

docs/certification-evidence/

Vulnerability disclosure & incident response

Planned

No published disclosure policy yet — planned alongside the certification evidence set.

docs/certification-evidence/ (pending)

Evidence

Trust should be inspectable.

Review the architecture decisions, formal models, proof status, conformance mappings, and test artifacts behind the implementation — all in one repository, regenerated by one command.

EUWallet is an independent global identity runtime. Its EUDI profile targets European Digital Identity Wallet specifications, but this project is not an official website of the European Union and does not imply certification or endorsement except where explicitly documented. The EUDI Wallet Trust Mark and certification under CIR (EU) 2024/2981 are granted through official processes this project has not yet undergone.

euwallet · evidence generated 2026-08-10 against commit 6508f65 · Rust 1.97.1 · Lean v4.32.0 · Tamarin 1.12.0 · spec register ARF v2.9.0, PID Rulebook v1.7, FCAF v0.0.7 (2026-07-17)

Latest authoritative local validation snapshot from the Entra Agent ID PR #147 audit. Repository verification is distinct from credentialed provider smoke tests, external conformance, certification, security audit, and App Store review.