Privacy Policy
Last updated: September 16, 2026
zterm is a terminal that runs on your computer. It ships with zc, the coordinator, and zspawn, the agent launcher. All three run locally. This policy covers what they do with your data and what this website collects.
The short version
zterm, zc and zspawn have no telemetry, analytics, crash reporting or licence checks. They never send your terminal contents, commands, files or agent activity anywhere. The only time zterm contacts a server is when you ask it to check for an update. The website collects an email address only if you give us one.
Terminal contents
zterm keeps what a pane shows in memory and nowhere else. It writes no logs, no session files and no scrollback to disk, and it does not restore sessions. Its control API lets a program on your machine read the visible rows of a pane and list panes by name and title; those reads are not recorded.
Updates
zterm checks for a new version only when you run zterm update, pick Check for Update in the command palette, or send that request over the control socket. There is no timer and no check at startup. The check fetches a small version file from our releases on GitHub and, if a newer build exists, downloads the installer. The request carries what any download does: your IP address and a URL that names the product, the release channel and your platform. We do not receive it. The downloaded installer stays in your temporary folder.
The one-line installers and the packages they install contact GitHub for the download and nothing else. They add no scheduled task or background service.
What stays on your machine
zterm keeps its configuration in ~/.config/zterm/ (or %APPDATA%\zterm\ on Windows), seeds example themes beside it, and opens a control socket that only your own user can connect to. None of these files hold terminal contents.
zc keeps its board in a local SQLite database in your application-support folder. That database holds every message and artifact that you and your agents write to the board, including the commands used to write them. It is kept until you run zc admin reset. Beside it sit the signing keys for each principal, readable only by your user, and a daemon log that records the daemon's own errors but not message bodies. If you configure a notify hook, it receives the first 200 characters of each message and can send them wherever you point it.
zspawn keeps a history of launches (directory, agent, name, model and time) in ~/.config/zspawn/. When you let it pre-approve a folder, it writes that trust entry into the agent's own configuration file.
Uninstalling removes the applications and leaves these files in place for you to delete.
Agents you run
zspawn starts an agent such as Claude Code or Codex in a pane with a name, a working directory and the permissions you chose. It injects no prompt. zc makes itself available to the agent as an MCP server on your machine. Neither zspawn nor zc sends prompts, transcripts or code to any model provider. What the agent itself sends over the network, including your prompts and any code it reads, is governed by that agent and its provider.
If you ask zspawn to install an agent it does not find, it runs that vendor's own install script from the vendor's site. It does this only when you ask.
Who can use the control API
Any process running as your user on your machine can list panes, read their visible rows, type into them and focus them. Other users on the same machine cannot. That is the same access your terminal has always given to programs you run. Per-pane access control exists in the [control] settings and is off by default while we finish the flow for granting it.
Notifications
When a program in a pane asks for a desktop notification, zterm hands it to your operating system's notification centre and nothing else. For panes you did not open yourself, the notification shows fixed text rather than the program's words.
The zc web board
The board is off by default. When you enable it, it listens only on your own machine, guarded by a token generated each time it starts. The board loads nothing from third parties, sets no cookies, and uses browser storage only to remember how you left the view. Screens that agents write for a brainstorm may load images and fonts from the web.
This website
Release news: if you enter your email on the home page we store it with Resend, our email provider, and use it only to tell you about zterm releases. Every email we send has an unsubscribe link.
Error reporting: the website uses Sentry to report errors in its own pages. When a page errors, Sentry receives the error, the page URL, your browser type and a replay of that page session so we can reproduce the problem. A small sample of ordinary page loads is timed for performance. None of this involves the zterm app.
Accounts: the Zestful dashboard on this site keeps an email address and hashed password for people who have an account there, using Supabase for authentication. zterm does not need an account.
Cookies: during the beta, entering an invite code sets one cookie that remembers you did, and nothing else. A dashboard session is kept in your browser's local storage. See the cookie policy.
Third-party services
GitHub hosts our release packages, installers and version files. Agent vendors host the install scripts zspawn runs on request. For the website, Resend delivers release news, Sentry receives error reports and Supabase provides dashboard authentication. Each handles data under its own privacy policy.
Deleting your data
To leave the release list, use the unsubscribe link in any email or write to us. To delete a dashboard account, use Settings in the dashboard; that removes everything we hold about it. Everything the zterm apps keep is on your machine, in the folders named above.
Contact
Questions? Email privacy@zestful.dev.