Every authorize call resolves to exactly one verdict. The PDP’s live taxonomy
is four values:
mayContinue is a convenience the SDK derives: it is true for ALLOW and
WARN, false for BLOCK and ESCALATE.
Decision shape
Handling each verdict
On WARN you must use transformedContent if it is present. That is where
the PDP hands back, for example, a PHI-minimized version of the context. Ignoring
it means delivering the un-minimized original, a policy violation you were just
warned about.
Verdict → delivery mapping in the evidence feed
Each decision is logged with a delivery label so auditors can read outcomes at
a glance:
A note on client enums
The reference Kotlin client (AkharaPolicy.kt) additionally defines REWRITE
and PAUSE for forward-compatibility. The PDP’s shipped taxonomy is the four
verdicts above, treat WARN as the rewrite verdict. If you build a custom
client, map any unknown verdict to a fail-closed BLOCK rather than continuing.
See Fail-closed.