Agent Authorization Is Not Decision Authority
Agent authorization is becoming the next obvious control point in production AI.
That is necessary.
It is also where the next category mistake begins.
An authorization layer can decide whether an agent may call a tool, reach an MCP server, receive a credential, invoke an API, or perform a scoped operation. Every serious enterprise agent stack needs that control. Agents should not inherit broad human permissions, call arbitrary tools, or mutate systems through unreviewed paths.
But permission is not decision authority.
If a revenue agent is authorized to use a CRM update tool, that does not prove the proposed update is valid for this account, under this contract, on this date, inside this policy scope. If a support agent is authorized to issue refunds, that does not prove this customer is entitled to this refund. If a security agent is authorized to escalate incidents, that does not prove this incident can bypass human review.
Authorization proves access.
A decision context graph proves applicability.
Authorization answers a permission question
The market is now naming the agent authorization layer more clearly. Arcade describes the "secure action layer" behind production AI agents. Microsoft Foundry routes MCP traffic through gateway policies, authentication, rate limits, and audit logging. AWS AgentCore frames access control, identity, tool calls, tracing, and policy verification as production-agent infrastructure.
This is useful maturation. Early agent systems treated tool access as a prompt configuration problem. Production systems cannot. They need scoped tokens, explicit tool grants, request policies, approval requirements, identity binding, deny codes, revocation, and audit events.
An agent authorization layer answers questions like:
- Is this agent known?
- Which identity is it acting under?
- Which tools, APIs, MCP servers, and operations may it reach?
- Is this credential still valid?
- Does this operation require approval?
- Should this invocation be blocked, logged, or routed through a gateway?
Those questions matter because agents turn access into action. Once an agent can plan, call tools, and retry, a loose permission model becomes a production risk surface.
But the authorization layer still evaluates the path to execution. It decides whether the agent may use a capability.
It does not, by itself, decide whether the capability is being used correctly in the current business situation.
Decision authority answers an applicability question
Decision authority sits one layer deeper.
It asks whether the proposed action should happen now.
That requires context authorization does not normally model: customer state, contract terms, jurisdiction, product entitlement, policy version, exception hierarchy, approval history, temporal validity, source authority, and scope boundaries.
This is why applicability logic is not a decorative term. Enterprise rules rarely apply globally. A policy applies to a region, a product line, a customer segment, a contract tier, a date range, a risk level, or an exception class. The hard problem is not only enforcing a rule. It is determining which rule applies to this situation.
An authorization system can say:
- this agent may call
issue_refund - this token permits the payments API
- this MCP server is approved
- this operation is within the agent's tool grant
A decision context graph asks:
- is this customer still inside the refund window?
- which regional exception applies?
- did a policy change supersede the rule used by the agent?
- is the order state current enough for a decision?
- is the agent operating inside the right decision scope?
- what causal decision trace must be recorded if the action proceeds?
The first list is permission.
The second list is authority.
Confusing them produces systems that look governed while still allowing contextually wrong action.
The failure mode is valid access, wrong action
Most production agent failures will not look like an unknown agent breaking into an unknown system. They will look like a known agent using an approved capability in the wrong context.
A support agent has a valid identity, a scoped credential, and an authorized refund tool. It refunds the wrong customer because the entitlement record was stale and the regional exception did not apply.
A revenue agent has permission to draft discount terms. It offers a discount that violates a margin threshold because the active pricing policy was superseded after the agent retrieved its context.
A procurement agent has access to vendor data. It selects a vendor that is technically available but temporarily disallowed for a regulated customer segment.
A security agent has authorization to file escalations. It suppresses human review because its tool grant allowed the workflow, even though the incident type crossed a review threshold.
In each case, authorization can be working. Identity can be working. The gateway can be working. MCP policy gates can be working. The decision can still fail.
That is the same boundary The Context Graph drew in MCP Policy Gates Are Not Decision Authority. A policy gate can block unsafe invocation. It does not automatically prove business validity.
It is also the boundary from Control Planes Govern Agents. Context Graphs Govern Decisions.. A control plane manages the agent estate. Authorization governs access paths. The decision context graph governs the proposed action.
The architecture is a handoff
The clean architecture is not a rivalry between authorization and context graphs. It is a handoff.
The authorization layer should decide whether the agent may reach a capability. The decision layer should decide whether the proposed use of that capability is applicable, scoped, current, policy-compliant, and traceable.
That means sensitive tool calls should be converted into decision requests before execution:
- actor
- target entity
- intended action
- affected system
- policy scope
- current state
- retrieved evidence
- applicable time
- expected side effect
The decision context graph then traverses policy nodes, contracts, account state, approval records, entitlement facts, exception relationships, temporal validity, source provenance, and scope isolation. It returns allow, block, escalate, or reroute with a causal decision trace.
This is where pre-execution enforcement becomes concrete. The action is not merely observed. It is evaluated before it reaches the system of record, customer channel, payment flow, security workflow, or operational database.
Rippletide is one reference implementation of this pattern: an enterprise decision context graph used as a pre-execution enforcement layer for accountable agents. The important architectural role is broader than any product. Authorization protects access. The context graph protects the decision.
That handoff also clarifies where MCP belongs. MCP standardizes tool connection. An agent gateway controls traffic and policy around that connection. Authorization determines whether the agent may use the tool. The decision context graph determines whether this use of the tool is valid in context.
Without the final layer, the stack stops one question too early.
Conclusion
Agent authorization is mandatory infrastructure. It gives enterprises scoped access, controlled tool use, identity binding, approval workflows, revocation, and audit events. Production agents need all of it.
But authorization should not be asked to carry decision authority.
Access is a precondition for action. It is not proof that the action is valid.
The accountable agent stack needs two distinct controls:
- authorization to determine what an agent may reach
- a decision context graph to determine what an agent may decide
When those controls are separated, the architecture becomes legible. Identity proves who is acting. Authorization proves which capabilities are available. The context graph proves whether the proposed action is applicable, scoped, current, policy-compliant, and traceable before execution.
That is the boundary enterprises need to draw now.
If a system can only say "the agent was authorized," it has not yet proven the decision was accountable.
The Context Graph is a weekly newsletter for AI engineers building production agents. Read the context graph glossary for the canonical vocabulary behind decision context graphs, pre-execution enforcement, accountable agents, agent authorization, MCP, policy-as-code, and causal decision traces.
Cite this memo
Patrick Joubert. (2026). "Agent Authorization Is Not Decision Authority." The Context Graph. https://thecontextgraph.co/memos/agent-authorization-is-not-decision-authority
Running into these patterns in production?