Attributes don’t get exposed — they get turned into proofs.
Each descriptor specifies:
Example descriptor entry:
{
"id": "identity.birthdate",
"proofable_as": ["age_check"],
"transformations": ["greater_equal", "less_equal"],
"datatype": "date"
}
The Proof Engine uses:
To generate a statement like:
“User is over 18”
(without revealing birthdate)