All posts

GDPR for non-human identities: governing machine access end to end

In most production environments the non-human identities now outnumber the humans, often by a wide margin. Service accounts, CI runners, and AI agents open connections to databases and clusters around the clock, and GDPR makes no exception for them. The accountability principle applies to every process that touches personal data, whether or not a person is watching. The failure mode is familiar: a machine identity holds a long-lived key, that key has broad scope because narrowing it was never an

Free White Paper

End-to-End Encryption + Non-Human Identity Management: The Complete Guide

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

Free. No spam. Unsubscribe anytime.

In most production environments the non-human identities now outnumber the humans, often by a wide margin. Service accounts, CI runners, and AI agents open connections to databases and clusters around the clock, and GDPR makes no exception for them. The accountability principle applies to every process that touches personal data, whether or not a person is watching. The failure mode is familiar: a machine identity holds a long-lived key, that key has broad scope because narrowing it was never anyone's job, and when GDPR asks who accessed a data subject's records, the trail ends at a shared credential.

Governing non-human identities end to end under GDPR means enforcing one principle without gaps: every access to personal data is attributable, scoped to a purpose, and recorded. This post works through how to enforce that principle on the access path, where it cannot be skipped.

The principle GDPR is enforcing

Strip GDPR down to what it demands of a machine identity and you get data minimisation plus accountability: a process should reach only the personal data it needs, for a stated purpose, and that reach should be provable after the fact. The principle is simple. Enforcing it end to end is where teams lose the thread, because the controls usually live in different places: identity in the IdP, scope in scattered IAM policy, audit in application logs, masking nowhere. A non-human identity slips through the seams between them.

Where end-to-end breaks

Consider a CI runner or an agent with a database credential. The identity provider knows the human who set it up, not the machine making the call. The credential's scope was set once and never tightened. The database logs the connection as the service account, indistinguishable from any other use of that account. Nothing records which personal fields were returned. Each layer is doing its job, but no single layer can answer the GDPR question end to end, because the access itself was never the unit of control.

Make the connection the control point

The fix is to treat the connection to the data as the place where the principle is enforced, not four loosely joined systems. That is an architectural choice: put an identity-aware proxy between the non-human identity and the infrastructure, and let it carry identity, scope, recording, and masking together. hoop.dev is the system built to that shape. It is an open-source Layer 7 access gateway that proxies connections to infrastructure such as databases, Kubernetes, and internal services, and it enforces the same controls on a machine identity that you would demand of a human one.

Continue reading? Get the full guide.

End-to-End Encryption + Non-Human Identity Management: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

End to end, on a single access path, that looks like:

  • The machine identity authenticates through your identity provider, so the actor is a named principal, not a shared key. hoop.dev verifies that identity and reads group membership to drive authorization.
  • Access is scoped just-in-time to the task, so a runner that needs one dataset for one job does not carry standing reach to all of it.
  • The session is recorded at the command level, outside the calling process, so the queries against personal data are captured where the identity cannot rewrite them.
  • Inline masking redacts personal fields in the connection, enforcing minimisation at the moment of access rather than trusting the consumer to discard data later.

For the model behind this, see how hoop.dev governs each connection, and to try it, route a service account through hoop.dev.

What the auditor sees

When the GDPR review lands, the difference is that the principle was enforced at one point, so the evidence is coherent. One record shows the identity, the scope, the exact commands, and the masked fields for every non-human access to personal data. hoop.dev does not certify your GDPR compliance, because no tool can. It generates the evidence for GDPR, continuously and per identity, so governing machines end to end stops being a quarterly scramble and becomes a property of how access works.

FAQ

Do GDPR controls really apply to service accounts and agents?

Yes. GDPR governs the processing of personal data regardless of whether a human or a machine performs it, so a service account or agent that reads personal data falls under the same accountability and minimisation requirements as a person would.

Is hoop.dev GDPR compliant?

It matters less than it sounds, because hoop.dev is self-hosted. It runs in your own infrastructure and never stores your data on a hoop.dev-operated service, so it does not become a separate processor of personal data.

No single tool makes you GDPR compliant in any case. hoop.dev enforces scoped, recorded, identity-bound access for machine identities and generates the evidence for GDPR that your program uses to demonstrate that machine access to personal data was controlled.

hoop.dev is open source, so you can inspect exactly how machine access is governed and recorded at the hoop.dev repository on GitHub.

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