Skip to content

fix: persist and atomically retrieve credential-associated data - #512

Draft
alexblaniatfh wants to merge 5 commits into
mainfrom
codex/recovery-credential-associated-data
Draft

fix: persist and atomically retrieve credential-associated data#512
alexblaniatfh wants to merge 5 commits into
mainfrom
codex/recovery-credential-associated-data

Conversation

@alexblaniatfh

@alexblaniatfh alexblaniatfh commented Sep 7, 2026

Copy link
Copy Markdown

A v4-only consumer needs the exact credential and its associated biometric data to survive recovery and restore. Expose the selected unexpired credential’s data through CredentialStore/UniFFI, including an atomic CredentialData snapshot. Deterministic same-second ordering matches proof generation; missing data never borrows an older credential’s payload.

Add conditional associated-data repair guarded by record ID, exact credential bytes and expiry. Repairs preserve the blinding factor and selection order, clean orphaned data, and notify backup observers. Existing schema and frozen backup format remain unchanged. Biometric snapshots deliberately omit Debug. Consumers must validate the issuer-defined format and commitment before using or repairing data; the Orb claim verification and iOS integration are separate companion changes for MCORE-1907.

Validation: all 23 credential-vault tests pass, including reopening, atomic snapshots, stale/deleted/expired repair, ordering and frozen backup bytes. Formatting and strict walletkit-core library Clippy pass with Rust 1.94.1. New generated Swift/Kotlin binding checks are running in CI. No release or deployment performed.

The candidate also pins the protocol recovery branch at 8920ae9c463c98e62b0836d1ef9d9b6c2749b5f1 so the generated SDK includes authoritative recovery-counter checks and revoked-authenticator handling (worldcoin/world-id-protocol#982). All 23 vault tests and strict library Clippy pass against this exact revision. Replace the temporary Git pin with the coordinated published protocol version before the production crates release.

@alexblaniatfh alexblaniatfh changed the title fix: expose associated data for the selected credential fix: persist and atomically retrieve credential-associated data Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant