Privacy Policy
Last updated: 8 September 2026
LoyaltyScan is developed by Pieter Santema. This policy explains what data the app collects, how it is used, and what your choices are.
What data the app stores
LoyaltyScan stores your loyalty cards — store name, card number, barcode format, and optional colour preference — locally on your device. It leaves your device only in the cases described below: if you enable iCloud backup, and if you use LoyaltyScan on a paired smartwatch. Both stay within your own devices and account.
The app does not collect analytics, does not track usage behaviour, and does not create or require a user account.
Gift cards and expiry reminders
If you add gift cards, LoyaltyScan stores the details you enter — store name, barcode, the balance you note, the expiry date, and the PIN if you enter one — locally on your device, exactly like your loyalty cards. This data is included in the optional iCloud backup if you have enabled it, and is otherwise never transmitted anywhere.
Expiry reminders are delivered as local notifications, scheduled entirely on your device. No server is involved and no data leaves your device to make reminders work. Notification permission is optional and is used only for these reminders; you can revoke it at any time in your device settings.
iCloud backup (optional, Pro)
If you are a Pro subscriber and choose to enable iCloud backup in Settings, your card data is synced to your personal iCloud account. This data is:
- Stored in your own iCloud container (
iCloud.com.pietersantema.loyaltyscan) - Accessible only to you and subject to Apple's iCloud privacy terms
- Never accessed by the developer
iCloud backup is off by default and can be toggled at any time in Settings → iCloud backup.
Apple Watch and Wear OS (Pro)
If you are a Pro subscriber and wear a paired Apple Watch or Wear OS watch, your cards are sent to it so you can show a barcode without your phone. This includes the store name, card number, barcode format and colour, and for gift cards the balance, expiry date and PIN.
The transfer happens directly between your phone and your own watch, over Apple's WatchConnectivity or Google's Wear Data Layer. No server is involved and the developer never sees it. The watch keeps a copy so your cards work when your phone is not nearby, and that copy is removed when you uninstall the watch app.
If you are not a Pro subscriber, no card data is sent to a watch at all — the phone withholds it rather than the watch declining to show it.
Home screen widget (Pro)
The home screen widget shows one card's barcode without opening the app. To do that, your card data is written to a private storage area on the same device that the widget can read — an App Group container on iOS, the app's private files on Android. It is not sent anywhere, and it is removed when you uninstall the app.
Anyone who can see your home screen can see the barcode the widget is showing, in the same way they could see it if you opened the app.
If you are not a Pro subscriber, no card data is written for the widget at all.
Camera
The app requests access to your camera solely to scan loyalty card barcodes. Camera images are processed on-device and are never stored or transmitted.
Photo library
Pro subscribers can import a barcode from a photo or screenshot. The selected image is processed on-device to extract the barcode value. The image itself is never stored by the app or transmitted anywhere.
Purchases
LoyaltyScan uses RevenueCat to process the one-time Pro purchase. RevenueCat receives your App Store receipt to verify the purchase. No payment details are ever visible to the app or the developer. RevenueCat's privacy policy is available at revenuecat.com/privacy.
Optional feedback
If you close the upgrade screen without purchasing, LoyaltyScan may ask why. Answering is optional. If you answer, the app sends the reason you picked, any note you typed, the app version, the platform and your device language to a database hosted by Supabase. Nothing identifies you, and no card data is included. Skipping the prompt sends nothing.
Card sharing
When you share a card using the Share button, LoyaltyScan creates a small file on your device containing the card's store name, card number, and barcode format. This file is shared directly device-to-device (for example, via AirDrop). It is not uploaded to any server.
Store logos
Store logos shown on your cards and in the store picker are loaded from logo.dev, a logo image service. When a logo is displayed, your device requests it from logo.dev, which means logo.dev receives your IP address and the name of the store whose logo is being shown. Your card numbers are never included in these requests, and no account or identifier is attached to them. Logos are cached by your device after the first load.
Data security
All card data is stored locally using encrypted device storage, and your card numbers are never transmitted to the developer or to any third party. Three things do leave your device, each described in its own section above: purchase verification, store logo requests, and — only if you choose to send it — feedback when you decline the Pro upgrade.
Children's privacy
LoyaltyScan does not knowingly collect any data from children under 13. The app does not collect personal data from any user.
Changes to this policy
If this policy changes, the updated version will be posted at this URL with a revised date at the top.
Contact
Questions about privacy? Get in touch via the contact page.