Workflow:
App requests claim → “Prove you are over 18”
Vault loads the attribute →
age
Descriptor defines rules →
age >= X
Vault runs a proof template → ZK ≥ comparison
Vault returns
claim + proof
App verifies without learning the real age