PanelLens Privacy Policy
In short:
- PanelLens has no ads, no tracking, no analytics and no sign-in. We never sell data.
- The text in your image is found on your phone. On-device translation happens entirely on your phone and uploads nothing.
- AI translation runs only after you agree to the journey the app shows you. It sends the image and the text found in it to our server and to Anthropic. Our server keeps neither; Anthropic may keep them for up to 30 days under its terms (see below).
- Records that include your IP address or install identifier are deleted automatically within 30 days.
Who we are
PanelLens is an app that translates the text in photos, camera shots and documents. On Android it can also translate web pages; the iOS app (version 1.0.0) offers image and document translation only. It is developed by Jimmy Nguyen in Vietnam ("we", "us"), who is responsible for the data described here. Questions: nhathongnguyen195@gmail.com.
How translation works
Images and documents (Android and iOS)
- You take a photo with the camera, choose a picture from your photo library, or choose a file. PanelLens opens only the image you choose.
- The app finds the text in the image using Google's ML Kit text recognition, which runs on your device.
- On-device: the text is translated by ML Kit's on-device translation. Nothing leaves your device to be translated.
- AI: before the first image of each kind (Documents, Camera, Photos) is sent, the app shows where it goes and asks for your agreement. Without it, nothing is sent. You can switch AI off for a page, and withdraw your agreement at any time in Settings → Privacy. What is sent is described in "When you use AI translation" below. If AI is not available (for example today's free AI pages are used up), the app translates on your device instead and tells you.
- The app draws the translation into the image on your phone. The result is shown on screen only, until you leave it; you can copy the translated text. The app does not save, export or share the image or the translation.
Web pages (Android only)
- PanelLens shows the page you open in a built-in browser and reads its text, and the text inside its images, on your device with ML Kit. These images are never uploaded.
- On-device (the default): the text is translated on your device.
- AI: the text is sent to be translated as described below. Once you choose AI for web pages it stays selected, including for pages translated automatically, until you switch back. If AI translation is unavailable, the app translates on your device instead.
- The translation is shown over the page, on screen only.
Some versions of the app offer only on-device translation. In those, nothing in "When you use AI translation" applies.
When you use AI translation
Images and documents
For each image you translate with AI, the app sends the following to our translation server over an encrypted connection (HTTPS):
- the image, made again on your phone as a JPEG of at most 2,576 pixels on its longest side, without location or other photo metadata;
- the text blocks found on your phone and their positions in the image;
- the two languages and the kind of image (document, camera or photo);
- an install identifier (see below).
Our server passes the image, the text blocks and the languages to Anthropic's Claude API, which reads the whole page and returns the translation of each block. Our server returns only the translated text to the app; the app builds the translated page. Our server does not write the image or the text to disk or to its logs, and drops the image from memory as soon as the translation is returned. Your glossary is not sent with images.
Web pages (Android only)
For each web page you translate with AI, the app sends:
- the pieces of text to translate from the page and its images (never the images themselves);
- translations already made on the same page, so names and terms stay consistent;
- the page's title and the website's domain name (for example example.com, not the full address);
- the two languages;
- an install identifier.
Your glossary terms are replaced by placeholders before anything is sent, so your glossary stays on your phone. Our server sends only the text, the earlier translations, the page title and the languages to Anthropic. It uses the domain name and title only during the request, to refuse sites and works we have blocked, for example after a copyright complaint. It does not store or log the text, the title or the translations.
For both
- Install identifier: a random number the app creates when it is installed, used to apply the daily free limit and fair-use limits. It is not linked to your name, your store account or your device's identifiers, and it is reset when you uninstall the app. Our server does not send it, your IP address or the domain name to Anthropic.
- Anthropic: Anthropic does not train its models on this data. It deletes it within 30 days, unless it is flagged for breaking Anthropic's usage policy (then kept up to 2 years) or the law requires otherwise. See Anthropic's privacy policy.
- Cost records: for each AI request our server keeps its cost (model, size and price) and a log line with counts and timings, with nothing that identifies you and nothing of the image or the text.
Reporting a problem
If you report a problem with a translation, the app sends only the kind of problem, the kind of image and how it was translated, chosen from fixed lists, plus the install identifier for rate limits. It never sends the image or the text. Our server writes these three words in one log line.
How long we keep data
- Images, text, page titles and translations: never kept by our server. They exist only while the request is processed. Anthropic: see above.
- Records with your IP address or install identifier: our server counts requests per IP address and per install identifier to apply limits and prevent abuse. These records are deleted automatically within 30 days.
- Cost records: kept for our accounting. They contain nothing that identifies you.
- Purchase records and coin wallets, if your version offers purchases: see "Purchases" below.
What stays on your device
The following is kept only in the app's private storage on your phone. We cannot see it, and the app does not send it anywhere:
- Your settings, such as languages, translation engine, appearance and display options
- Your agreement to each journey (Documents, Camera, Photos)
- A recent list of images: the kind of image, how it was translated, and when (no image, no text)
- Your glossary (words you want translated a certain way)
- Downloaded language packs
- The install identifier
- On iOS 1.1 and later, if you bought coins: the coin wallet's key and its recovery code (in the iOS Keychain)
- On Android, for web pages: recently opened pages (the address, how it was translated, and when), and what the built-in browser keeps, as any browser does: cookies, site data and cache from the sites you visit
On iOS, Settings → Clear recent list removes the recent list. On Android, Settings → Clear browsing data also removes recent pages, cookies, site data and cache. Language packs can be deleted under Settings → Advanced → Language packs. Uninstalling the app removes everything.
What goes over the internet
Besides AI translation when you choose it:
- Language packs. The first time you translate on your device between two languages, ML Kit downloads the language pack from Google's servers.
- The free AI count. The app asks our server how many free AI pages are left today, sending only the install identifier.
- ML Kit diagnostics. ML Kit sends Google limited diagnostic information so the feature keeps working well. This includes the device model and operating system version, the app's identifier and version, performance data such as how long recognition took, the image format and size, the languages chosen, event types and error codes, and an identifier for this installation that Google says is not meant to identify you or your device. It never includes the image or the text in it. On iOS, ML Kit's translation also uses Google's Firebase installations and remote configuration services. We never receive any of it. See Google's ML Kit data disclosures for Android and iOS.
- Web pages (Android only). The pages you open load directly from those websites, as in any browser. The websites can see your IP address and what they normally see from a browser, and their own privacy policies apply. The system WebView may check addresses with Google Safe Browsing to warn you about harmful sites.
Purchases
If your version of the app offers purchases (for example coins for AI translation):
- Payment is handled by Google Play or the Apple App Store, under their terms and privacy policies. We never see your card or payment details, your name or your store account's email address.
- The store sends us confirmation of the purchase, such as an order number, the product and its date, so we can check it and credit it once. We keep these records as long as needed for accounting, refunds and the law.
Coins (iOS app version 1.1 and later)
- Payment is handled by the Apple App Store, under its terms and privacy policy. We never see your card or payment details, your name, your Apple ID or its e-mail address.
- Coins are kept in a coin wallet on our server, with no name, e-mail or Apple ID: a random wallet id, its balance and a list of the coins added and used, each with its date and time (a purchase; one AI page, with only its kind: document, camera or photo; a refund). You can see this list on the Coins page of the app. For each purchase we keep the store's transaction number, the product, the number of coins and whether it was a test purchase, so we can check it and add the coins only once. The wallet does not contain your images, any text or translation, your IP address or your install identifier.
- Your phone keeps the wallet's key and its recovery code in the iOS Keychain. Our server keeps only a one-way fingerprint (hash) of each, so it cannot show your recovery code again.
- If Apple refunds a purchase, we take the refunded coins back from the wallet; coins already used are recorded as owed and the wallet cannot buy more coins.
- We keep a wallet while it has coins. A wallet with no coins that is not used for 24 months is deleted with its records.
- If you delete the app or change phones, your recovery code moves the coins to the new phone. Without the recovery code we cannot find your wallet, and the remaining coins are lost.
If your version has no purchases, this section does not apply. The iOS app version 1.0.0 has no purchases; coins start with version 1.1.
Permissions
- iOS: PanelLens asks for the camera only when you take a photo to translate, and opens only the photo or file you choose. It does not ask for your location, contacts or notifications.
- Android: PanelLens asks only for internet access. Photos are taken with your camera app and chosen with the system picker, which hand PanelLens only the image you take or choose. It does not ask for your location, contacts or notifications.
What we do not do
- We do not sell, rent or share data for advertising.
- We do not show ads or use advertising identifiers.
- We do not use analytics, crash-reporting or tracking tools. (The ML Kit diagnostics above go to Google, never to us.)
- We do not create accounts or profiles about you. (A coin wallet is not an account: it has no name, e-mail or login.)
- We do not use your images, text or translations to train AI models.
- On Android, we do not block ads or change what websites show, other than placing translations over their text.
Why we use this data
Where the law asks for a legal basis (for example in the European Union and the United Kingdom), we use:
- the image, its text and the languages (and, for web pages on Android, the title and domain) to provide the AI translation you ask for, after your agreement;
- the IP address and install identifier to keep the service secure and fair (our legitimate interest in preventing abuse and controlling costs);
- purchase records to deliver what you bought and to meet accounting and legal obligations.
Where data is processed
Our translation server runs on a server we rent from Vultr, and the request counters and cost records are kept in a database hosted by Neon on Amazon Web Services, both currently in Singapore. Anthropic processes AI translation requests on its own systems, including in the United States. When you use AI translation, the image and its text therefore leave your country. We send only what is listed above, over encrypted connections.
Security
All connections from the app to our server use HTTPS. Only we can access the server and its database, and they hold no images, text or translations. No system is perfectly secure, so we keep as little as possible.
Children
PanelLens is a general translation tool and is not directed at children under 13. We do not knowingly collect personal information from children.
Your choices and rights
- You can translate on your device only, so that nothing is sent to translate: switch AI off for a page, or do not agree to (or withdraw your agreement to) the journey in Settings → Privacy.
- You can clear the recent list (on Android, browsing data), delete your glossary and language packs, or uninstall the app at any time.
- Depending on where you live, you may have the right to ask what data we hold about you, and to have it corrected or deleted, or to object to how we use it. You may also complain to your data protection authority.
We hold no account for you, so we can usually find data about you only from details you give us, such as the time of a request. Records with your IP address or install identifier are deleted within 30 days anyway. To make a request, email us.
Service providers
- On-device text recognition, translation and language packs: Google ML Kit (Google Privacy Policy).
- AI translation: Anthropic's Claude API (Anthropic Privacy Policy).
- Server hosting: Vultr, which rents us the server our translation requests pass through.
- Database hosting: Neon, which hosts the database with the request counters and cost records.
- Purchases, where offered: Google Play and the Apple App Store.
Changes
If we change what the app sends or what we keep, we will update this page and its date before that version is released. For important changes we will also say so in the app or in its store listing.
Contact
Jimmy Nguyen · Vietnam
nhathongnguyen195@gmail.com