Legal
Privacy policy
RateLens is an Android app that identifies a book, movie, show or product from your camera and shows its ratings from other sites. This page explains what the app and this website collect, who handles it, and how long it is kept. We wrote it to match how the app actually works today.
The short version
- There are no accounts. We never ask for your name, email address or phone number.
- Your phone makes up a random install ID. We only keep a scrambled (hashed) form of it, to apply usage limits.
- When you capture, the photo and the text and barcodes your phone read from it are sent to our server to work out what you pointed at. We do not store your photos.
- Recognition results are kept for 24 hours so the app can recover a capture if the connection drops.
- We do not sell data, show ads, or track you across other apps or sites.
Your install ID
The first time the app connects, it creates a random identifier (a UUID) and saves it in the app's private storage. It is not tied to your Google account, phone number or device hardware IDs. The app sends it with every request to our server.
The server does not store the ID as sent. It runs it through a one-way hash (SHA-256) and uses only the hash to:
- limit how many requests and captures one installation can make, and
- keep each installation's in-progress captures separate from everyone else's.
Your IP address is used the same way for short-term abuse limits: it is hashed, and the per-minute counter built from it is deleted after about a minute.
Photos you capture
The camera only takes a photo when you tap to capture. Your phone then:
- reads any printed text and barcodes in the photo, on the phone, using Google's ML Kit;
- sends that text and those barcodes to our server so it can start looking up likely matches; and
- sends a copy of the photo, downscaled to at most 3,072 pixels on its longest side and saved as a JPEG.
Our server runs on Cloudflare (Workers, Durable Objects, Containers and the D1 database). It uses the photo and text to identify the item, sometimes with help from Anthropic's AI model, then looks up ratings from the services listed below.
Photos are processed in memory and are not saved on our server or in our database. The OCR text and barcodes are not saved either. What is saved is described in the next section.
Typed and voice search
You can also search by typing or speaking a title. The words you search for are sent to our server, which looks up matching titles and their ratings.
Voice search uses your phone's built-in Android speech recognition service (on most phones this is provided by Google). The microphone is only on while the voice search screen is listening. The audio is handled by that speech service under its own privacy terms; RateLens never receives your audio, only the text it produces.
What we keep, and for how long
None of the records below contain your photo, your OCR text, your name or your raw install ID.
| Record | What it holds | How long |
|---|---|---|
| Capture result | Hashed install ID, a random capture ID, a fingerprint (hash) of the request, and the recognition result (titles and ratings). | The result is erased after 24 hours. The small record without the result is kept 30 more days so a repeated request is not charged or run twice. |
| Recognition cache | A hash of the photo and the title it was identified as. It is not linked to your install ID. | 24 hours |
| Book look-up job | Hashed install ID and the words or ISBN you searched for, when a book search needs a slower web look-up. | 24 hours |
| Usage counters | Hashed install ID or hashed IP address and a count. | About a minute for rate limits; until the day or month ends for capture allowances. |
| Installation record | Hashed install ID, plan (for example "free") and the dates it was first and last updated. | While the service runs. See deleting data. |
| Shared catalog | Titles, identifiers and ratings for books, movies, shows and products. Shared by all users and not linked to anyone. | Refreshed from the sources over time. |
Our server also writes short operational logs (for example, which address was called and how long it took) to Cloudflare's logging service to fix errors. These logs do not include photos, OCR text or install IDs.
Services that process data
Our server, not your phone, calls these services. Only Cloudflare and Anthropic receive anything from your photo. The rating services receive a title, the words you searched for, or an identifier such as an ISBN. They never receive your photo, install ID or IP address.
| Service | What it does | What it receives |
|---|---|---|
| Cloudflare | Hosts our server, database and this website. | Everything the app sends: photo, text, barcodes, hashed IDs, and your IP address as the network provider. |
| Anthropic | AI model that reads the photo to identify items. Also runs web searches to find ratings for some book searches. | The photo and OCR text. For web searches, only your search words or ISBN and the matched title and author. |
| TMDb | Movie and show details and posters. | A title or your search words, or an IMDb or TMDb ID. |
| OMDb | IMDb, Rotten Tomatoes and Metacritic scores. | An IMDb ID. |
| Open Library | Book details and covers. | Title, author, search words or ISBN. |
| Google Books | Book details. | Title, author, search words or ISBN. |
| Goodreads | Book ratings, read from its public book pages. | An ISBN. |
| searchapi.io | Amazon and Google Shopping ratings for books and products. | A title, search words, barcode number or Amazon product ID. |
For book web searches, our server may also open the matching public page on Goodreads, Amazon, Google Books, Open Library or Barnes & Noble to read its rating. Those sites see a request from our server, not from you.
This product uses the TMDb API but is not endorsed or certified by TMDb.
What stays on your phone
- Your history. Items you identified (title, ratings and when you last saw them) are saved in the app on your phone. They are not uploaded.
- Text and barcode reading. Google's ML Kit runs on the phone. Google's ML Kit documentation says these libraries may send Google anonymous performance and usage metrics about ML Kit itself; they do not send your photos or recognized text.
- Usage events. The app records simple events, such as finishing onboarding, to the phone's own system log for debugging. They are not sent to us or anyone else today.
Permissions
- Camera: shows the viewfinder while the app is open and takes a photo when you tap capture. The app never uses the camera in the background.
- Microphone: only for voice search, only while you are on that screen and it is listening. You can deny it and still use everything else.
- Internet and network state: to reach our server and to tell "no connection" apart from a server error.
The app does not ask for your location, contacts, photos library or files.
Features we plan to add
These are not in the app yet. This section applies once each one is enabled, and we will update this page when that happens.
Subscriptions
Paid plans will be sold through Google Play Billing and managed with RevenueCat. Google handles payment. RevenueCat and RateLens receive purchase receipts (which plan, when it renews, whether it is active), linked to an app user ID rather than your name. Your card number never reaches RateLens or RevenueCat.
Analytics and crash reports
We may add product analytics and crash reporting to see which features are used and fix crashes. These would collect device model, Android version, app version, crash details and anonymous usage events (such as "capture finished"). They would not include your photos, recognized text or searches. We will name the provider here when we choose one.
This website
tryratelens.com sets no cookies, runs no analytics and has no cookie banner because it does not need one. It is hosted on Cloudflare Pages, which processes standard request data (such as IP address and browser type) to serve and protect the site. Pages load the Manrope font from Google Fonts, so Google receives your IP address and browser details when a page loads.
Your choices and deleting data
Because there are no accounts, we cannot look you up by name or email. Most server data deletes itself within 24 hours and the rest within about a month, except the installation record.
- Start fresh: uninstall the app, or clear its storage in Android Settings. This deletes the install ID and your history from the phone. The remaining server records only hold a hash of the old ID, which can no longer be linked to your phone.
- Backups: if Android backup is on, Android may restore the old install ID when you reinstall the app on the same Google account. Clear the app's storage after reinstalling to get a new one.
- Ask us: email support@tryratelens.com with any privacy question or request to delete data. The app does not show your install ID yet; if a future version adds it to settings, include it so we can find and delete the records tied to it.
Children
RateLens is not directed at children under 13, and we do not knowingly collect personal information from them. If you believe a child has sent us personal information, email us and we will delete it.
Where data is processed
RateLens is operated from the United States. Cloudflare runs a global network, so requests may be handled in a data center near you before reaching our server. The services above may process data in the United States or other countries.
Changes to this policy
When we change how the app handles data, we will update this page and the effective date at the top before the change takes effect.
Contact
Questions or requests: support@tryratelens.com. See also our terms of use.