Documentation Index
Fetch the complete documentation index at: https://aarm.dev/llms.txt
Use this file to discover all available pages before exploring further.
Purpose
The Deferral Service handles actions that cannot be safely resolved into ALLOW, DENY, MODIFY, or STEP_UP at evaluation time. AARM uses DEFER when context is:- incomplete
- ambiguous
- conflicting
- stale
When to Use DEFER
Use deferral when the policy engine knows that a binary decision would be premature.| Situation | Why defer instead of deny immediately? |
|---|---|
| Ambiguous maintenance window | The action may be allowed once timing is verified |
| Missing asset classification | The system needs fresh metadata before judging exposure |
| External verification pending | A dependency such as DLP, data owner service, or ticket state has not responded yet |
| Conflicting context signals | The system sees both benign and suspicious indicators and needs more evidence |
- the action clearly violates hard policy
- no additional context can realistically change the decision
- the system is simply unavailable and policy requires immediate fail-closed denial
Flow
Interface
Progressive Context Collection
The Deferral Service should try to resolve ambiguity automatically before escalating to a human approver. Typical sources include:- fresh metadata from inventory or classification services
- recent entitlement state from identity or access systems
- ticket status or maintenance-window validation
- explicit user confirmation for narrow questions
- risk-signal recomputation using updated session evidence
Identity and Context Preservation
The deferred action must retain the original security context captured at submission time:- human principal
- service identity
- agent/session identity
- role or privilege scope
- policy version and context snapshot
A deferred action is not a new action. It is the original action under suspended evaluation. Resolution logic should preserve provenance back to the original decision point.
Timeouts and Escalation
Every deferral must have a bounded timeout and an explicit terminal behavior.| Strategy | Use When |
|---|---|
| Timeout → DENY | High-risk actions where absence of certainty should fail closed |
| Timeout → STEP_UP | Additional context may exist but requires human judgment to obtain |
| Immediate escalation | The required context is inherently human, not machine-resolvable |
- max total defer duration
- max defer chain depth
- max retries against external resolvers
- audit record of every resolution attempt
Relationship to Approval Service
Deferral and approval serve different purposes:| Decision | Problem | Primary Handler |
|---|---|---|
| STEP_UP | Action is understood but requires human authorization | Approval Service |
| DEFER | Action cannot yet be safely classified | Deferral Service |
Conformance Notes
An AARM-conformant implementation of DEFER should satisfy:- pre-execution suspension
- no side effects during deferral
- bounded timeout semantics
- preserved identity and context
- receipts for both deferral and terminal resolution
Next Steps
Deferral Flows
Concrete implementation patterns for progressive resolution and timeout handling
Approval Service
How DEFER escalates when automated resolution is insufficient