App → “Prove AgeOver18”
   ↓
User Vault → fetches birthdate
   ↓
ZK Circuit → checks: (today - birthdate ≥ 18y)
   ↓
Signer → control_key signs proof
   ↓
App → verifies signature, proof, state, policies
   ↓
App learns: “User is 18+”
 WITHOUT learning:
 - name
 - birthdate
 - document
 - ID number
 - anything else