Privacy Policy
Is My Food Recalled? helps people scan packaged foods, search U.S. recall information, and optionally monitor a saved watch list for possible-match notifications. The app has no account system, no analytics SDK, and no cross-app tracking, and we do not sell personal data. The free version shows small, non-personalized banner ads on two list screens; an optional subscription removes them.
Information kept on your iPhone
Your watch list can contain:
- A UPC, EAN, or GTIN barcode
- Product name and brand
- Lot or batch code and best-by text you enter
- Scan date and recall-check results
- Notification and remote-monitoring preferences
This information remains on your device until you delete an item or uninstall the app. A random installation identifier and credential are stored in the iOS Keychain so an opted-in device can authenticate to the remote monitoring service.
Product and recall lookups
To identify a product and check recall records, the app sends barcode and product search terms over HTTPS to Open Food Facts and official U.S. government recall services. Those services also receive connection information normally included with an internet request, such as an IP address. Their own privacy terms govern their processing.
The app does not send precise location, contacts, photos, payment information, or advertising identifiers to these services.
Optional nationwide monitoring
Remote monitoring is off until you choose to enable it. When enabled, the monitoring service receives:
- An Apple Push Notification service device token
- A random installation identifier and credential
- The development or production push environment
- Each watched item's barcode, name, brand, lot or batch code, and best-by text
The service stores a one-way hash of the installation credential. It uses the information only to recheck recall sources, match the watched items, and deliver possible-match notifications. The information is associated with a random device installation, not an app account.
Daily recall digest is a separate opt-in, independent of remote monitoring. When it is on, the service receives the device token, the installation identifier and credential, and your device's time zone — the time zone only so the once-a-day notification arrives around 9 AM where you are. It holds no watched-item data unless remote monitoring is also turned on, and a registration created by the digest alone carries an empty watch list. Between digests the service accumulates only the authority, notice identifier, headline, link, and publication date of newly published notices, which are public information about the notices themselves and say nothing about you.
Push delivery
Notifications are delivered through OneSignal, a push-messaging provider, with Apple Push Notification service as the transport. Once you allow notifications, OneSignal receives the device token, the same random installation identifier the monitoring service uses, and basic device details such as iOS version, device model, language, and time zone. OneSignal is not given your watch list or any recall-check result; the notification text it relays names a product only when you have chosen remote monitoring for that product. If OneSignal cannot reach the device, the monitoring service sends the same notification through Apple directly.
Advertising
The free version shows small banner ads at the bottom of the My Foods and Recalls lists, served by Google AdMob. Every request asks Google for non-personalized ads. The app does not show the App Tracking Transparency prompt, does not provide the advertising identifier, and never places an ad beside a scan result or a possible match. To serve and count an ad, Google receives connection information such as an IP address and coarse device details such as model, iOS version, and language; Google's privacy policy governs that processing. The app reports ad impressions and their estimated revenue to RevenueCat with no identifier that is tied to you.
Subscriptions
The ad-free subscription is sold through the App Store and managed by RevenueCat. RevenueCat receives a random app user identifier and App Store transaction data so the purchase can be verified, renewed, and restored on another device signed into the same Apple Account. Payment is handled entirely by Apple; we never see your payment details. Cancel or manage the subscription in App Store settings.
Retention and deletion
- Deleting an item from My Foods removes it from the phone and from the service on the next successful remote sync.
- Turning off Remote nationwide monitoring requests immediate deletion of the service registration, watch list, and queued notifications. If the device is offline, the app reports that removal is pending and retries.
- A service registration expires after 180 days without an authenticated app sync.
- Delivered notifications are removed from the delivery queue immediately. Unresolved delivery records expire within 30 days.
- If Apple reports that a push token is no longer valid, the corresponding registration and queued records are deleted.
- The daily digest's accumulated notice list is cleared when the digest is sent, when the digest preference is turned off, and when the registration is deleted.
- Production backups, if enabled, expire within 30 days.
For immediate deletion from the service, turn off remote monitoring while online before uninstalling the app. If you uninstall without doing so, the 180-day inactivity limit applies.
How information is used and shared
We use information only to provide product lookup, recall checking, watch-list synchronization, notification delivery, banner-ad display, subscription management, security, support, and service reliability. We do not build advertising profiles, and we do not track you across other companies' apps or websites.
Information is processed only by services needed for those functions:
- Apple transports push notifications and processes in-app purchases.
- OneSignal delivers notifications.
- Google AdMob serves the banner ads in the free version.
- RevenueCat manages subscriptions and receives ad-impression reports.
- Open Food Facts supplies community-maintained product metadata and images.
- FDA and USDA publish recall information.
- Fly.io hosts the monitoring service on an encrypted volume in the United States. It is required to protect the information and use it only to supply its service.
The service deliberately excludes installation IDs, device tokens, and watched-product fields from its own operational logs. Fly.io may process limited connection metadata, such as the connecting IP address, for security and reliability under its published terms; its searchable log history covers roughly the most recent seven days, and the service does not export those logs elsewhere.
Security
Network requests use HTTPS. The device credential is generated using Apple's security framework and stored in Keychain. The service stores only a one-way hash of that credential. Access to production storage, secrets, and any backups is restricted to authorized operators.
No transmission or storage method is perfectly secure. The app therefore limits the information it requests and does not ask for an account, password, location, payment information, or health information.
Your choices
You can use product lookups and on-device recall checks without enabling remote monitoring. You can delete individual foods, turn off remote monitoring, or change notification permission in iOS Settings at any time. You can remove the banner ads with the ad-free subscription, manage or cancel it in App Store settings, and use Restore Purchases on the ad-free screen after a reinstall.
For a privacy question or request, email justin@goodmachines.ai. We may need details about the affected installation to investigate, but do not send passwords, health information, or payment information.
Children
Is My Food Recalled? is a general-audience utility and is not directed to children under 13. It does not knowingly request a child's name, contact information, location, or account details.
Changes to this policy
If our practices materially change, we will update this policy, change the effective date, and present any new consent choice required by law or Apple policy before collecting newly covered information.
Contact
Good Machines LLC · 1433 S Main Chapel Way, Suite B201, Gambrills, MD 21054 · justin@goodmachines.ai