ZestSSH ZestSSH
Terminal Automation Sync Security
All Features
Pricing Download
Docs Changelog FAQ About
v2.3.0 Download

LEGAL

Privacy Policy

Affluent Labs ("we", "us", "our") operates the ZestSSH application for Android, iOS, Windows, macOS, and Linux (the "App"). This Privacy Policy explains how we collect, use, and protect your information.

Last updated: September 23, 2026

Information You Provide Information Collected Automatically Information We Do NOT Collect Sync & ZestSSH Cloud (Optional) Data Storage and Security Voice Input (Optional) Third-Party Services Children's Privacy Your Rights GDPR & CCPA Compliance Changes to This Policy Contact Us

Information You Provide

  • Connection details: Server hostnames, ports, and labels you configure within the App. These are stored locally on your device.
  • SSH keys and credentials: Authentication credentials you create or import. Passwords and private keys are stored exclusively in your device's secure storage (Keychain on iOS/macOS, EncryptedSharedPreferences/Keystore on Android, DPAPI on Windows, libsecret on Linux) and are never transmitted to our servers.
  • Purchase information: When you buy Squeezed, Juiced, or the Bundle, payment is processed entirely by our payment providers: the Apple App Store or Google Play Store for mobile purchases, and Stripe for web and desktop purchases. We do not collect or store your payment details. We keep only a record of which products your account owns (an entitlement), so that a purchase works on every device you sign in on.

Information Collected Automatically

No tracking, analytics, or crash reporting. ZestSSH has zero tracking, zero analytics, and zero crash reporting of its own. We do not use Firebase Analytics, Crashlytics, or any other telemetry service. We have no idea how you use the app, how often you open it, or what features you use. Three libraries inside the App do send some device details to the companies that make them, and this page says exactly what: RevenueCat's purchase library on phones and tablets, Google Firebase Authentication while you are signed in, and Google's QR code scanner on Android.

  • Purchase verification: On Android and iOS the App uses RevenueCat to verify in-app purchase entitlements. RevenueCat receives an app user ID (your account ID if you are signed in, otherwise an anonymous one) and purchase receipt data from the platform stores; it never receives your payment details. Its library checks your purchases each time the App opens on a phone or tablet, and like every app that uses it, it also sends RevenueCat your device model, OS version, languages, store country and app version (and on iOS, Apple's per-developer device identifier). On desktop the App asks our server which products your account owns, and our server checks that with RevenueCat and Stripe.
  • Client version: Sync requests the App makes to api.zestssh.com include the app version and build number so we can keep older clients working, and a report you send states them itself. While you are signed in, requests also carry what the device list needs (see Sync & ZestSSH Cloud below). Nothing else about your device rides along.
  • In-app reports: Only when you send a bug report or a suggestion from the Help panel. The report contains what you typed, its type, the category you picked on a suggestion, the app version and build, platform and OS version, language and plan tier, plus a screenshot only if you attach one (redacted by default: host names, addresses, usernames and fingerprints in the app's own interface are masked, terminal output is not) and a Discord handle only if you type one. It is relayed to the public ZestSSH Discord, which is where the content is then stored, under Discord's retention. If you are signed in to ZestSSH Cloud, your account id accompanies the request so we can apply per-account rate limits and blocks; it is never shown in Discord and is not stored with the report. We keep only short-lived rate-limit counters and a block list of opaque account ids, never email addresses. No install identifier is created or sent, and nothing is ever sent automatically. To have a report removed, email [email protected] with the reference shown on the Discord post.
  • Update check: On desktop the App periodically requests a small version file from zestssh.com so it can tell you when a new release is available. This request sends nothing about you or your device, like any web request, our server sees only your IP address and the time. It is skipped on iOS.
  • Help panel status: While the desktop Help panel is open, the App asks api.zestssh.com once every five minutes whether the service is up, so the panel can show it. This request sends nothing about you or your device; our server sees only your IP address and the time.

Everything else below only ever involves a third party when you choose to use a feature that needs it: signing in for ZestSSH Cloud, voice input, or scanning a QR code on Android. If you never sign in and never use those, the App sends nothing about your activity to anyone; on phones and tablets the purchase check above still runs each time the App opens.

Information We Do NOT Collect

  • We do not collect any analytics, usage data, or telemetry of any kind.
  • We do not collect crash reports or diagnostics.
  • We do not collect, log, or transmit your SSH session content, terminal output, or command history.
  • We do not collect your SSH private keys or passwords.
  • We do not read, intercept, or proxy your SSH connections. All connections are made directly from your device to the destination server.
  • We do not sell or share your personal data with third parties for advertising purposes.
  • We do not serve ads of any kind.
  • Unless you sign in for ZestSSH Cloud, we do not know who you are. We never know what servers you connect to or what you do with the app; signing in tells us your email address and account ID and nothing more.

Sync & ZestSSH Cloud (Optional)

Sync is free on every tier. It works with storage you run yourself (WebDAV, S3, Google Drive, or your own ZestSSH server) with no ZestSSH account at all; Google Drive asks for your Google sign-in only so the App can reach its own app-data folder there. A ZestSSH account (signing in) is needed for two things only: the hosted ZestSSH Cloud backend, which is what the Juiced purchase adds, and linking a web or desktop purchase to your devices. If you sign in:

  • Account identity: On Android and iOS, signing in uses Google Firebase Authentication together with Sign in with Google or Sign in with Apple. Your email address and an account ID are handled by Google/Apple and by Firebase Authentication solely to identify your account. On Windows, macOS, and Linux, signing in opens zestssh.com in your browser, where you sign in with Google or Apple; the App then receives a session token together with your email, name, and avatar URL, and keeps the token in your system's secure storage. We use no other Firebase products, no Firebase Analytics and no Crashlytics, but Firebase Authentication's own library adds your device model and a record of the days the App was used to its requests to Google. Account emails (verifying your address, resetting a password, and two-step sign-in notices) are sent through our email provider, Resend, which receives your email address and the message; if that fails, Firebase sends its own email instead.
  • Your connection configurations and encrypted credential references are synced to the sync backend you choose.
  • Sensitive data (passwords, private keys) is encrypted end-to-end on your device before upload, and we cannot decrypt it, the encryption key is derived from your master password and never leaves your device.
  • If you use the hosted ZestSSH Cloud backend (US-based), our server stores only this encrypted blob plus the operational metadata it needs to run the service: your account email/ID, which products your account owns, the list of devices signed in to your account (only each one's platform and when it signed in, so you can sign it out), the blob size, and when it last changed. It keeps no log of what you do: no record of your syncs, sign-ins or account changes, and no IP addresses. It keeps no backups of your account's data either, so deleting your account removes it from ZestSSH Cloud at once. Cloudflare, which carries traffic to it, and Google Firebase Authentication, which signs you in, handle network and sign-in data under their own policies (see Third-Party Services). It never sees your connections, keys, passwords, or commands in readable form. If you instead choose your own WebDAV, S3, or Google Drive, only the encrypted blob is stored there, together with what opening it with your password needs (the salt, key-derivation settings and wrapped keys), a version number, the time of the last upload and a random id for the device that made it.
  • Account keys: each account that syncs to ZestSSH Cloud gets a pair of public keys, published to our server so that a future version can share team data with you; the matching private keys travel only inside your encrypted sync data.
  • Two-step sign-in (optional): if you set up an authenticator app for your account, its secret is created and kept by Google Firebase Authentication, which checks your codes; it is shown to you once to add to your authenticator app and is never sent to our server. Our server keeps only a keyed hash of each of your recovery codes (never the codes themselves), deletes them when you use one, turn two-step sign-in off, or delete your account, and emails your address when a recovery code is used. Nothing records when you sign in.
  • Profile photo (optional): if you set an account avatar, that image is uploaded to ZestSSH Cloud so it can appear across your devices. You can remove it at any time.
  • You can delete all synced data at any time from the App settings.

Data Storage and Security

  • All connection data and credentials are stored locally on your device by default.
  • Sensitive credentials use platform-native secure storage (iOS/macOS Keychain, Android Keystore, Windows DPAPI, Linux libsecret).
  • The local database is encrypted with SQLCipher using a key held in secure storage, and is stored in the App's private directory.
  • Local backups (.zest files) are encrypted with AES-256-GCM using a password you choose (minimum 12 characters). Backup files never leave your device unless you manually export them.
  • Automation Engine API keys are stored in the same platform-native secure storage as SSH credentials. They are never transmitted to our servers.

Voice Input (Optional)

The terminal offers optional voice-to-text dictation. When you tap the microphone, your speech is transcribed by your device's operating-system speech recognizer (Apple Speech on iOS/macOS, or the Android system recognizer, which on some devices routes to Google). That audio is handled by the platform vendor, not by us, we never receive it, and the microphone is only active while you are actively dictating.

Third-Party Services

  • RevenueCat for purchase verification only. Its SDK runs in the Android and iOS apps; for desktop, our own server asks RevenueCat which products a signed-in account owns. Privacy Policy
  • Apple App Store / Google Play Store for payment processing on mobile.
  • Stripe for payment processing on web and desktop purchases. Privacy Policy
  • Google Firebase Authentication, Sign in with Google, and Sign in with Apple, only if you sign in for ZestSSH Cloud, to identify your sync account. Authentication only; no Firebase Analytics or Crashlytics. Its library sends your device model and the days the App was used to Google. Privacy Policy
  • Resend, to deliver account emails (address verification, password reset and two-step sign-in notices); it receives your email address and the message. Privacy Policy
  • Google ML Kit, the QR code scanner in the Android App; after a scan, it sends usage metrics to Google, as Google discloses for ML Kit. Data disclosure
  • Cloudflare for CDN and proxy services on our website and ZestSSH Cloud infrastructure. Privacy Policy
  • Discord, only for a bug report or suggestion you send yourself from the Help panel: the report is posted to the public ZestSSH Discord and stored there under Discord's retention (see In-app reports above). Privacy Policy

That's the complete list. No analytics providers, no ad networks, no data brokers, no tracking pixels.

Children's Privacy

ZestSSH is not intended for use by children under 13. We do not knowingly collect personal information from children.

Your Rights

  • Delete all locally stored data by uninstalling the App.
  • Delete your synced data from the hosted ZestSSH Cloud backend inside the App: open your Profile (Settings on desktop) and choose Delete Account. Data you sync to your own storage you delete there.
  • Contact us to request deletion of any data associated with your account.
  • Ask us to remove an in-app report you sent: email [email protected] with the reference shown on the Discord post and we delete it there, and clear any block or rate-limit entry tied to your account id.
  • There are no analytics to opt out of, we don't collect any.

GDPR & CCPA Compliance

We comply with the EU General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA). You have the right to access, correct, or delete your personal data. Since we collect no analytics or telemetry, there is very little data to manage. To exercise your rights, contact us at [email protected].

Changes to This Policy

We may update this Privacy Policy from time to time. For material changes we will show a notice inside the App the next time you open it, in addition to updating the "Last updated" date at the top of this page. Continued use of the App after a material change takes effect constitutes your acceptance of the updated policy.

Contact Us

If you have questions about this Privacy Policy, contact us at:

Affluent Labs
Email: [email protected]

ZestSSH
ZestSSH
The Fresh SSH Client

Modern SSH client for Android, iOS, Windows, macOS, and Linux. One-time purchase, no subscriptions.

Product

Features Pricing Download Changelog Security

Resources

Docs FAQ Feedback Support

Community

Discord SSH core (source) About Teams

Legal

Privacy Policy Terms of Service Security Disclosure Delete Account
© 2026 Affluent Labs LLC. All rights reserved.
All systems operational · v2.3.0