In Dogwood, a policy’s decision depends on the history of an agent’s actions within a session, not on the current request alone . The policy engine maintains a record of prior tool calls and their responses, then evaluates the current request against that history before permitting or denying the call
.
Dogwood extends the Cedar policy language (AWS’s existing authorization language from 2023) by adding a temporal block with session-aware conditions . Key temporal operators include:
| Operator | Purpose |
|---|---|
formerly | Checks whether a condition was true at some earlier point in the session |
count_within | Counts how many times a condition occurred within a specified time window |
count_distinct_within | Counts distinct values of a field that appeared within a time window |
sum_within | Sums a numeric field over events within a time window |
since | Checks a condition relative to the last occurrence of an event |
once | Checks whether a condition ever occurred |
These operators let a policy define rules like “forbid a payment action unless an invoice action happened formerly,” or “forbid if sum_within(amount, 1h). A temporal policy is written as a standard
permit or forbid Cedar rule, but with conditions placed inside a temporal { ... }.
Temporal policies are enforced at the AgentCore Gateway layer, outside the agent’s own code . The gateway intercepts every tool call in real time before it reaches the target tool, evaluates the policy against the session’s full event history, and then permits or denies the call
.
Because the authorization decision happens at the perimeter — in infrastructure the agent cannot modify — it cannot be bypassed by prompt manipulation, jailbreaking, or any code the agent controls . AWS explicitly states that policies run at the “AgentCore Gateway perimeter, outside the agent’s own code,” making them resistant to the agent rewriting its own instructions
. The policy engine supports two modes: LOG_ONLY (audit without blocking) and ENFORCE (actively deny)
.
Dogwood has been integrated into Amazon Bedrock AgentCore as temporal policies, announced alongside gateway rate limiting on August 6, 2026 .
Currently available features in Bedrock AgentCore:
sum_within The Dogwood language and its reference implementation are available on GitHub under Apache 2.0, separate from the Bedrock AgentCore managed service .