Build1 distinct publisher3 min readUpdated
A dev.to writeup makes a point worth stealing: the secret leaves your machine in a prompt, not a commit. The proposed fix is a local proxy that masks values before egress.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A writeup on dev.to lays out a leak path that most secret hygiene does not cover: agents such as Claude Code, Codex, Cursor, Aider and Cline can read files, walk directory trees and run terminal commands, then feed the output back to a model [1]. Ask one to debug a failing deployment, it runs `cat .env`, and the database URL, GitHub token and internal API key in that file can land in the next outbound request [2][3].
The load-bearing observation is about where your existing controls sit. According to the author, `.gitignore` does not prevent this and neither does commit-time secret scanning, because the credential never has to enter Git history to leave the workstation [4]. Repo-boundary tooling was built for a world where the exfiltration route was `git push`. The route now is an HTTPS request your agent makes on your behalf, several hundred times a day.
The author's response is Anonmyz, an open-source local data-loss-prevention proxy that sits on the developer machine between the AI client and the model provider [5]. Per the writeup, it intercepts the outbound request, scans the JSON body for supported secret patterns, swaps detected values for cryptographically random placeholders, keeps the placeholder-to-value mapping in a request-scoped in-memory vault, forwards only the sanitized request, restores the real values locally when the response comes back, then clears the vault [6]. A token becomes something like `GITHUB_TOKEN=[[GITHUB_TOKEN_7F3A9C2D]]` on the wire [7]. Unique placeholders rather than a flat `[REDACTED]` are deliberate: the model can tell two different values apart without learning either, and the return path stays coherent [8].
The interesting engineering is in streaming, which is where naive implementations of this idea fail. Coding agents mostly stream via Server-Sent Events, and a placeholder or a raw secret can be split across arbitrary network chunks, so scanning each chunk independently misses it [9]. The author says the proxy holds a bounded look-behind window, delays emitting bytes that might be the start of a supported secret or placeholder, scans the boundary, and fails closed if a response cannot be handled safely [10], with split-position tests rather than an assumption that one network read equals one logical token [11]. That is the correct instinct, and it is also the part where any competing implementation should be interrogated first.
On architecture, the argument for keeping this local is straightforward: routing prompts through a cloud DLP service adds another party that receives the sensitive prompt [12]. What ships is a loopback reverse-proxy mode, an optional transparent interception mode restricted to allowlisted AI domains, standard and SSE responses, provider adapters, allowlisted header forwarding, metadata-only local audit and metrics, a Codex Safe Session launcher, VS Code integration and a beta JetBrains integration [13]. The core is Go standard library, one binary, no Python or Node runtime, Docker optional [14]. For a thing you want in the path of every agent request, that dependency profile matters more than the feature list.
Two limits to hold onto. Detection is pattern-based, covering categories such as API keys and provider tokens and GitHub tokens [15], so any credential shape that matches no supported pattern crosses the wire intact [16]. And this does not stop the agent reading `.env`; it stops the value crossing the network in cleartext [17]. Everything here is one author describing their own tool.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
Most coding agents stream model output using Server-Sent Events, and a placeholder or a raw secret in an unsafe upstream response can be split across arbitrary network chunks, so an implementation that scans each chunk independently can miss it because neither chunk matches a complete credential pattern.
Anonmyz keeps a bounded look-behind window while processing the stream, delays emitting bytes that might be the beginning of a supported secret or placeholder, scans the combined boundary, and fails closed when the response cannot be handled safely.
The chunk-boundary behaviour is covered with split-position tests rather than assuming that one network read equals one logical token or SSE event.
Tools such as Claude Code, Codex, Cursor, Aider and Cline can read files, inspect directory trees, execute terminal commands, and feed the results back into a model; that context is what makes them useful but also creates a new path for accidental data exposure.
An agent asked to debug a failing deployment may run `cat .env`, whose output contains values such as DATABASE_URL with an embedded password, GITHUB_TOKEN and INTERNAL_API_KEY.
The agent may include that command output in its next model request, at which point the values become part of the outbound prompt and are no longer only on the local machine.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Mechanism well-argued, tool efficacy unverified
The underlying exposure path is internally coherent and needs no external validation to be plausible: agents run commands, command output becomes prompt content, and Git-centric controls never touch that path. Everything about the remedy, however, rests on a single self-published post by the tool's own author — no repository, code review, benchmark, audit or third-party reproduction is present, and the supplied body is truncated exactly where the static security review findings begin. Credit is given for the author's explicit, unusually specific limitation list, which is itself evidence of a disciplined threat model.
No adoption signal in supplied material
The cluster contains a self-announcement only. There are no downloads, stars, releases with version numbers, named deployments, license terms or user disclosures, and a beta JetBrains integration is the sole maturity marker. That is not enough to score adoption in either direction.
Slightly overstated fix, accurately stated problem
Mildly positive rather than strongly so. The problem framing is if anything understated and the post explicitly refuses to claim more than it can ('not magic dust', a long exclusion list, conceded detector blind spots). The overhang is confined to the remedy: a security guardrail's correctness, stream-boundary safety and fail-closed behaviour are presented as settled on the author's word alone, with zero adoption or external review, and the author acknowledges that a bug in a guardrail can create a false sense of safety.
Author-promoter of the tool being recommended
The single source is written by Anonmyz's creator on a developer publishing platform, diagnosing a problem and then presenting their own project as the control, including the self-reported security review. That is a direct promotional incentive with no independent voice in the cluster. It is not scored higher because the project is open source with no pricing or lead-capture in the supplied text, and the author volunteers a substantial list of things the tool does not defend against.
Confident on the problem, thin on the product
High confidence that the described exposure path and the inadequacy of Git-centric controls are real, because they follow from mechanics the source spells out. Low confidence in anything about Anonmyz's effectiveness, maturity or use: one publisher, one first-party author, a truncated body, and no adoption or verification evidence.
build
Your agent needs the API call, not the API key1 distinct publisher
build
Claude Code now outruns Copilot roughly two to one in JetBrains' survey of 15,000 developers1 distinct publisher
build
A 12MB Go binary bets agent cost control is cache stickiness, not a dashboard1 distinct publisher
build
One event per token: the fix went in the proxy, because that was the only box he owned1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 18, 2026