Every service account that can run unchecked is a ticking time bomb.
On many on‑prem networks teams still rely on a handful of shared credentials for automation, backup jobs, and monitoring agents, creating a large blast radius from a single secret. Because the same secret is used by dozens of processes, any compromise instantly grants unrestricted access to every database, Kubernetes cluster, or internal HTTP service the secret can reach.
When a breach occurs the attacker can move laterally, dump logs, or alter configuration with no barrier. The organization cannot tell which automation job performed the malicious command, nor can it quickly revoke the secret without breaking dozens of dependent services. The result is a massive blast radius that spans the entire data center.
Many teams try to shrink that blast radius by moving from human passwords to non‑human identities such as service accounts or role‑based tokens. They assign each automation job a distinct identity and grant it the minimum set of permissions required for its primary function. This is a solid step for identity hygiene, but the enforcement still happens at the target system.
In practice the request still travels directly from the service account to the database or Kubernetes API server. The target sees a perfectly valid credential and executes the command without any intermediate check. No audit log records the exact command, no inline mask hides sensitive fields, and no approval workflow can stop a dangerous operation. The blast radius therefore remains unchanged – the identity is better scoped, but the path to abuse is still open.
What the environment really needs is a control point that sits on the data path, where every request can be inspected before it reaches the target. Only a gateway that can enforce policies, capture full session data, and intervene on risky commands can truly limit the damage a compromised non‑human identity might cause.
hoop.dev provides that exact data‑path enforcement. It acts as an identity‑aware proxy for databases, Kubernetes clusters, SSH, RDP, and internal HTTP services. The gateway verifies OIDC or SAML tokens, maps group membership to fine‑grained policies, and then forwards traffic only after applying its guardrails.
Because hoop.dev sits in the gateway, it can record each session, block commands that match a deny list, and mask fields such as credit‑card numbers or passwords in real time. When a request tries to perform a high‑risk operation, hoop.dev can pause the flow and require a just‑in‑time approval from a designated reviewer. All of these actions happen before the target sees the request, ensuring that the enforcement outcomes exist only because hoop.dev is in the data path.
These capabilities shrink blast radius dramatically. If a service account is stolen, the attacker can still present a valid token, but hoop.dev will only allow actions that match the policy attached to that identity. Any attempt to run an unexpected command is blocked or flagged for approval, and the full command sequence is stored for later forensic analysis. This audit trail lets operators pinpoint the exact source of abuse and revoke the offending identity without disrupting other workloads.
hoop.dev is open source and can be self‑hosted on‑prem, so organizations keep control of their data and compliance evidence. It integrates with existing identity providers, so no new credential store is required. The gateway holds the target credentials, meaning the automation processes never see passwords or private keys.
For teams ready to add a data‑path guardrail, start with the getting‑started guide to deploy the gateway in a Docker Compose environment. The learn portal explains how to define policies, enable session recording, and configure inline masking for the most common data‑sensitive fields.
Start exploring the code on GitHub: https://github.com/hoophq/hoop
Why blast radius matters for non‑human identities
Non‑human identities are powerful because they run without human oversight. When a service account is granted broad privileges, any compromise instantly expands the attacker’s reach. The blast radius is the total set of systems that can be affected by a single compromised credential. Reducing that set requires both tighter identity scoping (setup) and a point where policies can be enforced on every request (data path).
How hoop.dev changes the enforcement model
Setup decides who the request is: OIDC tokens, group membership, and role assignments define the non‑human identity. The data path, provided by hoop.dev, is the only place where commands can be inspected, approved, or blocked. Enforcement outcomes, session logs, command blocking, just‑in‑time approvals, and inline masking, exist only because hoop.dev sits in that path.
Practical steps to limit blast radius
- Define a distinct service account for each automation workload.
- Assign the minimum required permissions in the identity provider.
- Deploy hoop.dev as a gateway in front of every target system.
- Configure policies that allow only the expected command set for each identity.
- Enable session recording and inline masking for any data that could be exposed.
- Require just‑in‑time approval for high‑risk operations such as schema changes or privileged container exec.
FAQ
What is a non‑human identity?
A non‑human identity is a service account, machine user, or role that is used by automated processes rather than a person. It is typically issued by an identity provider and can be scoped to specific permissions.
How does hoop.dev reduce blast radius?
hoop.dev inspects every request before it reaches the target, allowing it to block unexpected commands, mask sensitive data, and require approval for risky actions. This prevents a compromised service account from freely executing any operation.
Does hoop.dev replace existing IAM policies?
No. Existing IAM policies still define who the request is. hoop.dev adds a mandatory enforcement layer on the data path, ensuring that policies are applied consistently and that every action is recorded.