Core Features
- Identity creation
- Generate control key
- Create recovery placeholder (even if we don’t fully implement recovery yet)
- Build first
identity_commitment
- Store identity state off-chain (DB)
- (On-chain / COTI anchor can be “later”)
- Vault v0
- Local or backend Vault that:
- encrypts birthdate + country
- maintains attribute commitments
- computes
attributes_root
- Uses a real encryption scheme (AES-GCM, etc.)
- Attributes & Descriptors v0
- Implement only two descriptors:
identity.birthdate
address.country
- Properly stored in the Vault with commitments.
- Proof Engine v0
- One composite template:
age_over_18_and_resident_pt
- Either:
- a “real” simple ZK lib, or
- a placeholder that behaves like ZK but is pluggable later
- Verifier API that checks:
- proof format
- matches commitment
- template id
- nonce
- Verifier Demo
- A simple web page:
- “Connect Solivre ID”
- “Request proof: over 18 + resident in PT”
- shows ✅ / ❌