Privacy Policy

Last updated: 23 October 2026
The short version. TermRover has no accounts and no backend of ours. Your SSH keys, credentials, host profiles, and settings stay on your device, secured with each platform's recommended storage (Android Keystore, iOS Keychain) — we never receive or sell them. The only data sent on our behalf is diagnostics (crash reports and aggregate usage analytics), used to fix bugs and improve the app. It never includes your hosts, credentials, or terminal contents, carries no advertising ID, and you can turn it off in Settings. If you use Agent Calling, your call audio and your coding agent's recent conversation go to OpenAI, which provides the call's voice, and never to us.

TermRover is an SSH and tmux terminal client for iOS and Android. This policy explains what it stores on your device and the only times data leaves it: your own SSH connections, optional voice dictation, optional Agent Calling, and opt-out diagnostics.

What TermRover stores on your device

All of the above is stored locally. TermRover has no backend; none of it is uploaded to us, and it is not included in diagnostics. The only exceptions are an OpenAI API key you add for Agent Calling and your choice of voice, which go to your own host for a call, as described below.

SSH connections

When you open a session, TermRover connects directly from your device to the server you specified, over the SSH protocol. The contents of that session — what you type and what the server returns — flow only between your device and that server. We are not a relay or proxy and have no visibility into this traffic.

Voice dictation (optional)

If you use the microphone button, the app records audio only while you're actively dictating and converts it to text using your platform's built-in speech recognition (Apple's Speech framework on iOS, Android's SpeechRecognizer). Depending on your device, that may run on-device or be sent by the OS to the platform provider (Apple or Google) under their privacy policy, not ours. TermRover never stores the audio or sends it to us — only the resulting text lands in the command composer for you to review.

Agent Calling (optional)

Agent Calling lets you talk by phone with a coding agent (Codex, Claude Code, pi or OpenCode) running on one of your hosts. OpenAI provides the call's voice, whichever agent you call. Nothing goes to OpenAI until you start a call.

TermRover's own infrastructure never receives your call audio, your agent's conversation, your Codex credentials or your API key. What OpenAI does with the audio and context it receives, including whether and how long it keeps them, is governed by OpenAI's terms and policies (for an API key, the terms of your OpenAI API account) and its privacy policy, not by ours.

Permissions we request

Diagnostics (Firebase)

To fix bugs and understand how the app is used, TermRover sends two kinds of diagnostic data to Google's Firebase on both iOS and Android, enabled by default:

Both are tied only to a random, app-generated install identifier — never your name or email — and carry no advertising ID (no Apple IDFA; Android Advertising ID collection is turned off). They never include your hosts, usernames, credentials, known-host data, command history, or terminal input/output. We don't sell or share your data, build ad profiles, or track you across apps or sites. Google processes this data on our behalf under its Firebase terms and retains it on a limited rolling basis (crash data ~90 days).

Your choice. Turn diagnostics off any time in Settings → Diagnostics ("Share crash & usage data").

Data retention and deletion

Because everything is stored locally, you're in control: delete individual host profiles in the app, or uninstall TermRover to remove all of its stored data from your device. The only data held on our behalf is the diagnostics above; to request its deletion, contact us below.

If you set up Agent Calling, TermRover's files on your own hosts live under ~/.termrover (the helper, call attachments, and a log of any messages that never reached your agent), plus the pi extension or OpenCode plugin if you installed them. Delete them to remove Agent Calling from a host. Data sent to OpenAI during a call is handled under OpenAI's policies linked above.

Changes to this policy

If this policy changes, we'll update the date above and post the revised version here. If we ever add a feature that collects or transmits data not described above, we'll disclose it before it ships.

Contact

Questions about privacy? Email [email protected].