Skip to content
The Latet mark, an L and a T around an eye whose gaze breaks into pixels The Latet mark, an L and a T around an eye whose gaze breaks into pixels

A local privacy firewall for AI agents

Coding agents and autonomous agents read your files, databases, logs and mailboxes, and send it all to a model in the cloud. Latet swaps every secret and personal value for a realistic fake before it leaves your machine, and puts the real one back locally, so your agent keeps working normally.

AI agents read for you, and autonomous agents such as Hermes Agent, OpenClaw, Goose and OpenHands do it on their own, for hours, with no one reading each step. Every request is checked before it leaves, whatever put the text in it:

What leaves your machine For example What Latet does
Your prompts “Send the IBAN GB82 WEST 1234 5698 7654 32 to Emily Carter” Each value becomes a fake of the same shape, the name with the optional local name model; the answer comes back with the real ones
Files the agent reads .env, config.yaml, test fixtures, a customer export Keys, passwords, connection strings and personal data are masked; files the agent writes get the real values back
Command output and logs docker logs, a stack trace, kubectl describe Tokens, email addresses, public IP addresses and ID numbers in them are masked
Database queries psql, or an MCP server answering SELECT * FROM customers Secret columns always; with strict data mode every value, with fakes that keep joins and counts working
Web pages An admin panel the agent opens with a browser tool The personal data in the page’s text is masked
Instructions CLAUDE.md, AGENTS.md, the system prompt Your name, user name, host name and company domain are masked
History A session resumed ten days later The same value gets the same fake, every time
Screenshots A screenshot of an invoice With the optional text recognition, the text in it is read on your machine and each value is covered with its fake; PDFs are flagged, or not sent (images: block)
What no pattern finds “Mark from sales is quietly interviewing at a competitor” The optional local reviewer, a language model of yours, finds it before it leaves, following Latet’s instructions and your own guidance: what counts as sensitive in your work, everywhere or in one project

Detects before anything leaves

Secrets (API keys, tokens, passwords, private keys, credentials in connection strings), personal data (emails, phone numbers, IBANs, card numbers, VAT numbers, the ID and tax numbers of 15 countries), your own terms and formats, and this machine’s identity.

Swaps in realistic fakes

Each value becomes a deterministic fake of the same shape, the same every time, so code and configuration still make sense to the model.

Restores on your machine

Originals are put back locally, in answers, streamed output and tool-call arguments, so the files your agent writes contain the real values.

Adapts to each project

A latet.yaml in a repository adds the project’s own terms and formats, shared with the team, and can never turn protection down.

Reads data by its structure

Secret columns of a query result are always masked, and strict data mode masks every value of the tables, JSON and logs an agent reads.

Reviews what no pattern finds

If you want, a language model on a server of yours reads every text before it leaves: names in passing, health details, a password written in a sentence.

Shows you the evidence

A local dashboard shows exactly what was sent upstream and how each value was masked.

latet dashboard opens a local page with every request your agents sent: the original on your machine next to what the model received, each masked value labelled with what it is and the rule that found it.

One exchange in the dashboard: each block of the request as it is on this machine, next to what was sent to the model, with every masked value highlighted One exchange in the dashboard: each block of the request as it is on this machine, next to what was sent to the model, with every masked value highlighted
Agent How it goes through Latet
Claude Code: CLI, VS Code, JetBrains, with a Pro or Max subscription or an API key Client mode: the Latet plugin masks inside Claude Code; the daemon checks each request
Codex: CLI and Desktop, with ChatGPT or an API key Gateway: the daemon masks and restores
OpenCode, with API-key providers Gateway
Gemini CLI, with an API key or Vertex AI Gateway, with latet gemini
Hermes Agent, OpenClaw, Goose, OpenHands and any agent that takes an OpenAI-compatible base URL Gateway, with your OpenAI, OpenRouter or Anthropic API key
Scripts and SDKs: the OpenAI, Anthropic and Google GenAI SDKs, LangChain, LangGraph, AutoGen, CrewAI, Aider, etc. Gateway, with latet run
GitHub Copilot, JetBrains, Zed and other tools: Copilot in VS Code and its CLI, Junie CLI, JetBrains AI Assistant, Zed, Cline, Kilo Code, Continue, Qwen Code, Crush Gateway, with your API key; Copilot’s inline suggestions are not covered

Not covered: Claude Desktop’s Chat and Cowork signed in to Claude, cloud sessions, Cursor, Windsurf and the other tools whose requests leave from the vendor’s servers: see what Latet cannot protect.

Everything runs on your machine: there is no Latet cloud service, no telemetry and no analytics.