Effective date: April 20, 2026
Privacy Policy
Tapshell is a terminal sharing app. This policy explains what data we collect (very little) and how we handle it.
What we collect
- Device identifier: A SHA-256 hash of your Android device ID, used solely to track free trial status. It is not linked to any personal information.
- Trial record: A timestamp of when your trial started and whether a lifetime purchase was verified. Stored on our server.
- FCM push token: A device-specific token issued by Firebase Cloud Messaging so we can deliver push notifications during an active session. The token is stored on Google's FCM servers and on our server while push notifications are active. It is not used for tracking or marketing.
- Firebase Installation ID: An anonymous per-install identifier generated by Firebase. Used by Firebase SDKs to attribute crash reports and push delivery to a specific install. It rotates over time and is not linked to personal information.
- Crash logs and diagnostics: If the app crashes, Firebase Crashlytics sends a crash report to Google on our behalf. This includes the stack trace, exception details, app version, OS version, device model, RAM, storage, and the Firebase Installation ID. We use this solely to find and fix bugs. We do not intentionally log any personal data or terminal content into crash reports.
- Purchase verification: We verify purchase receipts with Google Play / Apple App Store server-side. We store only the order ID to prevent duplicate redemptions. We do not store payment details.
What we do NOT collect
- No accounts, no emails, no names. We don't collect any personal information.
- No terminal content. All terminal data is end-to-end encrypted with XChaCha20-Poly1305. The relay server cannot decrypt it. The encryption key is shared via QR code and never transmitted over the network. Terminal content is never sent to Firebase, our analytics, or any crash report.
- No advertising. No ad SDKs, no user profiling, no advertising ID usage.
- No usage analytics. We do not use Google Analytics, Firebase Analytics, or any product-analytics SDK. Crashlytics is used only for crash and stability reports — not for tracking feature usage.
- No data sold or shared with third parties beyond the service providers listed below.
Third-party services
- Google Play Billing / Apple StoreKit — processes payments. See Google's privacy policy and Apple's privacy policy.
- Firebase Cloud Messaging (FCM) — delivers push notifications. Receives your FCM push token and Firebase Installation ID. See the Firebase privacy policy.
- Firebase Crashlytics — receives crash reports and diagnostic data (stack traces, OS/device info, Firebase Installation ID) when the app crashes. Used only to diagnose and fix bugs. See the Firebase privacy policy.
We do not use Firebase Analytics, Google Analytics, or any other product-analytics service.
Data storage and security
- Terminal data: Encrypted end-to-end. The relay server is a pass-through — it never sees plaintext.
- Trial data: Stored on a server hosted by DigitalOcean in Sydney, Australia. Contains only: hashed device ID, trial start timestamp, and purchase status.
- Crash data: Stored by Firebase Crashlytics on Google's infrastructure, retained per Firebase's policy (typically up to 90 days for detailed reports, longer for aggregated statistics).
- FCM push tokens: Stored by Firebase Cloud Messaging on Google's infrastructure and on our server while push notifications are active. Tokens become invalid when the app is uninstalled or reinstalled.
- Retention: Trial records are kept indefinitely (they contain no personal information). Crash reports and FCM tokens are retained by Firebase under Google's policies.
- Transmission: All data transmitted off device is sent over HTTPS/TLS.
- We do not sell personal or any other information.
Data deletion requests
Because the app does not use accounts, we identify your data by the Firebase Installation ID and FCM push token associated with your install. To request deletion of the Crashlytics crash reports, Firebase Installation ID, or FCM push token tied to your device, email privacy@tapshell.dev from any address and include either:
- Your Firebase Installation ID (found in the app under Settings → About), or
- A description of the device and approximate dates of use, so we can locate the relevant records in Firebase.
We will delete the matching records from Firebase and from our server within 30 days and confirm by email. You can also trigger deletion of your FCM token at any time by uninstalling the app. Trial records contain no personal data and are retained for fraud prevention, but can also be deleted on request.
Children's privacy
Tapshell is not directed at children under 13, and we do not knowingly collect data from children under 13.
Changes to this policy
If we update this policy, we'll change the effective date at the top of this page. Material changes will also be announced in the app release notes.
Contact
Questions about this policy? Email hello@tapshell.dev.
Data deletion or privacy requests? Email privacy@tapshell.dev.