Privacy Policy
TwinSubtitles — last updated April 17, 2026
1. Who we are
TwinSubtitles is an AI-powered subtitle translator and merger available at https://twin-subtitles.web.app and as a mobile application. This policy covers the web app and any native (Android/iOS) builds.
Contact: flashshark@gmail.com
2. Data you provide
- Subtitle files — When you upload a
.srtfile to translate, merge, or preview, the file content is parsed in your browser/device. For language detection and translation, subtitle text is transmitted to our server (Firebase Cloud Functions), which forwards it to Google's Gemini model (via Vertex AI) and returns the result. - Search queries — If you use the "Search" feature, the movie/show title you type is sent to the OpenSubtitles API to look up matching subtitles.
- Account information — If you sign in with Google, Firebase Authentication receives your Google account identifier, email, display name, and profile photo URL. Sign-in is only required for features that call our server (translation, language detection).
3. Data we store
On your device (browser localStorage or app storage)
- Translation cache — previously translated subtitle entries, keyed by a hash of the source text, so repeated work is skipped.
- Session state — your most recent working sessions (up to 5) so you can resume where you left off after closing the tab.
- Display preferences — language order, colors, and styling choices for the merged subtitle output.
This data never leaves your device and you can clear it at any time (see section 6).
On our server
- Usage audit log — each translation or language-detection call is recorded in a Firestore
ai_usagecollection with your Firebase Auth user ID, a timestamp, and the number of batches processed. We use this to detect abuse and to measure cost; we do not store the subtitle text itself in this log. - Analytics events — Firebase Analytics records app lifecycle and usage events such as app opens, screen views (home / search / translate / merge / player), uploads, translation start/completion, and downloads. Events carry coarse metadata (target language code, entry count, file size) but no subtitle contents or personally identifying text.
- Firebase App Check / crash diagnostics — Firebase may collect device-level signals to verify requests come from a legitimate app instance.
Data we explicitly do not retain
- Your uploaded subtitle files are not persisted to our Storage bucket during normal translation. They are sent to the Cloud Function, forwarded to Gemini, and the response is returned to your device.
- We do not retain a copy of the translated output on our server.
4. Data we do not collect
- Advertising IDs — the Android manifest explicitly removes
AD_ID, and Firebase Analytics ad-ID collection is disabled. - Location, contacts, camera, microphone, photos, or files outside what you explicitly upload.
- Payment or billing information — the app is free and contains no in-app purchases.
- Data sold to third parties — we do not sell or rent your data.
5. Third-party services
TwinSubtitles relies on the following processors. Each has its own privacy policy governing data they receive from us:
- Google Firebase (Authentication, Analytics, App Check, Cloud Functions, Firestore, Storage) — firebase.google.com/support/privacy.
- Google Cloud Vertex AI / Gemini — the translation model our Cloud Function calls. cloud.google.com/terms/cloud-privacy-notice.
- Google Sign-In — policies.google.com/privacy.
- OpenSubtitles — used only when you perform a search. opensubtitles.com/en/privacy.
6. Deleting your data
- Local data — clearing the site's storage in your browser (Settings → Site data), or uninstalling the mobile app, removes all sessions, cache, and preferences stored on your device.
- Account and server usage log — to delete your Firebase Auth account and associated
ai_usagerecords, email flashshark@gmail.com from the address tied to your Google sign-in. We will delete within 30 days. - Analytics — Firebase Analytics retains pseudonymous event data according to its configured retention window. You can opt out by uninstalling the app or blocking Firebase endpoints in your browser.
7. Children
TwinSubtitles is not directed at children under 13. We do not knowingly collect data from children. If you believe a child has used the service and provided personal information, contact us and we will delete it.
8. Changes to this policy
We will update the "last updated" date at the top of this page when the policy changes. For material changes affecting how we handle data, we will also note the change on the home page for a reasonable period.
9. Contact
Questions, requests, or complaints: flashshark@gmail.com.