Privacy Policy - TerminaLLM
Last Updated: September 28, 2026
Data Controller
TerminaLLM LLC, 7401 Granada Road, Denver, CO 80221, USA, is the data controller for your personal data under the EU General Data Protection Regulation (GDPR), the UK GDPR, and the California Consumer Privacy Act / California Privacy Rights Act (CCPA/CPRA).
Privacy contact: privacy@terminallm.app
We do not have a separately appointed Data Protection Officer or an EU Article 27 representative at this time. Users in the European Economic Area, the United Kingdom, or Switzerland may direct GDPR / UK GDPR inquiries to privacy@terminallm.app.
Overview
TerminaLLM ("the App") is a mobile SSH terminal client that enables secure remote command execution. This Privacy Policy describes how we collect, use, and protect your information.
Information We Collect
Data Stored Locally on Your Device
The App stores the following information locally on your device using platform-native encrypted storage:
- SSH Connection Details: Host address, port number, and username
- TOTP MFA Secrets: Encrypted secrets for multi-factor authentication
- Host Key Fingerprints: SSH server fingerprints for man-in-the-middle attack prevention
- Security Audit Logs: Connection attempts, authentication events, and security-related activities (up to 1,000 most recent events)
- Session Information: dtach session identifiers for session persistence
- App Preferences: Biometric authentication settings, security profiles, terminal preferences
- Credential Vault (Opt-in): If you enable the Credential Vault, SSH passwords, private keys, and passphrases are encrypted and stored locally using AES-256-GCM authenticated encryption with HKDF-Expand key derivation and per-credential random nonces. Vault entries have configurable TTL expiry and are stored exclusively in platform-native encrypted storage
- Media Drop (Camera/Photo Library): When you use the Media Drop feature, the App requests access to your device camera or photo library on demand via standard iOS/Android permission prompts. Selected images or files are uploaded directly to your remote server at
~/terminallm-uploads/(or/tmp/terminallm-uploads/if home is not writable) via SFTP withchmod 600(owner-read/write only) permissions. Media files are not cached or stored locally by the App: they are streamed from the system picker to the remote server. Camera and photo library access can be revoked at any time in your device settings - SFTP Trash: When you delete files through the SFTP browser, they are moved to
~/terminallm-trash/(or/tmp/terminallm-trash/) on your remote server as a soft delete. These files remain until you manually remove them - Port Forwarding Rules: Saved port forwarding rules (local port, remote host, remote port, rule name) are stored locally per connection profile. No network traffic is intercepted or logged: tunnels bind exclusively to
localhost(127.0.0.1) on your device - Terminal Session Recordings: If you use the recording feature, terminal sessions are captured in asciicast v2 format (.cast files) and stored locally in the app's documents directory. Recordings contain all terminal output and input events with timestamps. Recordings are not encrypted at rest and are never automatically uploaded or shared
- Encrypted Backups: If you create a backup, an encrypted .tlmbackup file is generated containing your selected data categories (profiles, snippets, settings, and optionally vault credentials). Backups are encrypted with AES-256-GCM using a password-derived key (PBKDF2-HMAC-SHA256, 1,000,000 iterations for v3 backups; legacy v1/v2 backup files are auto-upgraded on next save). Backup files are stored locally or shared via the system share sheet: they are never uploaded to TerminaLLM servers
- Custom Terminal Themes: User-created terminal color themes (23 color values per theme) are stored in platform-native encrypted storage
- Connection History: Timestamps, durations, and host information for recent connections (up to 10 entries) are stored locally in encrypted storage for the session resume feature
- Connection Health Check: TCP port reachability results for saved profiles are cached in memory with a 60-second TTL. Health check results are never persisted to disk or transmitted
- Proxy Authentication Token: A JWT token for proxy authentication is stored locally in encrypted storage. Its payload contains the App-generated device identifier, a subscription tier value (still issued by our server for compatibility with earlier versions of the App; this version does not use it), issued-at and expiration timestamps, and the TerminaLLM issuer value. It contains no name, email address, hardware identifier, or advertising identifier
- Device Identifier: A randomly generated device identifier (not linked to your hardware or advertising ID) is created and stored locally for proxy authentication purposes
- Push Notification Tokens: If you enable push notifications for AI prompt alerts, a Firebase Cloud Messaging (FCM) device token is generated by Google's Firebase SDK. This token is sent to the TerminaLLM proxy server and exchanged for an opaque push token (
tlm_prefix) that is stored locally in encrypted storage and deployed to your remote server's~/.terminallm/configfile. Push tokens expire automatically after 30 days and are re-registered on reconnect. No phone number, email address, or personal information is included in push tokens - AI Prompt Monitor: When push notifications are enabled, a lightweight POSIX shell script (
idle-notify.sh) is deployed to your remote server at~/.terminallm/. This script uses dtach-rev's native idle detection (-I/-Cflags) to fire when the terminal session has been idle for a configurable timeout, then sends a notification request to the TerminaLLM proxy server viacurl. Notification payloads are transient: they are relayed as a push notification and not stored on the proxy server - T-TCP Helper Daemon (optional): When you opt into Termina-TCP for fast reconnects, the App deploys an app-bundled Go binary (about 7 to 8 MB uncompressed and 2.8 to 3.2 MB compressed, depending on server architecture) to
~/.terminallm/on your remote server. The daemon multiplexes the SSH session, watches AI-tool idle hooks, and forwards push-notification requests. It is compiled with-trimpathso the compiled binary embeds no developer filesystem paths, opens no listening ports (Unix-socket only, reached through an SSH exec bridge inside your existing SSH session), and uses no third-party telemetry. You can disable deployment and uninstall the daemon any time via Settings → Help → "What we install on your server" → toggle off, or by manually deleting~/.terminallm/on the server - Hive Helper Daemon (Swarm, optional): When you use the Swarm feature, the App can install Hive (about 4 MB depending on your server's architecture: the App bundles builds for macOS and Linux on Intel and ARM, and pushes the two matching binaries to your server over your own SSH connection, never downloading them from a third-party host) to
~/.hive/on your remote server. Hive orchestrates multi-agent Swarm sessions. Its daemon listens only on localhost (127.0.0.1:7333, never exposed to the network), requires a per-install authentication token stored at~/.hive/auth-tokenon your server, runs only while you use Swarm, and is controlled exclusively through your existing SSH session. Installation happens only when you explicitly tap Install in the Swarm setup, using your own SSH credentials. You can stop the daemon or uninstall Hive at any time from the Swarm screen's Hive menu, or by deleting~/.hive/on the server - Swarm Configurations: Saved Swarm designs (agent rosters, recipes, per-agent model and effort choices) are stored locally in platform-native encrypted storage. The App does not automatically transmit a saved design
- Terminal Links: When the App detects an authentication URL in terminal output (OAuth flows for AI tools, etc.), its action sheet offers Copy URL with instructions to finish sign-in elsewhere; it does not offer Open for authentication links. Ordinary non-authentication links in terminal output can open in your device's external browser. External sites you visit are subject to their own privacy policies; the App does not log the URLs you open
- iOS Live Activities: When an SSH session is active on iOS 16.1+, session metadata (server name, connected AI tool, AI state, and file change counts) is written to an App Group shared container (NSUserDefaults) and displayed on the Lock Screen and Dynamic Island via iOS Live Activities. This data is visible without unlocking your device. Live Activities are automatically ended when you disconnect or the session is idle for 8 hours (iOS system limit)
- Nearby Hosts (mDNS discovery, Android only): The Connect screen's Nearby Hosts feature uses standard mDNS / Bonjour multicast queries (
_ssh._tcp.local) broadcast on your local network to discover SSH-advertising hosts. Queries contain no personal information and are local-only: they never leave your network. Discovery results (hostname, IP, port) are held in memory for the duration of the picker and discarded when the picker closes. Currently shipping on Android only; iOS support is pending Apple's manual approval of thecom.apple.developer.networking.multicastentitlement
Data Transmitted to External Services
- Support Correspondence: If you email support@terminallm.app, privacy@terminallm.app, or legal@terminallm.app, we receive your email address, message content, and any attachments or diagnostic details you choose to provide. We use this information only to respond to your request, troubleshoot issues, and satisfy legal or security obligations.
- Crash Data: Firebase Crashlytics may collect crash reports, stack traces, device model, OS version, app version, timestamps, and diagnostic breadcrumbs. We configure the App not to intentionally include terminal content, SSH credentials, or directly identifying personal information in crash reports. Crash reports are treated as diagnostic data and are not linked by us to your device identifier.
- Proxy server logs: For abuse prevention and operational reliability, our proxy server briefly logs each request's timestamp, IP address, route, and HTTP status. These access logs do not contain message content and are retained for up to 30 days, then automatically deleted
- AI Assistant Messages From Earlier Versions: This version of the App has no AI assistant and sends no chat requests. Earlier versions offered one and may still send a request to our proxy at
/v1/chat/stream. The proxy checks the device identifier in that version's proxy token and then rejects every such request with a notice that the assistant was retired, without reading the request, so the messages it carries are never read, stored, logged, or forwarded to anyone, including Anthropic. A per-device daily usage record in Firestore (date, message count, token count, estimated cost) may remain from use of the assistant before it was retired; the proxy no longer adds to it. The one log line per request that the proxy wrote before the retirement (device identifier, mode, model, OS, token counts) is deleted within 30 days like the access logs above. "Forget this device" does not remove that record; email privacy@terminallm.app to have it deleted
Data We Do NOT Collect
- Passwords (by default): SSH passwords are not stored by default: you enter them at connection time and they are cleared from memory after use. If you opt in to the Credential Vault, credentials are encrypted and stored locally with configurable TTL expiry (see "Credential Vault" above)
- Command History: Commands executed on remote servers are not logged by the App
- Terminal Output: Content displayed in the terminal is not stored or transmitted
- Swarm Agent Traffic: Swarm is a remote control for AI coding agents that run on your own server under your own AI CLI accounts (for example Claude Code or Codex). The launch goal sent to remote agents, their output, and code travel between your device and your server over SSH. This direct execution path does not pass through TerminaLLM servers. Each agent's own network traffic (for example Claude Code calling Anthropic from your server) is governed by that tool's provider, exactly as if you had run it from a desktop terminal
- Location Data: We do not access your location
- Personal Information (proactive collection): We do not request your name, phone number, government-issued identifiers, contacts, calendar, or browsing history. However: if you voluntarily contact us by email (privacy@/legal@/support@terminallm.app), we receive your email address and message content for that correspondence. This version of the App is free and offers no subscription or purchase, so no purchase or subscription metadata is processed. If you subscribed in an earlier version, see Section 5.11 of the Terms of Service. The proxy server may briefly log IP addresses for abuse prevention as described above. The opaque device identifier we generate is treated as personal data under the GDPR's broad definition
Cookies and Tracking Signals
The App is a native mobile application and does not use cookies, web beacons, or browser localStorage. We do not track your activity across other apps or websites and we do not share or sell any data to advertisers. Because the App is not a web browser, we do not receive or respond to "Do Not Track" headers; native-mobile equivalents (iOS Limit Ad Tracking, Android opt-out of ad personalization) do not apply because we do not display advertising and do not use advertising identifiers.
Voice Input
The App offers optional speech-to-text input for dictating terminal commands and Swarm briefs. Two speech engines are available:
- Built-in (platform STT): Uses the device's native speech recognition engine. Platform engines may send audio to their respective servers for processing, depending on your device model and OS version
- Whisper (on-device AI): Runs entirely on-device via whisper.cpp (no audio leaves the device). Creates a temporary WAV file that is deleted immediately after transcription. The speech model itself is not bundled with the App: when you tap Download for a Whisper model in Settings, the App downloads that model file once from Hugging Face (the public
ggerganov/whisper.cpprepository) and keeps it on your device. That download request reveals your IP address and the name of the model file being downloaded to Hugging Face, like any web download; no audio, transcripts, or other personal content is sent
TerminaLLM never permanently stores audio data. Users choose their preferred engine in Settings. Microphone access is requested only when the mic button is tapped.
How We Use Information
All data stored by the App is used solely to provide its functionality:
- Connection Details: Enable quick reconnection to previously accessed servers
- Credential Vault: Enable seamless reconnection without re-entering credentials (opt-in only, encrypted locally; expiry defaults from your security profile, where Careful and Standard keep entries until you delete them and Locked down has no vault, and you can change it in Settings > Security > Vault TTL)
- TOTP Secrets: Verify your identity through multi-factor authentication
- Host Key Fingerprints: Protect against man-in-the-middle attacks
- Audit Logs: Allow you to review security events on your device
- Session Information: Enable resumption of interrupted AI coding sessions
- Media Drop: Upload photos, screenshots, and files to your remote server for use in AI coding sessions
- Port Forwarding Rules: Quickly re-establish SSH tunnels for accessing remote development servers
- Push Notifications: Alert you when AI coding assistants need input while the app is backgrounded
- AI Prompt Monitor: Detect AI tool prompts on your remote server and trigger push notifications
Data Security
Encryption at Rest
- All sensitive data stored using platform-native encrypted storage with AES-256 encryption
Encryption in Transit
- All SSH communications use industry-standard SSH protocol encryption
- Host key verification prevents man-in-the-middle attacks
- Proxy server communications (device registration, push registration, and "Forget this device") use HTTPS/TLS
Additional Security Measures
- Optional multi-factor authentication (TOTP)
- Optional biometric authentication (Face ID / Fingerprint)
- Session timeouts after inactivity
- Rate limiting on authentication attempts
- Screen capture prevention on Android (
FLAG_SECURE) - App-switcher blur on iOS only; iOS provides no API to block an actual screenshot
- Clipboard auto-clear after paste operations
Subscriptions From an Earlier Version
This version of the App is free and offers no subscription or in-app purchase. If you subscribed in an earlier version, that subscription was cancelled and refunded through the platform store when this version shipped (see Section 5.11 of the Terms of Service). If you believe you were not refunded, contact legal@terminallm.app.
Data Retention
- Connection Details: Retained until you uninstall the App or clear app data
- Credential Vault (opt-in): Each entry is kept until its Vault TTL runs out, you clear it, or you turn the vault off. The TTL defaults from your security profile (Careful and Standard: never expires, so entries are kept until you delete them; Locked down: no vault). A TTL you change in Settings > Security > Vault TTL applies to an entry the next time it is saved, such as your next successful connection; it does not retime entries already stored, except that switching to a never-expire profile stops the expiry check for every existing entry immediately. An expired entry is deleted the next time the App looks it up. Turning the vault off, or switching to the Locked down profile, deletes every stored entry
- Audit Logs: Last 1,000 events retained, older events automatically deleted
- Session Data: Retained until you clear session or uninstall the App
- Terminal Recordings: Retained until you manually delete them or uninstall the App
- Encrypted Backups: Backup files exist wherever you saved or shared them; the App does not manage backup file lifecycle after export
- Custom Themes: Retained until you delete the theme or uninstall the App
- Connection History: Up to 10 recent entries retained; older entries automatically removed
- Health Check Cache: In-memory only, cleared when the App is closed (60-second TTL)
- Push Notification Tokens: FCM tokens and proxy push tokens expire after 30 days. Disabling push notifications in settings immediately clears all stored tokens. The server-side monitor script and config at
~/.terminallm/remain on your remote server until you remove them manually or they are cleaned up on next connect with push notifications disabled - Free-Tier Quota Counters From Earlier Versions (server-side): This version of the App has no capped features and sends no quota checks to our proxy. Earlier versions of the App capped two features, file editor saves and session shares, and checked them against the proxy (
/v1/quota/statusand/v1/quota/consume), and the proxy still answers those versions. For each device and capped feature an earlier version checked, our server stores one small record in Firestore (a count, the current daily window identifier, and a last-updated timestamp), keyed to that device's identifier. These records are deliberately durable: they are not deleted when you uninstall the App, clear app data, or update to this version, and they carry no automatic expiry. When a new daily window starts, the stored count resets in place rather than the record being deleted. Settings > Security > "Forget this device" deletes any subscription record from an earlier version and the push-token mappings for your device but does not delete these quota records. To have them deleted, email privacy@terminallm.app or legal@terminallm.app; the App does not display the device identifier, so tell us your platform and roughly when you used an earlier version, and we will work with you to find the matching records and process the request within 30 days - Feature-Use, Quota, and Attribution Event Logs From Earlier Versions: This version of the App sends no feature-use, quota, or attribution events. Earlier versions posted a short event to our proxy when you used certain paid or capped features (
/v1/usage/log,/v1/quota/status,/v1/quota/consume) or answered the optional "Where did you hear about us?" card (anattribution_source_*event on/v1/usage/log), and the proxy still accepts these events from those versions. Each one is written to Google Cloud Logging in our Google Cloud project as a single line carrying only a fixed feature, quota, or attribution name, the device identifier, the subscription tier our server resolved for that device, and, for quota checks, the resulting count, cap, and daily window. No terminal content, commands, file names or contents, hostnames, usernames, or credentials are included. These lines are kept for that project's Cloud Logging retention period, and "Forget this device" does not delete them - Device Identifier: The copy on your device is retained until you uninstall the App or clear app data, and a new, unrelated identifier is generated if you reinstall. Server-side records keyed to that identifier can outlast the App on your device: any subscription record from an earlier version and the push-token mappings are deleted when you use "Forget this device", while the quota counter records described above are not, and remain until you ask us to delete them by emailing privacy@terminallm.app
Your Data Rights
Access Your Data
You can view your stored audit logs within the App's settings.
Export Your Data
Audit logs can be exported as JSON format from the App settings.
Delete Your Data
- Uninstalling the App removes all locally stored data
- You can clear specific data (saved connections, audit logs) from App settings
For EU / UK / Swiss Residents (GDPR / UK GDPR / FADP)
You have the right to:
- Access your personal data (Art. 15 GDPR)
- Rectify inaccurate data (Art. 16)
- Erase your data ("right to be forgotten") (Art. 17)
- Restrict processing (Art. 18)
- Data portability (Art. 20)
- Object to processing (Art. 21)
- Withdraw consent at any time, where processing is based on consent
- Lodge a complaint with your local supervisory authority (a list is maintained at edpb.europa.eu; UK residents may complain to the Information Commissioner's Office at ico.org.uk)
Legal bases for processing: We process the limited personal data we receive (device identifier, IP address, FCM token, Firebase installation ID, optional email correspondence) on the bases of (a) performance of contract to deliver the App and to wind down any subscription purchased in an earlier version, (b) legitimate interests in operating, securing, and debugging the App, and (c) consent, where required (e.g., for crash reporting where you have not opted out).
To exercise your rights, email privacy@terminallm.app. We will acknowledge your request within 30 days and, in most cases, complete it within that window. We may need to verify your identity (typically by responding from the email you used to contact us, or by confirming the device identifier from within the App). There is no charge for the first request in any 12-month period; manifestly unfounded or repetitive requests may incur a reasonable fee or be refused as permitted by Art. 12(5) GDPR.
For California Residents (CCPA/CPRA)
You have the right to:
- Know what categories of personal information we collect, the sources, the business purpose, and the categories of recipients
- Delete your personal information, subject to limited exceptions (e.g., legal compliance, fraud prevention)
- Correct inaccurate personal information
- Opt out of "sale" or "sharing" of personal information: we do not sell or share personal information for cross-context behavioral advertising, and we have not done so in the preceding 12 months
- Limit use of sensitive personal information: we do not use sensitive personal information for any secondary purpose beyond providing the requested service
- Non-discrimination for exercising any of these rights
To exercise California rights, email privacy@terminallm.app with the subject "California Privacy Request." We do not currently use a "Do Not Sell or Share" link because we do not sell or share personal information; if that ever changes, we will add the link as required by §1798.135.
Authorized Agents and Minors
You may use an authorized agent to submit a request on your behalf, subject to verification under Cal. Civ. Code § 1798.140(d). For users under 16, the CCPA requires opt-in consent before any sale or sharing: we do not sell or share at all, so this is moot, but we honor the rule by default.
Third-Party Services
The App integrates with the following third-party services:
- Google Firebase: Firebase Cloud Messaging (FCM) is used to deliver push notifications to your device when AI tools need input. An FCM device token (an opaque identifier generated by Google's Firebase SDK) is transmitted to Google for push delivery. No message content is stored by Firebase. Firebase Crashlytics is used to collect crash reports (device model, OS version, app version, stack traces, breadcrumbs) to help diagnose and fix bugs. Crash reporting is enabled by default and can be disabled at any time in Settings > Security > Crash Reporting. We do not intentionally include terminal content, SSH credentials, or personally identifying information in crash reports. If incidental data appears in stack frames or log lines, it is processed by Firebase under Google's terms and is not retained by us beyond Firebase's standard reporting window. See Google's Privacy Policy and Firebase Crashlytics data handling
- Google Cloud Run: Our proxy server infrastructure is hosted on Google Cloud Run (US-East region). The proxy does not store message content or push notification payloads
- Hugging Face: If you download a Whisper voice model (see "Voice Input" above), the model file is fetched once from Hugging Face's public
ggerganov/whisper.cpprepository. Hugging Face receives your IP address and the requested model file name as part of that download. No audio, transcripts, or other personal content is sent. See Hugging Face's Privacy Policy
Subprocessors
We use the following subprocessors to provide the App, operate the proxy service, deliver notifications, and diagnose crashes:
| Subprocessor | Purpose | User data processed | Privacy statement |
|---|---|---|---|
| Google Cloud / Firebase | Firestore storage and cloud authentication for the TerminaLLM proxy | Device identifiers, push token mappings, platform, token expiration timestamps, service-account authentication metadata, and, from earlier versions of the App, subscription records and free-tier quota counters | Google Privacy Policy and Firebase Privacy and Security |
| Google Cloud Run | Hosting the TerminaLLM proxy in the US-East region | Device identifiers, request timestamps, IP addresses, routes, HTTP status codes, push notification relay requests, and, from earlier versions of the App, feature-use, quota, and attribution event lines logged with the device identifier and subscription tier | Google Privacy Policy |
| Anthropic | Past processing only: generated replies for the AI assistant of earlier versions of the App. The assistant is retired and our proxy no longer sends Anthropic any data | Before the retirement: conversation messages, model choice, and remote OS and shell names sent by an earlier version's assistant; no device identifier was forwarded | Anthropic Privacy Policy |
| Firebase Cloud Messaging | Push notification delivery for AI prompt alerts | FCM device tokens, opaque TerminaLLM push tokens, platform, notification routing metadata, and transient notification payloads | Google Privacy Policy and Firebase Privacy and Security |
| Firebase Crashlytics | Crash reporting and diagnostics | Crash reports, stack traces, device model, OS version, app version, breadcrumbs, crash timestamps, and any incidental diagnostic data captured in crash context | Google Privacy Policy and Firebase Crashlytics data handling |
| Apple App Store | iOS distribution | Device, IP address, and App Store interaction data processed by Apple under its terms | App Store & Privacy |
| Google Play | Android distribution | Device, IP address, and Play Store interaction data processed by Google under its terms | Google Privacy Policy and Google Play Terms of Service |
Open Source Libraries
The App uses open-source libraries for SSH connectivity and terminal rendering. These libraries do not collect or transmit user data.
Children's Privacy
The App is not intended for children under 13 years of age (or the equivalent minimum age in the user's jurisdiction, e.g., 16 in some EU member states under GDPR). The App's store age rating is set to reflect that an SSH terminal can expose users to unrestricted command execution and arbitrary remote content.
We do not knowingly collect personal information from children. If you believe a child has provided personal information to us, contact privacy@terminallm.app and we will delete the data and any related account state from our systems within 30 days, in accordance with the Children's Online Privacy Protection Act (COPPA, 15 U.S.C. §§ 6501–6506) and equivalent laws in other jurisdictions.
Changes to This Policy
We may update this Privacy Policy periodically. Changes will be noted by updating the "Last Updated" date. Continued use of the App after changes constitutes acceptance of the updated policy.
Contact Information
For privacy-related questions, requests, or complaints:
Mailing address: TerminaLLM LLC, 7401 Granada Road, Denver, CO 80221, United States
GitHub Issues: https://github.com/terminallm-issues/.github/issues
Data Processing Location and International Transfers
Most data processing occurs locally on your device. When you use push notifications, limited data (your device identifier and FCM token) is processed by our proxy server (Google Cloud Run, US-East region) and/or Firebase Cloud Messaging (Google), both of which are located in the United States. Separately, a Whisper model download goes directly from your device to Hugging Face (United States) at your request; only your IP address and the model file name are sent.
For users in the European Economic Area, the United Kingdom, or Switzerland: When personal data is transferred from your jurisdiction to the United States, the transfer relies on (a) the EU-U.S. Data Privacy Framework (DPF) and the UK Extension thereto, where the U.S. recipient self-certifies under that framework (Google LLC is DPF-certified; Anthropic's certification status is published on its trust center), or (b) the European Commission's Standard Contractual Clauses (SCCs) (2021/914) and the UK International Data Transfer Addendum, where DPF certification does not apply. We have evaluated U.S. surveillance law (per Schrems II, C-311/18) and have implemented supplementary measures including end-to-end TLS, minimization (we do not transmit terminal output, credentials, or names), and short retention windows on proxy logs. To request a copy of the relevant transfer mechanism, email privacy@terminallm.app.
This privacy policy is provided for informational purposes. TerminaLLM is designed with privacy as a core principle: we collect minimal data, store credentials locally, and limit external data transmissions to the purposes described in this policy.