What Termic sends, and where
Termic has no server, so there is nowhere for your work to go. What is left is a short list of requests that carry nothing about you, and one of them only happens when you click Update.
The interface is bound by a content security policy that makes anything outside that list fail rather than merely not happen, and the policy is one line in a file you can read before you install.
01
No account
Open the app, add a folder, start an agent. There is no sign-in, because there is nothing to sign in to.
02
No backend
Termic has no server. Nothing to breach, nothing to go down, nothing that can start charging you later.
03
No upload
Prompts, transcripts, diffs and file paths stay on disk. Not encrypted in transit somewhere. Not sent.
the whole list
Every request the app makes
Including the ones triggered by your agent rather than by Termic, because that distinction matters more than it sounds.
| What | Where | When | Avoidable? |
|---|---|---|---|
| Changelog JSON | termic.dev/updates/changelog.json | When the app checks for a new release. | Skip it by not updating. Nothing else depends on it. |
| Changelog markdown | termic.dev/updates/changelog.md | When you open the What's New dialog. | Only fetched if you open the dialog. |
| The release itself | github.com | Only when you click Update, or install with Homebrew. | Download the .dmg by hand instead if you prefer. |
| Your agent's own traffic | Anthropic, OpenAI, Google, GitHub, your package registries | Whenever the agent you launched calls its own API. | Termic is not in that path. With the sandbox on, it is restricted to a hostname allowlist you control. |
Last reviewed: 2026-08-12, against the current release. If you catch a request that is not on this list, file an issue and it is a bug, not a footnote.
the enforcement
One line does the work
Termic renders in a system WebView governed by this content security
policy, from
src-tauri/tauri.conf.json:
connect-src 'self' ipc: http://ipc.localhost ws: wss: https://termic.dev connect-src is the allowlist for every fetch,
XHR and WebSocket the interface can open. Local IPC, local sockets, and
termic.dev. An analytics call or a session
upload added to the interface would not be a policy violation, it would
simply fail.
To be exact about the boundary: this governs the interface, the part that renders and holds your prompts, diffs and file contents. The Rust side downloads the release itself when you click Update, which is the GitHub row in the table above and the only request the policy does not cover.
That is why the list above is short and why it is checkable. You do not have to believe a privacy policy. You can read a config file.
what is not there
The absences are the product
- No Termic account. There is nothing to sign in to.
- No Termic server. There is no backend to be down, breached, or acquired.
- No session upload. Transcripts, prompts and diffs stay on disk.
- No project names, repo names or file paths sent anywhere.
- No licence check, no seat count, no activation, no phone-home to keep working.
- No crash reporter. A crash writes a log to your temp dir and stays there.
- No third-party SDK in the app: no analytics vendor, no error tracker, no feature-flag service.
Each of those is a decision that stays made, because AGPL-3.0 means the version you have cannot be taken away from you. If this project ever changes its mind, the last good commit is still yours to build.
the honest part
Local does not mean the agent is safe
The agent you launch is a program with your shell, your filesystem and your credentials. Keeping Termic off the network does nothing about that, and pretending otherwise would be the same marketing this page exists to avoid.
So there is a sandbox. Each task can be locked to its worktree with
macOS Seatbelt and a network allowlist, pinned when the task is created
so it cannot be switched off halfway through. While testing it, Termic
caught Claude Code reaching for
~/.config/gh/hosts.yml and browser profile
directories while idle. Inside the cage those reads fail. Outside it,
they quietly succeed.
questions
Reasonable follow-ups
Does Termic work offline?
Does Termic collect analytics?
How do I verify any of this?
http. Or run Little Snitch, Lulu or tcpdump and watch the app for a day.Is it really open source, or open core?
What about the sandbox and the proxy? Those touch the network.
Why does this page exist?
Install Termic
Free. AGPL-3.0. macOS and Linux releases now.