Fail closed
No attributes are released without a typed acceptance command.
Build a policy-bound OpenID4VP request, present from any compatible wallet, and inspect every verifier gate—including atomic ES256 + ML-DSA-65 signature enforcement—before attributes reach your application.
Explore hybrid verificationIdentity attributes with selective disclosure and key binding.
Ask only for what this transaction needs.
The verifier now supports the frozen euwallet-hybrid-pq-v1 profile. It validates ES256 and ML-DSA-65 over the same domain-separated payload and accepts only when both signatures pass.
Experimental, default-off, and not an EUDI conformity claim.
The interface exposes the same security gates as the Rust decision kernel. Mock responses stay visibly marked; production results require a configured cryptographic adapter.
No attributes are released without a typed acceptance command.
Client, nonce, transcript, holder key, and disclosure set stay linked.
Lean safety theorems and Tamarin protocol lemmas guard the boundary.
Hybrid ES256 + ML-DSA-65 signatures verified atomically — a hybrid-required policy never falls back to classical.