Thaluna Android Privacy Policy
Updated: October 28, 2026. Applies to Thaluna: Screen Translator for Android, package dev.thaluna.android, including private previews and Free/Pro builds. These versions are intended for adults aged 18 and over. Feature and purchase availability depend on the installed build; a private preview is not a promise of public availability.
Screen translation
Screen sharing starts only after you start a session and approve Android's permission dialog. Thaluna reads the selected area using on-device OCR. Pause stops automatic recognition and translation requests; Stop ends screen sharing. Processing pauses while Thaluna's settings are visible or the phone is locked. Avoid passwords, payment details, private messages and other sensitive screens. Protected screens are not bypassed. There is no microphone recording or Accessibility service.
Captured images, OCR text and translation results are processed in memory. Thaluna does not save them as a translation history or include them in its diagnostic logs. The image picker gives access only to the image you choose. Closing an activity does not necessarily end an active capture session; use Stop.
Basic Offline and Google ML Kit
OCR and Basic Offline translation process input on your phone. Downloading language packs requires a network connection. Google states that ML Kit does not send input images, input text or resulting outputs to Google. ML Kit does send SDK diagnostics and usage information, including device/app details, installation identifiers, performance, configuration, model events and configured translation languages. Local translation does not mean that the entire app never contacts Google.
See Google's ML Kit data disclosure, ML Kit terms and Google's privacy policy.
Optional OpenRouter
When you explicitly choose OpenRouter and confirm an automatic session, changed recognized text, the requested translation language and translation instructions are sent using HTTPS to OpenRouter and the selected model provider. Entered text in the optional text tester requires its own confirmation. Screenshots are not uploaded to OpenRouter. Pause stops automatic requests; Stop ends capture. Several OCR boxes can be batched into one request.
Own API key access authenticates your OpenRouter account and uses separately paid credits. It is optional and is not included in a Thaluna Pro purchase. A user-entered API key stays in process memory rather than being saved by Thaluna; an active session keeps its configured key until it ends. Thaluna does not intentionally put keys, translation content or purchase receipts in analytics or diagnostic reports.
Legacy private shared-Test builds only, including closed-test v17: Test access uses a developer-provided key included in that private package. Testers share one USD 1 total budget, restricted to GPT-6 Luna, with no reset and expiry November 13, 2026 at 01:10 UTC. Access may stop earlier if exhausted or revoked. The key can be extracted from that package; it is not securely protected by the APK. Clearing app storage does not remove a packaged key, but the developer can revoke it. The Free/Pro billing build does not include this shared key. There is no automatic fallback to a user's paid key.
OpenRouter and providers process request metadata under their own policies, including an approximate request country derived by the service, not GPS. Retention, training and account logging depend on the provider and account settings. With developer-funded private Test access, request text and metadata may be accessible through the developer account depending on those settings. Do not submit sensitive content. Thaluna cannot guarantee provider deletion or zero retention. See OpenRouter privacy and OpenRouter terms.
Local settings and Free allowance
Private app preferences store non-secret language/engine/model choices, appearance, capture-area coordinates, overlay positions, disclosure acknowledgements and the daily allowance when enabled. Downloaded ML Kit language packs are stored on the device.
Normal Free builds allow 30 successfully completed translation batches per phone-calendar day. A batch can contain several OCR boxes. The day and used count are stored locally; duplicate-charging fingerprints remain only in bounded process memory and are lost when the process stops. Recognition changes can appear as new text. Empty input and failed translations do not use the allowance. Pro removes this Thaluna limit for both engines, not provider charges or rate limits. Explicitly enabled legacy shared-Test previews remain unlimited and do not enable purchases.
Tutorial, optional rating invitation and app sharing
Private, backup-excluded app preferences store tutorial completion flags, bounded counts of successful translations and completed successful screen sessions, and whether the optional rating invitation has already been attempted. These settings contain no OCR text, translation contents, API keys or purchase receipts, and are not sent to the developer. Clearing app data or uninstalling removes them. No advertising or review-tracking SDK is added for this feature.
The rating invitation is optional and appears outside active screen translation after sufficient use. Dismissing it consumes the automatic invitation for the current local app data. Opening the Google Play listing does not tell Thaluna whether a rating was submitted. The manual rating link remains available in Help.
Share app opens Android's share sheet with the public Google Play link and app name. You choose whether, where and to whom to send it; Thaluna does not send it automatically or access your contacts. Receiving apps and services handle shared content under their own policies. This action does not grant access to a closed test.
Google Play purchases and restoring Pro
There is no separate Thaluna account, advertising SDK or Thaluna subscription. Free/Pro builds use Google Play Billing for the current product and local price, a one-time Pro purchase, purchase checks and acknowledgement. Google Play handles checkout and payment information under its own terms and policies. Thaluna does not receive or store your card number, bank details or Google account password. Product and purchase identifiers, including the purchase token when acknowledging a purchase, are exchanged with Google Play to process and restore Pro.
After confirming and verifying a completed purchase, Thaluna keeps the Google-signed receipt and signature in private app storage excluded from backup, to support offline use. This includes product/package identifiers, a purchase token and purchase metadata. Receipts are not sent to OpenRouter or included in Thaluna diagnostic reports. This version has no developer-operated billing server or automatic receipt upload to the developer.
Restore purchase checks the purchases available to the current Google Play account. A successful check showing no active Pro purchase removes the local unlock; temporary Play or connection errors do not remove a saved verified receipt. Refund or revocation changes require a later successful Play check and cannot be checked while offline. Clearing app data or uninstalling removes the local receipt but does not cancel the Google Play purchase; reinstall and restore with the purchasing account. Refunds are handled through Google Play. The developer can access order-management information made available by Play Console, but not your full card details.
Starting the purchase flow pauses screen translation and hides overlays. Translation does not automatically resume over payment screens; return to your game and tap Resume. See Google privacy and Google Play Billing.
Local diagnostic reports
A local diagnostic log, excluded from backup, contains predefined event/error codes, operation durations, engine and display-mode identifiers and relative event ages. Up to 256 events are retained for up to 48 hours. Each log/report is limited to 64 KB; at most three generated reports are kept. Expired data is cleaned when the app runs, records events, exports or opens a report, not by a deletion service while the app is inactive.
Reports also contain app/Android versions, manufacturer/device model and allowlisted engine, language and model-preset information, not custom model IDs. They contain no API keys, purchase tokens, receipts, account/device identifiers, OCR text, translations, screenshots, IP addresses, installed-app lists, raw exceptions or system logcat dumps.
Help > Export diagnostic report explains the contents before creating a report. Nothing is uploaded automatically. You choose the receiving app and recipient through Android's share sheet; only the selected report gets temporary read-only access. Sharing pauses translation; resume it manually after returning to your game. Delete local reports removes local logs and generated reports. Copies already shared are controlled by the recipient. Diagnostics is available in normal builds as well as previews.
Deletion and contact
End capture before clearing app storage or uninstalling. These actions remove Thaluna's local preferences, receipts and diagnostic files, but not a Google Play purchase, copies already shared or data held by external services. Contact the relevant provider about its data and retention. A shared key packaged in an old private preview can only be disabled for everyone by revocation or expiry, not by clearing app storage.
For questions about Thaluna or a report you voluntarily send, contact thaluna.dev@gmail.com. If you email us, the email address, message and any attached report are received for support and troubleshooting; do not include API keys, payment credentials or sensitive captured content.