An offboarded contractor still has a personal‑data‑processing script stored in the AutoGen repository. The next developer runs the CI job, pulls the same script, and unknowingly generates a report that contains Brazilian citizens' names and addresses. When the privacy office asks for proof that the data was handled according to lgpd, the team has no logs, no record of who approved the run, and no way to demonstrate that personal fields were protected.
lgpd obliges organizations to prove that personal data is accessed only for legitimate purposes, that each access is authorized, and that the data is masked or deleted when no longer needed. The regulation demands a complete audit trail: who accessed what, when, and under which policy. It also requires that any data exposed to downstream systems be minimized and, where possible, masked in real time.
What evidence lgpd expects from an automated code generator
AutoGen is a powerful tool that can produce code, configuration files, or data‑extraction scripts on demand. To satisfy lgpd, three categories of evidence must be captured:
- Access provenance. Every request to run AutoGen must be tied to a verified identity and recorded with timestamps.
- Policy enforcement. The system must demonstrate that only authorized users could invoke operations that handle personal data, and that any risky commands required explicit approval.
- Data protection actions. When personal fields appear in generated output, the system should mask or redact them automatically, and retain proof that masking occurred.
Without a single point that can enforce these controls, organizations end up stitching together separate logging services, manual approval workflows, and ad‑hoc scripts. The result is a fragile evidence chain that breaks the moment a component is misconfigured or a credential is over‑shared.
Why the traditional setup falls short
Most teams rely on service accounts with broad permissions to run CI jobs. The identity layer (OIDC tokens, service‑account keys) decides who can start a job, but it does not enforce what the job can do once it reaches the AutoGen runtime. The job connects directly to the AutoGen process, reads the source code, and writes output to storage without any gate that can inspect the payload.
In this arrangement:
- There is no real‑time inspection of the data that AutoGen returns, so personal identifiers can leak unchecked.
- Approvals are external to the execution path; a user may approve a change in a ticketing system, but the CI job still runs unmediated.
- Session data is kept only in the CI server’s logs, which are often rotated, compressed, or overwritten, making long‑term retention for audit purposes unreliable.
All of these gaps mean that, even if the organization has a solid identity provider, it cannot claim to generate the lgpd‑required evidence because the enforcement point is missing.
Placing the enforcement point in the data path
To create a trustworthy evidence chain, the enforcement must happen where the request actually travels – the data path between the identity layer and the AutoGen runtime. By inserting a Layer 7 gateway at this boundary, every request can be inspected, approved, masked, and recorded before it ever reaches the generator.
hoop.dev provides exactly that gateway. It proxies connections to AutoGen, validates the caller’s OIDC token, and then applies policy checks on the wire‑level protocol. Because hoop.dev sits in the data path, it is the only component that can guarantee the three evidence categories required by lgpd.
How hoop.dev creates lgpd‑ready evidence
- Session recording. hoop.dev captures the full request and response stream for each AutoGen invocation. The recorded session is stored outside the CI host, preserving a reliable audit record that can be presented to auditors.
- Inline masking. Before the generated output reaches downstream storage, hoop.dev can redact fields that match personal‑data patterns (for example, Brazilian CPF numbers or full names). The masking action itself is logged, proving that the data was protected in real time.
- Just‑in‑time approval. When a job requests a command that accesses a protected data set, hoop.dev can pause the request and route it to a human approver. The approval decision, the approver’s identity, and the timestamp are all recorded as part of the session.
- Identity‑aware policy. hoop.dev reads group membership from the OIDC token and enforces fine‑grained rules such as “only data‑engineers may run generators that output personal data”. The policy enforcement is performed inside the gateway, not by the CI job.
Because hoop.dev is the only place where these controls are applied, the enforcement outcomes exist solely because hoop.dev sits in the data path. Removing hoop.dev would instantly eliminate session logs, masking, and approval records, breaking the lgpd evidence chain.
Deploying the gateway for AutoGen
The deployment follows a three‑step pattern:
- Setup identities. Configure OIDC or SAML with your identity provider so that each developer, CI service account, and automation bot receives a token. This step decides who may start a request but does not enforce any data‑handling rules.
- Insert hoop.dev in the data path. Run the hoop.dev agent close to the AutoGen service, typically as a Docker container or a sidecar in the same Kubernetes pod. The gateway becomes the only reachable endpoint for AutoGen, forcing every request through it.
- Define enforcement policies. In the hoop.dev policy language, specify which commands require approval, which fields must be masked, and which identities are allowed to run privileged generators. Enable session recording and configure retention to meet your audit‑retention schedule.
All of the operational details – the compose file, the Kubernetes manifest, the exact policy syntax – are covered in the getting‑started guide and the broader learn section. The repository on GitHub contains the open‑source code and example configurations.
FAQ
Can hoop.dev prove that personal data was never stored unmasked?
Yes. Because masking happens inside the gateway, the original unmasked payload never leaves the gateway process. The masking log records the field name, the original value hash, and the redacted output, providing verifiable proof for auditors.
How long are session recordings retained?
Retention is a policy you configure in hoop.dev. You can align it with lgpd’s requirement to keep records for the period needed to demonstrate compliance, typically several years, without relying on the CI server’s log rotation.
hoop.dev operates at the protocol layer and adds minimal latency – usually a few milliseconds per request – while providing the critical audit and protection capabilities required by lgpd.
By moving the enforcement point into the data path, organizations can generate the concrete evidence that lgpd demands without building a patchwork of separate tools. hoop.dev makes the evidence chain reliable, auditable, and easy to demonstrate.
Explore the open‑source repository on GitHub to get started.