When an AI coding agent such as Devin runs unattended jobs on Azure, the lack of audit trails means a single stray query can expose credentials, write malformed data, or trigger costly cloud spend. The financial impact of an accidental secret leak or a runaway compute bill can quickly dwarf the value the agent provides. Yet many teams hand the same static token to the agent that engineers use, trusting that the code it writes will stay within bounds.
In practice, the token is scoped to a broad set of resources, the agent connects directly to databases, Kubernetes clusters, or storage, and no one sees what commands were issued or what data was returned. The lack of visibility makes post‑mortem analysis a guessing game, and compliance programs struggle to prove who, or what, touched sensitive data.
What is needed is a non‑human identity that can be granted just‑in‑time privileges, but the request still travels straight to the target without any checkpoint, audit, or inline protection. The identity layer alone cannot stop the agent from executing a destructive command, nor can it capture a replayable record of the session.
Audit trails for AI coding agents
Audit trails give teams a reliable, immutable view of every interaction an agent has with critical infrastructure. They enable forensic analysis, support regulatory evidence, and provide early warning when an agent deviates from its intended behavior. For Devin, an audit trail must capture:
- Who (or what) initiated the connection.
- When the session started and ended.
- Each command or query sent to the backend.
- The response payload, with sensitive fields redacted.
Only a gateway that sits on the data path can guarantee that every packet is inspected, logged, and, when required, altered before it reaches the target.
Architectural approach
The solution is built around three pillars: setup, data path, and enforcement outcomes. Each pillar addresses a distinct responsibility and together they create a complete control plane for AI agents.
Setup – defining Devin as a non‑human identity
Devin authenticates via OIDC or SAML, just like a human engineer. The identity provider (Azure AD, Okta, etc.) issues a short‑lived token that encodes the agent’s group membership. This token is the only credential Devin ever presents. The token itself does not grant any access; it merely proves who Devin is to the gateway.
Provisioning the token is performed once, and the token is never stored on the agent’s filesystem. Because the token is short‑lived, any compromise expires quickly, satisfying the principle of least privilege.
The data path – placing hoop.dev as the gateway
hoop.dev is deployed as a Layer 7 gateway inside the Azure virtual network, next to the resources Devin needs to reach. All traffic from Devin to databases, Kubernetes clusters, or other services is forced through this gateway. Because hoop.dev terminates the protocol, it becomes the only place where policy can be enforced.
