All posts

How to Implement Human-in-the-Loop Approval for Non-Human Identities

The problem with unchecked non‑human identities Many assume that service accounts and automated bots can be left to run without any human-in-the-loop approval, but the lack of that control creates a blind spot that attackers can exploit. In reality, those identities often hold long‑lived credentials that grant broad access to databases, Kubernetes clusters, or internal APIs. Teams typically embed the same secret in multiple pipelines, copy it into CI runners, and allow the credential to be used

Free White Paper

Human-in-the-Loop Approvals + Non-Human Identity Management: The Complete Guide

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

Free. No spam. Unsubscribe anytime.

The problem with unchecked non‑human identities

Many assume that service accounts and automated bots can be left to run without any human-in-the-loop approval, but the lack of that control creates a blind spot that attackers can exploit. In reality, those identities often hold long‑lived credentials that grant broad access to databases, Kubernetes clusters, or internal APIs. Teams typically embed the same secret in multiple pipelines, copy it into CI runners, and allow the credential to be used whenever a job executes. The result is a moving target for attackers: once a secret leaks, every downstream system becomes vulnerable, and there is no reliable record of which automation performed which action.

Because the credential is static and the connection goes directly from the automation to the target, there is no point at which an approval step can intervene. Auditors cannot trace a specific command back to a human decision, and security teams have no way to block a risky operation before it reaches the database or the cluster. The environment ends up with standing access that is both invisible and ungovernable.

Why human‑in‑the‑loop approval matters for bots

Human‑in‑the‑loop approval introduces a deliberate pause before a privileged operation is allowed to proceed. The precondition is that a non‑human identity must request access, and a policy mandates an explicit human decision for actions that exceed a defined risk threshold. This approach fixes the lack of oversight, but it still leaves the request traveling straight to the target service. Only a dedicated gateway can ensure the request is held until approval is recorded and can create an immutable audit trail of the decision.

The missing piece, therefore, is a control surface that sits between the automation and the resource, forcing every request to pass through a checkpoint that can enforce approval, record the interaction, and apply additional safeguards such as data masking. Only a gateway that occupies the data path can guarantee that the approval outcome is enforced.

hoop.dev as the enforcement point

hoop.dev is a Layer 7 gateway that proxies connections from identities, human or non‑human, to infrastructure such as databases, Kubernetes clusters, SSH hosts, and internal HTTP services. By placing hoop.dev in the data path, every request from a service account or bot must travel through the gateway before reaching the target.

Continue reading? Get the full guide.

Human-in-the-Loop Approvals + Non-Human Identity Management: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

Approval workflow built into the gateway

When a non‑human identity initiates a connection, hoop.dev checks the request against a policy that requires human‑in‑the‑loop approval for high‑risk commands. If approval is needed, the gateway pauses the request and routes it to an approver defined in the policy. The approver can grant or deny the action from a web console or notification channel. Only after a positive decision does hoop.dev forward the command to the backend system.

Session recording and immutable audit

hoop.dev records each session end‑to‑end, capturing the identity that initiated the request, the exact commands issued, and the approval decision. The recorded session can be replayed later for forensic analysis or compliance reporting. Because the recording happens inside the gateway, the backend never sees an unrecorded operation.

Inline data masking for sensitive responses

For workloads that return personally identifiable information or secret values, hoop.dev can mask those fields in real time before they leave the gateway. The masking policy is applied after approval, ensuring that only authorized humans ever see the raw data while the rest of the pipeline receives a sanitized view.

Getting started with human‑in‑the‑loop approval

To adopt this model, deploy the hoop.dev gateway in your network and register the resources you want to protect. Configure OIDC or SAML authentication so that the gateway can verify the identity of both the service account and the human approver. Define a policy that marks specific commands, such as schema changes in a database or privileged pod creation in Kubernetes, as requiring approval. The getting‑started guide walks you through the deployment steps, and the feature documentation provides details on policy syntax and approval routing.

All of the heavy lifting, credential storage, session capture, masking, and approval enforcement, occurs inside hoop.dev, so the automation never handles secrets directly. This separation of duties satisfies the principle of least privilege while giving security teams a clear, enforceable control point.

FAQ

  • Do I need to modify my existing CI pipelines? No. Once hoop.dev is in place, pipelines simply point their client tools (psql, kubectl, ssh, etc.) at the gateway endpoint. The gateway intercepts traffic without requiring code changes.
  • What happens if an approver is unavailable? Policies can define fallback approvers or time‑based auto‑denial. The request will remain paused in hoop.dev until a decision is recorded.
  • Can I audit past approvals? Yes. hoop.dev stores each session and approval decision, making it searchable for compliance audits or incident investigations.

Ready to add human‑in‑the‑loop approval to your non‑human identities? Explore the open‑source repository and start building a safer automation pipeline today.

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