Skip to content

Build1 publisher3 min readPublished

Arcjet's guard returns allow or deny one call before the refund goes out

Arcjet's new product evaluates an agent's next action inside application code, returning an allow or deny before the tool call runs, with policies written in Rego and managed centrally by the security team.

The Engineer · Build desk

Illustration accompanying Arcjet's guard returns allow or deny one call before the refund goes out

What happened

  • David Mytton announced Arcjet's agent runtime security product on September 17, aimed at production agents that send email, issue refunds and modify databases.
  • Enforcement works differently, with a developer placing a guard immediately before the tool call so the application receives an allow or deny before the side effect happens.
  • Arcjet's agent guard documentation says the application owns the final enforcement point, and that any tool or workflow step a team leaves unwrapped stays outside the enforcement path.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • constraint Policy completeness now depends on call-site coverage. An exhaustive rule set still only applies where a guard has been placed.
  • decision Teams already running a model gateway have to decide which layer holds veto power, because only the call site sees the actor, the target resource and the argument values.
  • cost Observability lands without touching the codebase; enforcement takes a code change at each action boundary.
  • exposure The retention choice determines who holds the prompts and tool arguments, since the same evidence can sit in Arcjet's cloud or stay inside the customer's VPC.

The two integration paths do not cost the same. Observe ingests OpenTelemetry events with no application-code change, and it stitches prompts, tool parameters, identities, session metadata and security decisions into one sequence [4]. Arcjet can also pull activity from Anthropic's Claude Compliance API [5]. Enforcement needs a developer to put a guard immediately before the tool call or other action boundary [6].

The policy language is Rego, evaluated through Open Policy Agent, with rules managed centrally by the security team while the application only receives an allow or deny before the side effect runs [7]. Reusing an existing policy engine means the rules live and get reviewed outside the application repository.

A refund guard receives the authenticated user's identity, role and the proposed amount, and the application can block the refund, route it for human approval, or explain the denial to the agent [8]. That third option puts the policy decision back into the model's context as text. The same interface covers email recipients and attachments, web-fetch allowlists, prompt-injection detection, redaction, rate limits and usage caps [9].

Arcjet's agent guard documentation states the tradeoff directly: the application owns the final enforcement point [10]. That is where the actor, the target resource and the exact tool arguments are available, and a network firewall or model gateway may lack them [10]. The same documentation says engineering teams have to cover the action boundaries that matter, and an unwrapped tool or workflow step stays outside the enforcement path [11].

"A risky outcome can develop across a series of steps that look perfectly reasonable on their own," Mytton said in the launch announcement [12]. Reviewing each event on its own can hide the outcome the full chain produces [23]. Mytton started Arcjet in 2023, after founding Server Density in 2009 and running it to its 2018 merger with StackPath [19].

For this design to work in a given codebase, the side-effecting call sites have to be enumerable and few enough to wrap. Arcjet lists native support for eight frameworks and agent SDKs, including the Claude Agent SDK, the OpenAI Agents SDK, LangChain, Mastra and Microsoft's Agent Framework [13][14]. Its JavaScript, Python and Go SDKs also cover queue jobs and background workflows that never receive an HTTP request [15].

After the action, the record holds the inputs, the policy version, the decision and the execution context [16]. Retention can sit in Arcjet's cloud, a single-tenant deployment or a private VPC, or the logs can go to an existing security system [17]. Certain sensitive-information detection can run inside the customer's own process [18].

The launch material does not include pricing beyond the free 15-day trial, or latency figures for a guard that sits in front of every wrapped tool call [3][22].

What to watch

  • Pricing beyond the 15-day trial, and whether it is charged per decision or per seat, decides whether wrapping every boundary is affordable.
  • Where Rego evaluation happens for the general case: Arcjet says only that certain sensitive-information checks can run in the customer's process.
  • Native support for MCP tool servers, where the set of callable tools is discovered at runtime rather than written into the repository.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories