LensSearch ("the app," "we," "us") is a personal iPhone utility that identifies a physical object from a photo and shows live eBay listings for it. This policy explains what the app does and does not do with your information. It is provided by Dustark ("the provider").
The short version
- No account, no sign-in, no personal profile. We don't ask for your name, email, or any identifier to use the app.
- No analytics, no advertising, no tracking SDKs. The app uses only Apple frameworks plus our own private server proxy.
- Your scans, history, and settings stay on your device. They are not uploaded to us or stored on any server we run. The one exception is credit packs: our server records each pack you buy and how many of its credits are used, so your credits can be restored on a new install or another iPhone. See "Information our server keeps".
- Our server keeps only what it needs to prevent abuse and fix problems: an anonymous per-install key, a count of how many searches it made each month, and anonymous error reports when a scan fails because of a problem on our side. It does not store your photos or results, and it does not link what you search for to your device.
- By default, identification runs entirely on-device (Quick scan). An optional "Deep scan" mode, which uses Google Lens through a search provider, uploads your photo to a third-party image host to perform the match. The app shows you a one-time notice before the first such upload.
Information the app handles
Camera and photos
The app asks for camera access to photograph items. When you pick an image from your library, you choose it in Apple's photo picker and the app receives only that image; it does not read the rest of your library.
How a photo is identified
The app first checks the photo on your iPhone for a product barcode. If it finds one, it searches eBay by that code, and the photo is not uploaded in either mode.
Otherwise it uses one of two scan modes, selectable in Settings › Scan Mode:
- Quick scan (on-device), the default. Text recognition and image classification run entirely on your iPhone using Apple's Vision framework. Your photo never leaves the device in this mode.
- Deep scan (optional). Deep scan uses Google Lens, through a search provider (SerpAPI), to match your photo against images on the web. To do this, the app must send your photo off-device. Before this happens the first time, the app shows a disclosure explaining it. In this mode the photo is:
- stripped of EXIF metadata (including GPS location, device, and timestamp) and downscaled before it is sent;
- uploaded to imgBB, a third-party public image host, by way of our private proxy, so that the identification service can fetch it;
- set to expire automatically after 10 minutes, and additionally requested to be deleted as soon as identification completes — usually within seconds. The expiry is set by our proxy when the image is uploaded, so the 10-minute ceiling applies even if the deletion request does not succeed.
While it exists, the uploaded image is reachable by anyone who has its URL, which is why the retention window is deliberately short. Our proxy passes the photo through to imgBB and does not keep a copy.
If you want photos to remain fully private, use the default Quick scan mode.
Search queries
Once an item is identified, the app sends the resulting product name or barcode number (a text search query) to a search service to retrieve current eBay listings. The query reflects the identified item, not you. These requests go through our proxy (see "Third-party services"). To answer repeat searches faster and at lower cost, the proxy may cache the listings returned for a query for up to 20 minutes. That cache is keyed only by the search text and is not linked to your device.
Data stored on your device only
The following are stored locally on your iPhone and are not sent to us or any server we operate. They are removed when you delete them in the app or uninstall the app:
- Scan history: thumbnails, product names, prices, and results of past scans, retained for up to 90 days. Your 5 most recent products appear under "Recent searches" on the home screen. Without a Pro subscription, the app shows your 7 most recent scans; older scans stay on your device and appear if you subscribe. The full history is a Pro feature.
- Scan cache: recent results, kept up to 5 hours to make repeat scans instant.
- Usage counters and credit balance: how many scans you've used and your credit balance, for enforcing the free tier and packs. Our server also keeps a record of the credit packs you buy (see "Information our server keeps").
- Settings: your scan mode, appearance, and camera options, and whether you've seen the welcome tour and the Deep scan upload notice.
Information our server keeps
All of the app's network requests go through our private proxy (see "Third-party services"). To stop abuse, keep costs bounded, and find problems, the proxy keeps a small amount of information:
- Device attestation key: the public half of the App Attest key your copy of the app creates (see "Device attestation"), with a counter and the dates it was registered and last used. The key is random, created per install, and is not your name, Apple ID, or a hardware identifier.
- Monthly search counts: how many paid searches each attestation key made in a calendar month, so the proxy can enforce a per-install limit. These counts are deleted after 12 months. Older app versions and the iOS Simulator share a single count that isn't tied to any device.
- Aggregate counts: total searches per month and how many requests used each sign-in method, with no device information, used to monitor service health and costs.
- Error reports: when a scan fails because of a problem on our side (for example, our server or a search service didn't respond correctly), rather than something like an unclear photo or no internet connection, the app sends a short error report: which step of the scan failed, a technical error code, the app version, and the iOS version. It doesn't include your photo, what you scanned or searched for, or any device identifier. The proxy also counts the errors it returns. Both are stored only as hourly totals with no device information, used to alert us so we can fix the problem, and deleted after 30 days.
- Credit packs: for each credit pack you buy, the Apple purchase ID, which pack it was, when it was bought, whether it was refunded, and how many of its credits have been used; plus a record of each credit spent, so the same spend is never counted twice. The app sends the pack's signed receipt from Apple, which the proxy checks to confirm the purchase is genuine. This is what lets your credits be restored if you reinstall the app or use another iPhone signed in to the same Apple Account. These records are not stored with your device's attestation key, your IP address, or any other identifier of you or your device. Pack records are kept so their credits stay restorable; spend records are deleted after 90 days. To have your pack records deleted, contact us (see "Contact").
The proxy does not store your photos, the items you scan, your search queries (other than the short-lived cache above, which isn't linked to your device), your results, or your IP address.
Purchases
In-app purchases and subscriptions are processed by Apple through StoreKit. We never receive or store your payment-card details. Apple provides the app a signed receipt confirming each purchase. Subscription status is kept on your device. The receipt for each credit pack is also sent to our proxy so your credits can be restored (see "Information our server keeps").
Device attestation
To protect our server proxy from abuse, the app uses Apple's App Attest to prove requests come from a genuine, unmodified copy of the app. This involves a device-generated cryptographic key, held in your iPhone's Keychain; our proxy keeps only its public key (see "Information our server keeps"). It is not a personal identifier and is not used to track you.
Notifications
The app does not send notifications and does not ask for notification permission. We do not operate a push server and do not send marketing notifications.
Background activity
The app does not perform background network activity. Searches happen only while you are using it.
How information is used
Solely to provide the app's function: identify the photographed item, fetch and display matching eBay listings, remember your scans on your device, protect the service from abuse and runaway costs, and find and fix problems that make scans fail. We do not sell data, share it for advertising, or build user profiles.
Third-party services
Outbound network requests for identification and listings are routed through our private proxy, which runs on Cloudflare and holds our service credentials so they are not embedded in the app. Cloudflare processes your IP address to deliver each request and to apply a rate limit. The proxy forwards requests to:
- SerpAPI: performs the eBay listing search and (in Deep scan mode) the Google Lens match.
- imgBB: temporary public image hosting (Deep scan mode only; uploads expire after 10 minutes and deletion is also requested immediately after use).
In addition:
- eBay: when you open a listing, it opens on eBay's website (or in the eBay app, if installed), which is governed by eBay's own privacy policy.
- Apple: StoreKit (purchases), App Attest (device attestation), and Vision (on-device identification and barcode reading) are provided by Apple.
These third parties process data under their own privacy policies. Please review:
Data retention
Because the app stores your data locally, retention is under your control. Scan history is automatically pruned after 90 days; the scan cache expires after 5 hours. Photos uploaded in Deep scan mode expire from the third-party image host within 10 minutes (see "How a photo is identified"). Cached search results on our proxy expire after 20 minutes. Per-install monthly search counts on our proxy are deleted after 12 months, and error reports and error counts after 30 days. Credit-pack records are kept so their credits stay restorable, and the records of individual credits spent are deleted after 90 days. The attestation public key is kept so the proxy can keep verifying your install's requests; on its own it can't identify you. Deleting the app removes all locally stored data from your device.
Your choices and controls
- Use Quick scan (the default) to keep photos entirely on-device.
- Clear Scan Cache in Settings.
- Delete individual scan-history entries, or clear them entirely, in Scan History; remove an item from Recent searches by long-pressing it.
- Manage or cancel subscriptions in your Apple ID settings.
- Uninstall the app to remove all locally stored data.
Children's privacy
LensSearch is not directed to children and does not knowingly collect information from children under 13 (or the equivalent minimum age in your jurisdiction).
Security
Network traffic uses standard encrypted transport (HTTPS/TLS). Our proxy verifies requests via App Attest (or a fallback token) before forwarding them. On your iPhone, scan history and the scan cache are stored with iOS Data Protection, so they are encrypted while your iPhone is locked. No system is perfectly secure, but because the app holds no account and stores personal data only on your device, the exposure surface is limited.
International users
The app may be used worldwide. Requests routed through our proxy and the third-party services above may be processed on servers located outside your country. By using the app you understand that such processing may occur.
Changes to this policy
We may update this policy as the app evolves. Material changes will be reflected by updating the "Last updated" date above and, where appropriate, an in-app notice.
Contact
Questions about this policy: support@lenssearch.app.