Privacy policy · 2026-10-13
MenuLens Privacy Policy
This policy covers the MenuLens iPhone app and its dedicated website. Developer contact: mkjohnny@gmail.com.
Camera, recognition and translation (Menu mode)
Apple Vision recognizes text on the device. Translation uses Apple Translation. Menu mode does not send camera images or recognized text to the developer, Google or the exchange-rate provider. Apple may download language models when a language is first used. Apple system services operate under Apple's policies.
Price comparison mode (version 2.1 and later)
Price comparison is a separate feature from menu translation. The first time you choose it, the app explains it and asks for your consent; if you decline, comparison mode does not open. After you agree, each comparison photo is processed as follows: the app recognizes and converts the shelf price on the device, then re-encodes the photo as a smaller JPEG without its original metadata such as location and capture time and sends it over HTTPS to Google Lens. It also sends Google Search AI mode a question asking for online prices, together with your interface language and comparison region. Google provides the results, which are shown in a web view inside the app.
Google processes the photo, the question and your actions in that view under the Google Privacy Policy, and receives connection information such as your IP address. The app does not send the photo or the converted price to the developer. The Google view inside the app uses separate temporary browsing data, does not use your Google sign-in from Safari, and is cleared when the app is closed. Products and prices from Google may be inaccurate or refer to other sizes; check before buying.
Exchange-rate requests
The app requests USD-based daily rates over HTTPS from open.er-api.com and caches them locally. Requests do not include images, recognized text, names, translation language or selected target currency. The provider and its network services receive the IP address and technical connection information needed to serve the request and process these under their policies. We do not use this information for advertising tracking. See the ExchangeRate-API terms and privacy policy.
Local data
Language choices, currencies, the selected mode, your price-comparison consent, remaining free scans and rate cache are stored in app-local preferences. Recognition and translation caches primarily reside in memory. No account registration is required. The app has no advertising or behavioral analytics SDK.
Photos and sharing
Capturing creates a composite image and a temporary share file locally. An image is added to Photos only when you save it. Sharing sends the image to the app or service you choose. Photos may sync according to your iCloud settings. Captures are not automatically uploaded to the developer.
Purchases
Apple handles payment and Family Sharing. StoreKit verifies transactions and entitlements. We do not receive full payment card details. Apple processes purchase records under its policies. Restore Purchases synchronizes transaction status with Apple.
Deletion and controls
Revoke camera or Photos access in system settings, or use Menu mode only and skip price comparison. Deleting MenuLens removes its local app data, including your price-comparison consent. Data already sent to Google is managed under Google's policies and account settings. Images already saved or shared must be deleted separately in the relevant app or service. Apple manages Apple purchase records.
Website and support email
Website measurement is separate from the app. Only after you agree, the website loads Google Analytics to record page views, MenuLens App Store button clicks, cookie identifiers, advertising attribution identifiers and device/browser technical information. The linked Google Ads account uses these events to measure advertising performance. Google receives a connection IP address and may derive an approximate region under its policies. We do not send precise location, camera images, recognized text or translations, and do not set a user account ID. An App Store click is not an installation or a purchase.
Declining keeps Google measurement code unloaded; browsing and downloading remain available. Google signals and ad personalization are disabled. A browser Global Privacy Control signal keeps optional measurement off. Your choice is stored locally for up to 90 days; analytics cookies are configured to last up to 90 days. Use Privacy choices in the footer to withdraw consent at any time. Withdrawal stops future measurement, clears this subsite's dedicated analytics cookies and reloads the page; it does not automatically delete data already sent to Google. Browser storage restrictions may limit measurement and preference persistence. See the Google Privacy Policy and how Google uses partner-site information.
GitHub Pages hosts this site and may process technical connection logs under the GitHub privacy statement. Support emails and attachments you voluntarily send are used to address your request. Please avoid sending unnecessary sensitive information.
Updates
Changes to data handling will be reflected in this policy and its date. Contact the address above with privacy questions or requests to delete support correspondence.