All posts

Segregation of Duties for Planner-Executor Agents

When a single automated agent can both plan and execute privileged actions, the organization risks unchecked privilege escalation and costly data breaches. The lack of segregation of duties lets a compromised script run destructive commands without any human review, and the resulting incident can cripple services, expose customer data, and trigger regulatory fines. In many environments today, teams hand a planner‑executor agent a static service account that holds full database, Kubernetes, or S

Free White Paper

DPoP (Demonstration of Proof-of-Possession): The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

When a single automated agent can both plan and execute privileged actions, the organization risks unchecked privilege escalation and costly data breaches. The lack of segregation of duties lets a compromised script run destructive commands without any human review, and the resulting incident can cripple services, expose customer data, and trigger regulatory fines.

In many environments today, teams hand a planner‑executor agent a static service account that holds full database, Kubernetes, or SSH rights. The agent connects directly to the target system using that credential, and no separate approval step exists. Because the credential never rotates and the connection bypasses any audit layer, a breach of the agent’s host instantly grants an attacker unfettered access. The organization therefore operates with a single point of failure and no visibility into what the agent actually does.

Why segregation of duties matters for planner‑executor agents

Segregation of duties is a core control that splits the authority to create a plan from the authority to carry it out. When applied to automated agents, the split forces a review of the intended actions before they touch production resources. Without that split, a malicious change to the planner code can automatically execute destructive commands, and the breach is difficult to detect because the same credential is used for both phases.

Even if an organization adopts strong identity management, using OIDC tokens, service accounts, and least‑privilege grants, the gap remains. The setup decides who may start a session, but it does not inspect the traffic that flows through the connection. The request still reaches the database or Kubernetes API directly, with no inline guardrails, no real‑time approval, and no audit trail that survives the session.

How hoop.dev enforces segregation of duties

hoop.dev sits in the data path as an identity‑aware proxy for the target infrastructure. It receives the user’s or agent’s OIDC token, validates the identity, and then mediates every request before it reaches the backend. Because the gateway is the only place where traffic is inspected, hoop.dev can apply the enforcement outcomes needed for segregation of duties.

  • hoop.dev blocks execution of commands that have not been approved, forcing a human or policy engine to review the plan before it runs.
  • hoop.dev records each session, providing a replayable audit log that shows exactly what the executor did.
  • hoop.dev masks sensitive fields in responses, preventing the planner from seeing data it does not need.
  • hoop.dev can require just‑in‑time approval for high‑risk operations, ensuring that the planning phase and execution phase are separated by an explicit decision point.

All of these outcomes exist only because hoop.dev is positioned in the data path. The setup of tokens and roles alone cannot block a command or hide a column; the gateway is the active enforcer.

Practical steps to achieve segregation of duties

1. Define separate service accounts for planning and execution. Assign the planning account only read‑only permissions on the target system.

Continue reading? Get the full guide.

DPoP (Demonstration of Proof-of-Possession): Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

2. Deploy hoop.dev near the resource you want to protect. Follow the getting started guide to run the gateway in a Docker Compose or Kubernetes deployment.

3. Register the target connection in hoop.dev and configure the execution service account as the credential that the gateway will use. The planner never sees this credential.

4. Create policies in hoop.dev that require approval for any write operation that originates from the execution account. The gateway will pause the request and surface the plan for review.

5. Enable session recording and inline masking in hoop.dev’s policy settings. The recorded logs provide audit evidence for reviewers, and masked fields protect sensitive data from the planner.

For deeper guidance on policy configuration, see the feature documentation on hoop.dev.

FAQ

Does hoop.dev replace existing IAM policies?

No. hoop.dev complements IAM by providing runtime enforcement. IAM decides who may start a session; hoop.dev decides what happens inside that session.

Can I use hoop.dev with existing CI/CD pipelines?

Yes. The gateway works with standard client tools, so pipelines can route their database or Kubernetes commands through hoop.dev without code changes.

What happens if the gateway itself is compromised?

hoop.dev runs as a separate process with its own credential store. Compromise of the gateway would be detected through its own audit logs, and the underlying service accounts can be rotated using the same procedures described in the docs.

Start protecting your planner‑executor agents today by placing hoop.dev in the data path. Explore the source code and contribute on GitHub to tailor the enforcement to your organization’s risk profile.

Open source

Save the open-source gateway for agent data access

Hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.

Star and save the repo →More posts