Operators
All constraints use logical
AND, and exactly one constraint may target each path. There is no coercion, case folding, wildcard, regex, locale processing, timezone conversion, floating point input, or Unicode normalization.
Fail-closed evaluation
- A present value that violates a constraint produces
DENY. - Missing, incorrectly typed, or unsupported data produces
INDETERMINATE. - Neither result creates a reservation.
- A different valid action name produces
DENYwithout evaluating unrelated constraints.
Payment authority
A policy either has no payment paths, or exactly one positivepayment.amount max and one uppercase payment.currency eq. Amounts use integer minor units, so 15000 means EUR 150.00.
Policy arrays are digest-significant. Preserve constraint order and the order of values inside in constraints.
