Privacy Policy
Last updated: October 22, 2026
This policy explains how the Langria Chrome extension (“Langria – AI Web Page Translator”) the Langria web app, the Langria iOS app (including its Apple Watch app) and the Langria Android app handle your data. Langria has no server of its own: the developer does not receive, collect or store any of your data.
- Text is sent only to the AI service you choose (OpenAI, Anthropic or Google), and only when you ask for a translation.
- Your API keys and settings stay in your browser. API keys can be encrypted with a passkey or passphrase.
- The extension and the web app have no analytics, no tracking and no ads. The iOS and Android apps show ads from Google AdMob; the text you translate is never used for them.
- Your data is never sold.
Data Langria handles
- Website content: the text of the page you choose to translate, or the text you select and translate from the context menu. It is read only after you start a translation (from the toolbar popup, the context menu or the keyboard shortcut). While a page stays translated, text added to it later is read too, and text is sent as it scrolls into view, until you restore the original or reload the page.
- API keys: the keys you enter for OpenAI, Anthropic or Google Gemini.
- Settings: the selected service, model names, target language, translation mode, request limits and UI language.
- Photos (iOS app): photos you take or choose to translate the text in them. The text is read on your device (Apple’s Vision framework); the image is neither sent nor stored. Only the recognized text is sent for translation.
- Photos (Android app): the same, with the text read on your device by Google’s ML Kit (its models come with Google Play services). The image is neither sent nor stored; a photo taken with the camera is kept only in the app’s cache until the next one replaces it. Google Play services may collect usage and diagnostic data about ML Kit, but not the image or its text (ML Kit terms).
- Voice (iOS app): microphone audio while voice input is on, turned into text by Apple’s speech recognition. It is processed on your device when the language supports on-device recognition; otherwise it is sent to Apple, as with keyboard dictation (Apple Privacy Policy). Langria does not store the audio and sends only the text to the AI service. Reading the translation aloud happens on your device.
- Voice (Android app): microphone audio while voice input is on, turned into text by the system’s speech recognition service (Google’s, on most devices). It is processed on your device when the language’s model is installed; otherwise it is sent to that service, as with keyboard voice typing. Langria does not store the audio and sends only the text to the AI service. Reading the translation aloud uses the system’s text to speech.
Langria does not collect your browsing history, personal information, location or any other data.
Where your data goes
When you translate, the text to be translated is sent directly from your browser, using your own API key, to the service you selected:
- ChatGPT: OpenAI (
api.openai.com) — OpenAI Privacy Policy - Claude: Anthropic (
api.anthropic.com) — Anthropic Privacy Policy - Gemini: Google (
generativelanguage.googleapis.com) — Google Privacy Policy and Gemini API Terms
How that service handles the text (for example, retention and whether it is used for training) is governed by its own terms and your account settings with it. Please review them before translating sensitive content. Apart from the mobile apps’ ads (below), Langria sends nothing to any other destination.
The web app published at shigeya-t.github.io/Langria/app/ is hosted on GitHub Pages and loads its fonts from Google Fonts. As with any website, GitHub and Google receive your IP address and browser information when the page loads; they do not receive the text you translate or your API keys. See the GitHub Privacy Statement and the Google Fonts privacy FAQ.
Ads (iOS and Android apps)
The iOS and Android apps show a banner ad from Google AdMob at the end of the page, below the translation. The Chrome extension and the web app show no ads.
- Google’s Mobile Ads SDK collects device and usage data to serve and measure ads, such as the IP address, device model, OS version, app interactions with the ads and, the advertising identifier (on iOS only if you allow tracking (IDFA); on Android the advertising ID, which you can reset or delete in the system settings under Privacy → Ads). See How Google uses information from sites or apps that use its services and the Google Privacy Policy.
- The text you translate, the translations, your API keys, photos and voice are never passed to the ads.
- The iOS app asks for permission to track (App Tracking Transparency). If you decline, ads are not personalized with the advertising identifier. You can change this at any time in the iPhone’s Settings → Privacy & Security → Tracking.
- Where the law requires it (for example in the EEA, the UK and Switzerland), Google’s consent form is shown first, and you can change your choices later from “Ad privacy choices” in the app’s settings.
Storage
- The extension stores API keys and settings in
chrome.storage.localon your device. They are not synced to your Google account. - If you turn on API key encryption, the keys are stored only in encrypted form (AES-GCM). After you unlock them, the decrypted keys are kept in memory (
chrome.storage.session) until the browser closes. - When a service reports a per-minute request limit (for example, the Gemini free tier), the extension keeps that number in
chrome.storage.sessionuntil the browser closes, to space out its requests. - Translated text is not stored. It is shown on the page and discarded when you show the original again or leave the page.
- The web app stores the same kinds of settings in the browser’s
localStorage. - The iOS app stores API keys in this device’s keychain (as an item that is not synced to other devices) and settings on the device (UserDefaults). With the lock on, Face ID, Touch ID or the passcode is needed each time the keys are read from the keychain, and the unlocked keys are kept only in memory until the app moves to the background.
- The Android app stores API keys on the device encrypted with a key kept in the Android Keystore, which never leaves the device, and settings in the app’s private storage. Neither is backed up or moved to a new device. With the lock on, your fingerprint, face or screen lock is needed each time the keys are decrypted, and the unlocked keys are kept only in memory until the app moves to the background.
- If you turn on “Use on Apple Watch”, the iOS app sends the API keys and settings to the Langria app on your paired Apple Watch over Apple’s WatchConnectivity (directly between your devices, not through any server of Langria’s). The watch keeps a copy of the keys in its own keychain (not synced; protected by the watch’s passcode) and sends the text you enter on it straight to the AI service. Turning the setting off deletes the keys from the watch.
Permissions
activeTabandscripting: to read and replace the text of the tab you are translating, only after you ask for a translation in that tab.storage: to keep your API keys and settings on your device.contextMenus: to add “Translate with Langria” to the right-click menu.- Access to
api.openai.com,api.anthropic.comandgenerativelanguage.googleapis.com: to send translation requests to the service you choose. - Camera (iOS app): to photograph text to translate, only when you choose to take a photo. Photos are received only as you pick them in the system photo picker; the app does not ask for access to your whole library. Face ID is used only to unlock your API keys.
- Microphone and speech recognition (iOS app): only when you turn on voice input.
- Android app: the microphone, only when you turn on voice input; the fingerprint or face prompt, only to unlock your API keys. Photos are taken with the system camera app and received only as you pick them in the system photo picker; the app has no camera or storage permission. Text shared with Langria from other apps is put into the original pane, as if you typed it.
- Tracking (iOS app): asked once, to personalize ads with the advertising identifier. The app works the same if you decline.
Use of data
Data is used only to provide translation, Langria’s single purpose. It is not sold, not transferred to third parties other than the AI service you choose, not used for advertising (the mobile apps’ ads described above never receive it), and not used to determine creditworthiness or for lending purposes. The use of information received from Chrome APIs complies with the Chrome Web Store User Data Policy, including the Limited Use requirements.
Deleting your data
Clear the API keys on the extension’s settings page, or remove the extension from chrome://extensions; removing it deletes everything it stored. For the web app, clear the site data for its address in your browser. For the iOS and Android apps, clear the API keys in their settings or delete the app. To delete data held by an AI service, use that service’s account settings.
Children
Langria is not directed at children and does not knowingly collect any information from them.
Changes
If this policy changes, the updated version will be posted on this page with a new date.
Contact
For questions about this policy, please open an issue at github.com/shigeya-t/Langria/issues.