Privacy Policy
Last updated: November 2, 2026
1. Overview
Intode ("we", "our", "the app") is a mobile SSH IDE that connects to your own servers. We are committed to protecting your privacy. This policy explains what data we collect, how we use it, and your rights.
2. Data We Collect
2.1 Account Information
Intode has no user accounts. There is no sign-up, no sign-in, and no profile. We do not collect your email address, your name, or any other identifier, and we operate no server that could store them.
2.2 Purchase Information
If you subscribe to Intode Pro, the purchase is processed entirely by Google Play or the Apple App Store. Your subscription status (active/expired) is delivered by the store to your device and cached there so the app knows which features to unlock. We never see your payment details, and that status is not sent to us — we run no server that could receive it.
2.3 SSH Connection Data
Your SSH connection details (hostname, port, username, password) are stored locally on your device only. This data is never transmitted to our servers. SSH passwords are stored using the platform's secure storage (Android Keystore / iOS Keychain).
2.4 Crash and Diagnostic Data
Intode uses Firebase Crashlytics, a Google service, on both Android and iOS to learn when the app crashes. Crash reports and the usage events described in 2.5 are the only data that leaves your device and reaches us.
If the app crashes, the next time you open it a report is sent containing:
- The stack trace, the exception or signal type, and the names of the functions involved
- Device state at the moment of the crash — device model, operating system version, CPU architecture, available memory and disk space, screen orientation, and whether the device is rooted or jailbroken
- The app version and bundle identifier, and whether the app was in the background
- A randomly generated install identifier (a Crashlytics Installation UUID and a Firebase installation ID) so we can tell one crashing installation apart from another
There is no account attached, because the app has no accounts. Reports do not include your hostnames, usernames, passwords, SSH keys, file contents, or anything typed into or printed by a terminal. The install identifier is random, is not your advertising ID, is not used to track you across other apps or websites, and is discarded when you uninstall the app. We use these reports for one thing: fixing crashes.
Google processes this data on our behalf; see the Firebase privacy documentation and Google's privacy policy. Crashlytics keeps crash traces and the associated identifiers for 90 days and then begins deleting them.
2.5 Usage Events
Since version 1.2.6, Intode uses Firebase Analytics, also a Google service, to learn which steps people take on the way to using the app and to subscribing — for example, how many people who add a server manage to connect — and which features they use. Since version 1.2.8 it also uses these events to measure whether our own ads work (see 2.6). You can turn all of this off at any time in Settings → Legal → Share usage data; the app then stops sending these events.
The app sends only these events of its own:
- A workspace was added — with the authentication type (password or key) and the number of jump hosts
- A connection succeeded or failed — with the number of jump hosts and, for a failure, its general kind (such as timed out, refused or sign-in rejected), but never the error message; and, once per installation, the first successful connection
- Which screen or tab is shown (for example the file browser, the editor or the terminal)
- A file was opened or saved — with its kind only (code, Markdown, HTML, image, audio or video), never its name or path
- A terminal tab was opened or a terminal was split — with the number of tabs or panes
- A feature panel or preview was opened, or an editor-tab menu action was used — with the name of the feature or action
- The app was opened again on the first, third or seventh day after it was installed
- The upgrade screen was shown — and which feature or limit opened it
- A purchase was started, and how it ended (purchased, cancelled, pending or failed) — with the plan
Each installation also carries one property: whether it is on the free or the Pro plan.
Firebase Analytics also records a few events of its own, such as the first time the app is opened, the start of a session, how long the app was in use, app updates, and in-app purchases (the product and its price). Each event carries the app version, the kind of device (phone or tablet) and its operating system, the device language, the country or region Google derives from your IP address, and a random app-instance identifier so that events from one installation can be counted together. We have turned off Google Analytics’ collection of granular location and device data, so it keeps no city-level location and no device brand or model.
The events never include hostnames, usernames, paths, commands, file names, file contents, or error messages. The app-instance identifier is random, is reset when you uninstall the app, and is not linked to any account — Intode has none. Ad personalization is off in every region, and so is Google signals. Google keeps this event data, and the data tied to the app-instance identifier, for 2 months.
2.6 Measuring Our Ads
We advertise Intode, for example through Google Ads and Apple Ads. To learn whether an ad led to an install, and whether that install went on to connect to a server or to subscribe, the usage events in 2.5 are linked to our Google Ads account. This tells us which campaigns work; it is not used to show you personalized ads, and we do not build profiles of you or sell or share the data with anyone else.
- Android — Firebase Analytics reads the device's advertising ID and the Google Play install referrer (which campaign link, if any, led to the install). You can reset or delete the advertising ID in Android's settings (Settings → Privacy → Ads); the Android ID is not collected.
- iOS — Intode does not use the advertising identifier (IDFA) and never asks for permission to track you. Ads are measured with Apple's privacy-preserving tools instead: SKAdNetwork, which reports installs to the ad network without identifying you, and AdServices, through which Apple tells the app whether the install came from an Apple Ads campaign (the campaign, ad group and keyword numbers only).
- EEA, UK and Switzerland — in these regions the app does not send data for ad measurement at all; only the usage events in 2.5 are collected. The app decides this from the device's country settings.
Turning off Share usage data also stops all of this.
2.7 Data We Do NOT Collect
- Server file contents, terminal commands, or terminal output
- Hostnames, usernames, passwords, or SSH keys
- Precise location (GPS) — only the coarse country or region described in 2.5
- The iOS advertising identifier (IDFA) or the Android ID — the Android advertising ID is used only as described in 2.6
- Contacts, photos, or other personal data
- Anything you type, run, or open inside a session
3. How We Use Your Data
The crash reports described in 2.4 are used to find and fix crashes. The usage events described in 2.5 are used to understand where people get stuck and which features matter, so we can improve the app, and — outside the EEA, UK and Switzerland — to measure how well our own ads work, as described in 2.6. Neither is used to show you personalized ads. Everything else the app needs stays on your device:
- Unlocking Pro features based on the subscription status your store reports to the device
- Customer support — only what you choose to tell us when you email us
4. Data Sharing
We do not sell or rent your data, and we do not share it for other companies' advertising. The parties involved are:
- Google (Firebase Crashlytics, Firebase Analytics and Google Ads) — receives and stores the crash reports described in 2.4 and the usage events described in 2.5, acting as a processor on our behalf, and uses them to report the results of our own ad campaigns as described in 2.6.
- Apple — tells the app, through AdServices, whether it was installed from an Apple Ads campaign (2.6).
- Google Play / Apple App Store — handle subscription billing directly, under their own privacy policies. We are not a party to that transaction beyond the resulting entitlement arriving on your device.
- RevenueCat — since version 1.2.8, receives the store's record of a subscription purchase (the product, price, and the store's transaction identifier) together with a random identifier RevenueCat creates for the installation, so we can see subscription renewals, cancellations and revenue in one place. It acts as a processor on our behalf, does not receive your name or payment details, and does not decide whether Pro is unlocked — the store does. While Share usage data is on, it also receives the Firebase app-instance identifier described in 2.5 so subscription events can be counted with them. See RevenueCat's privacy policy.
- Your own servers — the app connects to hosts you specify. That traffic goes from your device straight to your server and never passes through us.
- Legal requirements — if required by law.
5. Data Storage and Security
Apart from the crash reports in 2.4 and the usage events in 2.5, all app data lives on your device. SSH credentials are held in the platform's secure storage (Android Keystore / iOS Keychain) and never leave it. SSH sessions are encrypted by the SSH protocol itself, directly between your device and your server. Crash reports and usage events are sent to Google over an encrypted connection.
6. Data Retention
Crash reports are retained by Firebase Crashlytics for 90 days and then deleted. Usage events are retained by Firebase Analytics for 2 months and then deleted. Subscription records held by RevenueCat are kept for as long as we use RevenueCat, because they are the history of each subscription; they carry no name, email or payment details. We keep nothing else — the rest of your data persists only on your device, for as long as the app is installed.
7. Deleting Your Data
There is no account to delete. Uninstalling the app removes everything on your device — workspaces, SSH credentials, and cached settings are all local and go with it.
Crash reports and usage events that were already sent carry no account and no identifier we can connect to a person, so there is nothing for us to look up or erase on request; crash reports are deleted automatically after 90 days and usage events after 2 months. To stop sending usage events, turn off Share usage data in Settings → Legal.
To manage or cancel a subscription, use your store's subscription settings (Google Play or the App Store); that is where the purchase lives. If you have a question about any of this, email support@mintcinc.com.
8. Children's Privacy
Intode is not intended for children under 13. We do not knowingly collect data from children.
9. Changes to This Policy
We may update this policy from time to time. Changes will be posted on this page with an updated date.
10. Contact
Questions about this privacy policy? Contact us at support@mintcinc.com.