All posts

Segregation of Duties for Devin: A Practical Guide

When a single engineer can create, approve, and run production changes, the organization risks accidental data loss, regulatory breach, and costly rollbacks. The financial impact of a mistaken migration or an unchecked privilege escalation can quickly dwarf the convenience of a “one‑person” workflow. Segregation of duties is the practice of splitting critical responsibilities among different roles so that no individual has unchecked power over an entire workflow. In the context of Devin, a seni

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 engineer can create, approve, and run production changes, the organization risks accidental data loss, regulatory breach, and costly rollbacks. The financial impact of a mistaken migration or an unchecked privilege escalation can quickly dwarf the convenience of a “one‑person” workflow.

Segregation of duties is the practice of splitting critical responsibilities among different roles so that no individual has unchecked power over an entire workflow. In the context of Devin, a senior platform engineer, the goal is to ensure that Devin can request access to a database, but a separate reviewer must approve any write‑heavy operation, and an independent system must record what actually happened.

Many teams start with a shared admin password stored in a password manager, or a static SSH key that multiple engineers copy into their local environments. This approach looks simple on the surface, but it creates a single point of failure. When the credential is compromised, an attacker inherits all privileges. Even without a breach, the lack of an audit trail makes it impossible to answer questions like “who deleted those rows?” or “was the change reviewed?”.

Because the credential is used directly against the target system, the organization cannot enforce real‑time checks. The request travels straight from the engineer’s laptop to the database, bypassing any gate that could verify intent, mask sensitive fields, or require a second set of eyes. The setup decides who the request is, but it does not provide a place to enforce policy.

Why segregation of duties matters

Regulators and internal auditors look for evidence that critical actions are divided among distinct roles. Without that evidence, compliance programs fall short, and the business loses the ability to prove that it mitigated insider risk. From an engineering perspective, separating duties reduces blast radius: a compromised credential can only perform the limited actions assigned to its role.

Segregation of duties also supports a culture of accountability. When Devin knows that every command will be recorded and that a privileged write must be approved by a peer, the incentive to double‑check changes increases, leading to higher overall quality.

The missing enforcement layer

Even with strong identity providers, role‑based access control, and least‑privilege IAM policies, there is no guarantee that a request will be examined before it reaches the target. The enforcement point must sit on the data path – the exact place where traffic flows between the engineer and the infrastructure. Only there can the system block a dangerous command, mask a credit‑card number in a query result, or pause execution for manual approval.

In the current state, the data path is a direct TCP connection. No component inspects the payload, so the organization cannot enforce segregation of duties beyond static role assignments. The result is a gap between policy (who should do what) and reality (what actually happens).

How hoop.dev enforces segregation of duties

hoop.dev sits in the data path as an identity‑aware proxy for databases, SSH, and other supported targets. It receives the request, validates the user’s OIDC token, and then applies a set of runtime policies before forwarding the traffic.

Continue reading? Get the full guide.

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

Free. No spam. Unsubscribe anytime.

When Devin initiates a connection, hoop.dev first confirms that Devin’s token is valid and extracts group membership. That is the setup phase – it decides who the request is, but it does not yet enforce any rule.

Next, hoop.dev evaluates the request against segregation‑of‑duties policies. If Devin attempts a read‑only query, the request passes through. If Devin tries to execute a data‑modifying statement that could alter data, hoop.dev triggers a just‑in‑time approval workflow. A designated reviewer receives a notification, reviews the intent, and either approves or rejects the operation. The approval step occurs inside hoop.dev, the only place where the request can be blocked or allowed.

Regardless of the outcome, hoop.dev records the entire session, including the raw command, the response, and the approval decision. This session recording provides the audit evidence required for compliance and for post‑mortem analysis. Because hoop.dev is the gateway, the agent that runs inside the customer network never sees the underlying credential, and the credential never leaves the gateway.

In addition to approval, hoop.dev can mask sensitive fields in query results. For example, if a SELECT returns a column named ssn, hoop.dev can replace the actual numbers with a placeholder before the data reaches Devin’s terminal. This inline masking satisfies privacy requirements without requiring changes to the application code.

All of these enforcement outcomes – just‑in‑time approval, session recording, and inline masking – exist only because hoop.dev occupies the data path. If the gateway were removed, the policies would have nowhere to execute, and the same level of segregation could not be guaranteed.

Setting up the enforcement boundary

  • Deploy the hoop.dev gateway near the target infrastructure. The quick‑start guide walks through a Docker Compose deployment that includes OIDC authentication and default guardrails. Getting started with hoop.dev
  • Register each resource (PostgreSQL, SSH host, etc.) in hoop.dev’s configuration. The gateway stores the service credential, so engineers never handle it directly.
  • Define segregation‑of‑duties policies in the hoop.dev policy UI or YAML files. Specify which roles require approval for write operations and which fields must be masked.
  • Enable session recording. hoop.dev automatically streams logs to a configurable storage backend, creating immutable evidence for auditors.

For deeper guidance on policy design, masking rules, and workflow customization, consult the hoop.dev learning portal.

With the gateway in place, Devin can still use familiar tools like psql or ssh, but every request now passes through a control plane that enforces segregation of duties.

Benefits at a glance

  • Clear division of responsibilities – requestor, approver, auditor.
  • Real‑time blocking of unauthorized commands.
  • Automatic masking of sensitive data in responses.
  • Full session replay for forensic analysis.
  • No credential exposure to end users or agents.

By moving the enforcement point to the data path, organizations gain the confidence that segregation of duties is not just a policy on paper but an enforced reality.

FAQ

Do I need to change my existing tooling?

No. hoop.dev works with standard clients. You continue to run psql, ssh, or kubectl as usual; the gateway intercepts the traffic behind the scenes.

Can I audit past activity?

Yes. All sessions are recorded by hoop.dev and can be replayed on demand. The recordings include timestamps, user identity, and any approval decisions made during the session.

What happens if the gateway is unavailable?

Without hoop.dev, traffic cannot be forwarded, so no operations occur. This fail‑closed behavior ensures that privileged actions cannot slip through when the enforcement layer is down.

Ready to add a real enforcement point for segregation of duties? Explore the source code and contribute on GitHub: hoop.dev repository.

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