Threat model & integration rules
PolicyFuse protects the semantic authorization boundary. It does not claim that a policy is wise, fair, lawful, or benevolent, and it does not execute the downstream action.
Core security goals
Exact action binding
An authorization is bound to the canonical action-core digest and cannot be replayed for materially different action data.
Exact consumer binding
Authorization is consumer-specific. is_authorization_current_for compares the expected consumer exactly.
Immutable policy content
Policy fingerprints seal content. Supersession and revocation are lifecycle transitions, not silent mutation.
No permissive uncertainty
Ambiguity becomes UNKNOWN → REPAIR_REQUIRED, never a guessed authorization.
Threat → control
Action substitutionControl: authorization binds exact action digest + consumer.
Malicious leaderControl: validators independently evaluate the same frozen policy and intent, then compare consequential rule states exactly.
Malformed model outputControl: strict schema normalization, complete rule-id coverage, allowed state validation, and canonical vector serialization before state mutation.
Validator divergenceControl: reject the leader result; do not write consequential state. No numeric or semantic tolerance may cross the authorization boundary.
Stale authorizationControl: dedicated currentness checks incorporate active policy state, authorization expiry, intent identity, consumer, action digest, and durable bindings.
Scope creep into custodyControl: v1 has no payable surface, transfer, escrow, arbitrary downstream write, or hidden execution API.
Rules for downstream developers
- Use
is_authorization_current_foragainst the expected consumer and action-core digest. - For irreversible UI/application consequences, read
LATEST_FINALstate after finalization. - Maintain application-specific replay or nonce state if your downstream action must be single-use.
- Never treat network ACCEPTED as equivalent to finality when your consequence requires durable completion.
- Do not infer that latest-created policy means active policy.