API keys in AI chats: you paste the .env, the secrets stay in the company
Do Not Feed AI replaces detected passwords, keys, tokens, host names and IP addresses with stand-ins of the same shape before the text reaches an AI chat. The AI still sees the structure of the configuration and helps find the bug, and the reply comes back with the real names.
or write to us directly: [email protected]
A developer chasing a bug before tomorrow's demo pastes a whole config file, with a log, into an AI chat.
Voice-over text
Wednesday, ten-forty-seven p.m. Chasing a bug, Matt pastes his config and log into an AI chat. Database password, cloud keys, payment keys: everything gets replaced. Until three in the morning. Take two. Now with the extension. Same text, same paste. The menu previews the swap. Secrets get stand-ins of the same shape. The reply has the real names. Same Wednesday. This time, Matt gets some sleep. Do Not Feed AI. Your secrets stay with you.
What happens in the film
Wednesday, 10:47 p.m. Matt has a demo for a client tomorrow, and the app won't connect to the database. He pastes the whole .env file and a log into an AI chat. Out with them go the database password, the keys to the cloud and to payments, and, in the log, the e-mails of clients.
The tech lead puts it briefly: whatever left the company, we treat as burned. Replacing all the keys begins, services restart, and in the morning there is a call to the data protection officer about the e-mails. Matt finishes at three in the morning.
Take two, this time with the extension. The same text, the same paste. The icon in the corner shows the number of detected values, and the menu shows exactly what will go to the AI. Secrets get stand-ins of the same shape, and db-prod-01 stays, because it doesn't give the company away. The AI finds a typo in the port, the reply comes back with the real names, and Matt goes to sleep.
What the program detects: API keys, passwords and infrastructure
- passwords in assignments (
DB_PASSWORD=,SMTP_PASS=) and in database connection URLs; - API keys and tokens in over 220 formats of popular services (cloud, payments, code repositories, AI providers), Bearer and JWT tokens, PEM private keys;
- host names: the part that gives the company away changes, for example
db-prod-01.kwadratnet.internalbecomesdb-prod-01.<another word>.internal; - IP addresses: addresses from one subnet land in one substitute subnet, so the AI still sees what talks to what;
- logins, e-mails and other personal data in logs;
- text files dragged into the chat:
.env,.yaml,.json,.logand similar.
The technical profile is on by default; in the extension panel it is called "Technical data". Passwords and keys are kept only in the program's memory and never reach disk.
What the program leaves on purpose, or may miss:
- generic logins (
root,postgres,deploy), ports, paths, variable names, public domains and the structure of the file: they don't identify the company, and the AI needs them; - a secret in an unusual format that is given away neither by the variable name nor by a known pattern;
- internal project and product names: add those as custom phrases to mask.
What the rules and good practice say
By good security practice, a secret that left the company has to be considered exposed: revoke it, replace it and record the event. That is not a law but a standard that clients and auditors expect.
If the log held personal data of clients, GDPR applies: an entry in the breach register (Art. 33(5)), a risk assessment and, where needed, a report to the data protection authority (Art. 33(1)).
Essential and important entities under the NIS 2 Directive (each EU country implements it in its own law) must manage risk, including supply chain security and basic cyber hygiene (NIS 2 Art. 21), and report significant incidents (Art. 23). Not every IT company is such an entity, so it is worth checking.
Questions and answers
Will the AI understand a configuration with swapped values?
In typical tasks, yes. Replacements have the same shape (a key still looks like a key of that service), and the structure, ports and variable names stay. Before sending, the menu shows the exact text the AI will get.
Does it work in a code editor, in a terminal or through the API?
In an editor and a terminal it is the clipboard shortcut that works, not the extension. It is a feature of the program on your computer (Pro and Business), off by default; you turn it on in the program's menu icon. Windows: Ctrl+Win+A (Anonymize) and Ctrl+Win+R (Restore), macOS: Ctrl+Option+A and Ctrl+Option+R. You copy a piece of code, configuration or a log, the shortcut turns the clipboard into text with replacements, you paste it into the AI, then you copy the reply and restore it with the second shortcut. The program reads the clipboard only after you press the shortcut. This is not an extension inside the editor: we don't support editor assistants, API calls or Linux. Note that the system clipboard history (for example Win+V) and clipboard managers may keep the original that was copied before you used the shortcut, so turn them off while you work with secrets.
In the browser the extension works in ChatGPT, Gemini, Copilot and Claude: on Windows in Chrome, Edge and Firefox, on macOS in Chrome and Firefox.
How do we deploy it across a team?
On Windows there is an MSI installer for IT departments (Group Policy, Intune, SCCM): per-computer install for all users or per-user install, registration of the program in Chrome, Edge and Firefox, the unpacked extension and the tray app without autostart. In managed browsers, roll out the extension with a browser policy (in Chrome ExtensionInstallForcelist with the store ID) and place the license file separately on each workstation. On macOS the program goes out as a pkg installer, for example through MDM. Notes for IT: the download repository.
Does it replace a secrets scanner in the repository?
No. A scanner watches the repository, and Do Not Feed AI watches what people paste into AI chats. Those are two different places for a leak.
Does the program send anything over the network?
No. The program doesn't connect to the internet, there is no telemetry, and the license is a signed file checked locally.
Does it work with data from my country?
Partly, and it is best to test it on your own samples. Some detection is universal: e-mail addresses, payment cards (checked by checksum), IBANs, IP addresses and host names, and passwords, keys and tokens in over 220 provider formats. Company names with endings such as Ltd. or GmbH are recognized too. The rules are tuned for Polish data, though: national ID numbers (PESEL), tax and business IDs (NIP, REGON), Polish name forms and Polish address and phone formats. Names, addresses and ID numbers from other countries may be caught less reliably or missed, and the custom phrases list lets you add clients, projects and products yourself. If you work with data from another country, ask for a trial license and test the program on your own examples; we can tell you what is and is not covered.