Workflow:

  1. App requests claim → “Prove you are over 18”
  2. Vault loads the attribute → age
  3. Descriptor defines rules → age >= X
  4. Vault runs a proof template → ZK ≥ comparison
  5. Vault returns claim + proof
  6. App verifies without learning the real age