How enforcement works

What Intent Gateway does with each tool call, and what happens when ArmorIQ can't decide.

Enforcement applies when the base URL names an agent (/v1/t/<gateway-key>/a/<agent-id>). Without an agent, the gateway records the traffic and changes nothing.

Each model turn

  1. Your agent sends a request. The gateway forwards it to the provider with your provider key untouched.
  2. The model replies. If the reply contains tool calls, the gateway registers them with ArmorIQ as a plan and receives a signed intent token for it.
  3. Each tool call is checked against the agent's active policy, using that token.
  4. The gateway relays the reply. Allowed tool calls are unchanged. Blocked tool calls are removed, and a note naming the rule is added to the reply's text.

Streaming replies follow the same steps. Text streams to your agent as it arrives, and each tool call is released or withheld once its check returns.

Verdicts

VerdictWhat your agent receives
AllowThe tool call, exactly as the model wrote it.
BlockNo tool call. The reply's text ends with a note such as Tool call "record_payment" was blocked by policy: block:record_payment#0.
HoldTreated as a block today. The gateway creates an approval request in the dashboard, but approving it does not release the agent's next attempt yet.

An agent with no active policy has its tool calls allowed, and each one is recorded.

When ArmorIQ can't decide

If the check can't complete because ArmorIQ is unreachable, slow or rate limited, or the plan is refused, the gateway withholds the named agent's tool call and gives the reason in the note. Calls are never released just because a check failed.

SituationResult
The agent in the URL doesn't exist in your organizationEvery tool call is withheld with agent_unresolved
The agent is disabled or still a draftEvery tool call is withheld
ArmorIQ is unreachable, times out or rate limits the keyThe tool call is withheld

What is recorded

  • A trace per request in Observability: the model, token use, each tool call and its verdict, under the service armoriq-llm-gateway.
  • The plan for each turn that asked for tools, with its signed intent token.
  • The agent's tools. When a named agent's requests declare tools, the gateway sends that list to ArmorIQ, so Policy Studio can show them when you write rules.

Your provider key is forwarded to the provider unchanged. The gateway never stores or logs it.

On this page