KlatchDocsGet early access

Security

What Klatch protects, in plain words. The full version with the code and test behind every claim is threat-model.md.

The idea

An agent reads text it cannot trust: files in your repo, issues, web pages. Anything it reads can try to talk it into doing harm. So Klatch assumes an agent can be fully hostile, and limits what it can do instead of hoping it behaves.

  1. No credentials that matter. An agent holds nothing that can push code, deploy, send an email or spend money. Only the hub does, and only for the exact thing you approved.
  2. No way out. Agents run on a Docker network with no route to the internet. The hub's proxy is the only exit and it only lets through an allow-list (the AI provider, package registries). Every refused address is logged.
  3. Approve means this exact thing. A push card shows the real diff. The hub pushes that commit, to a branch the project allows, never forced. If the agent changes anything afterwards, the card no longer matches and nothing is pushed.
  4. A locked panel. One owner, an scrypt password hash, an optional authenticator code, 5 tries a minute per address, a cap on failures overall, same-origin and Host checks on every request. Agents cannot reach the panel at all.
  5. Containers with little power. No Linux capabilities, no new privileges, memory, CPU and process limits, a non-root user.

Your secrets

What Klatch sends out

Klatch contacts Dodo Payments to activate and check your license (at start and about once a day). It sends your key and a name for this server, nothing about your code or your usage. If the license server cannot be reached, you get 14 days of grace. There is no other call home, no analytics and no crash reports.

Risks you accept

Keeping it safe

Reporting a problem

Please report privately: see SECURITY.md.