Privacy Policy
This policy explains what the Xpiry Android app does with your data: what stays on your device, what happens when you switch on Google Drive backup, which third-party services are involved, and how to delete everything.
Last updated: 31 August 2026
1. Summary
Xpiry is a local-first app. The products you add, their expiration dates, quantities, photos, categories and settings are stored in a database on your own device. Xpiry does not operate a server that holds your product list, and you do not need an account to use the app.
- No sign-in is required to add products, receive reminders or use the app.
- Cloud backup is optional and off by default. If you enable it, your data is written to your own Google Drive account.
- Google Drive access is limited to the
drive.appdatascope — Xpiry's own hidden application data folder, and nothing else in your Drive. - Xpiry does not sell your data and does not use Google user data for advertising.
- The free version shows ads and uses analytics, as described in sections 11 and 13.
2. Scope and controller
This policy covers the Xpiry Android application
(com.radustavila.xpiry, distributed on Google Play) and this
website, xpiry.net.
Xpiry is developed and maintained by an independent developer based in Romania (European Union), acting as the data controller for the limited data described in this policy. You can reach the developer at [email protected].
This website is a static site. It sets no cookies, contains no analytics or tracking scripts, and requires no login to read any page. The only value stored in your browser is your light/dark theme preference, kept locally in your browser's storage.
3. Data stored on your device
Everything you enter in Xpiry is saved in an app-private database on your device. This includes:
- Products: name, expiration date, category, quantity, notes, shelf place, barcode (if you scan one), the product type or module it belongs to, and per-product notification settings.
- Module-specific fields you choose to fill in, such as dosage and form for medicines, model and mileage for vehicles, document number for documents, or billing cycle and price for subscriptions.
- Quick-add templates you save for products you buy often.
- History events: when a product was added, consumed or expired — this is what the statistics and insights screens are built from.
- App settings and preferences: your categories and shelf places, notification days and times, date format, auto-delete rules, theme and language, and your custom modules.
This data is not transmitted anywhere by Xpiry unless you explicitly ask for it — by enabling Google Drive backup (section 6), or by exporting a file to PDF, CSV or Excel and sharing it yourself.
4. Product images
You can attach a photo to a product, either by taking a picture with the camera or by picking an image from your device. Xpiry asks for camera and media access only at the moment you use those features, and you can decline.
- Photos are stored in Xpiry's private storage on your device and are displayed only inside the app.
- Images are never sent to the developer and are not uploaded to any Xpiry-operated service.
- Images are uploaded to your own Google Drive application data folder only if you enable cloud backup (section 7).
- When you scan a barcode and a matching product image is available from the Open Food Facts database, that image may be downloaded and stored locally as the product photo (section 10).
5. Notifications
Expiration reminders are generated entirely on your device. Xpiry uses the Android alarm and background-work schedulers to fire a local notification the number of days before expiry that you configured, at the hour you chose.
- Product names and dates in a notification never leave your device; there is no push server involved.
- Xpiry requests the notification permission so reminders can be shown, and the "restart-completed" permission so scheduled reminders survive a device reboot.
- If you deny or later revoke notification permission, the app keeps working — you simply will not receive reminders.
6. Google authorisation and Google Drive backup
Cloud backup is an optional feature. It is disabled until you turn it on in the app's backup settings.
When you enable it, Android asks you to choose a Google account and to grant Xpiry one permission: access to its own application data folder in your Google Drive. Technically, Xpiry requests exactly one OAuth scope:
https://www.googleapis.com/auth/drive.appdata
Why Xpiry needs it: to create, read, update and delete its own backup files — a backup file plus your product images — in the hidden application data folder of your Google Drive, so that you can restore your products on a new or reset device.
What this scope does and does not allow
- Does allow: Xpiry to store and retrieve files it created itself, in a folder that is dedicated to Xpiry and hidden from your normal Drive view.
- Does not allow: access to any other file in your Google Drive. Xpiry cannot list, read, modify or delete your documents, photos, spreadsheets or any file it did not create. It has no access to Gmail, Google Photos, Contacts or Calendar.
What Google account information Xpiry receives
- Xpiry requests no profile scopes. It does not ask for, receive or store your name, email address, profile picture or Google account identifier.
- The authorisation produces a short-lived access token, which is held in memory only for the duration of a backup or restore operation. It is not written to the database or to app settings.
- The account picker and the permission screen are shown by Android and Google, not by Xpiry.
7. What backup uploads
While backup is enabled, Xpiry writes the following into the Xpiry application data folder of your Google Drive:
| Uploaded | Details |
|---|---|
| Backup file (JSON) | Your products and their fields, quick-add templates, history events, your modules, and your app settings. |
| Product images | One file per photo you attached. Images are uploaded incrementally: a photo that has not changed since the last backup is not uploaded again. |
| Technical fields | Backup format version, the app version that wrote the backup, and a timestamp — used to keep restores safe across app updates. |
- These files are stored in your Google Drive, under your Google account, and count toward your Google Drive storage quota.
- The developer has no access to your Google Drive backup files and receives no copy of your backup data.
- Backups can run automatically in the background while the feature is enabled, so your latest data is available if you lose your device.
- The data uploaded is the same product and settings data described in sections 3 and 4. Backup does not collect anything additional about you or your device.
8. How restore works
On a new device — or after reinstalling the app — you sign in to the same Google account, grant the same application-data permission, and choose to restore. Xpiry reads its backup file from your Drive application data folder, checks that the backup format is one this app version understands, downloads the referenced images, and writes the products, templates, history, modules and settings back into the local database on your device.
Restore is always an action you start. Xpiry does not overwrite your local data without you asking it to.
9. Turning backup off and revoking access
- In the app: disable cloud backup in the backup settings. Xpiry stops uploading and stops using the authorisation.
- Revoke the permission entirely: open your Google Account, go to Security → Your connections to third-party apps & services, select Xpiry and remove its access. Xpiry can then no longer read or write anything in your Drive.
- Delete the backup files: in Google Drive, open Settings → Manage apps, find Xpiry and choose Delete hidden app data. This removes the backup from your Drive.
Turning backup off does not delete the products on your device, and revoking access does not affect reminders or any other part of the app.
10. Barcode scanning
When you scan a barcode, the barcode itself is detected on your device by Google's ML Kit barcode scanner — the camera image is processed locally and is not uploaded for scanning.
To fill in product details, Xpiry then sends the scanned barcode number to the Open Food Facts public database over HTTPS and receives back product information such as name, brand and, where available, a product image. Only the barcode number is sent. Your product list, your other products, your identity and your device details are not sent.
If you never scan a barcode, no request is made. Open Food Facts is an independent open database with its own privacy terms.
11. Analytics and app configuration
Xpiry uses Google Analytics for Firebase to understand, in aggregate, how the app is used — for example which screens are opened, which features are used, and where the app crashes or fails. This is used to fix problems and decide what to build next.
- What is recorded: anonymous usage events (such as "a module was selected"), plus the standard technical information Firebase collects — an app-instance identifier, app version, device model, operating system version, language, and coarse location derived from the IP address by Google.
- What is not recorded: your product names, notes, photos, expiration dates or quantities. Your inventory content is never sent to analytics.
- Xpiry also uses Firebase Remote Config to change app configuration (for example enabling an in-app survey) without an app update. This downloads settings to your device; it does not upload your content.
12. In-app surveys and feedback
Xpiry may occasionally show a short in-app survey. Answering is voluntary and you can dismiss it.
If you do answer, the following is stored in Google Cloud Firestore: the survey identifier and version, which answer option you selected, the free-text feedback you typed (if any), the app version, and the date. No account identifier, device identifier, email address or product data is attached to your response. Please do not include personal information in free-text feedback.
13. Advertising and purchases
Xpiry is free and the free version is supported by advertising, delivered by Google AdMob and, through AdMob mediation, the Meta Audience Network.
- These advertising networks may process device and advertising identifiers, IP address and ad-interaction data to serve and measure ads, under their own privacy policies. Xpiry declares the Android advertising ID permission for this purpose.
- Advertising is not personalised using anything you type into Xpiry. Your products, notes and photos are never shared with advertising networks.
- You can limit ad personalisation on Android under Settings → Privacy → Ads, where you can also delete or reset your advertising ID.
- Removing ads: Xpiry offers an in-app purchase and a subscription that remove ads. Payments are processed by Google Play Billing; Xpiry never sees or stores your payment card details. Xpiry receives only the purchase state needed to unlock the ad-free experience.
14. Third-party services
The complete list of external services Xpiry can communicate with, and why:
| Service | Purpose | When |
|---|---|---|
Google Drive (drive.appdata) |
Store and restore your backup in your own Drive | Only if you enable cloud backup |
| Google Play services (authorisation) | Account picker and the Drive permission grant | Only if you enable cloud backup |
| Open Food Facts | Look up product details for a scanned barcode | Only when you scan a barcode |
| Google Analytics for Firebase | Aggregate usage and stability analytics | While using the app |
| Firebase Remote Config | Remote app configuration | While using the app |
| Google Cloud Firestore | Store voluntary survey answers and feedback | Only if you answer a survey |
| Google AdMob & Meta Audience Network | Serve and measure ads in the free version | Until ads are removed by purchase |
| Google Play Billing | Process the ad-removal purchase or subscription | Only if you make a purchase |
Each of these providers processes data under its own privacy policy. Xpiry does not sell personal data, and does not share your inventory content with any of them.
15. Data retention
- On your device: your data is kept until you delete it, until an auto-delete rule you configured removes expired products, or until you uninstall the app or clear its storage.
- In your Google Drive: the backup is kept until it is replaced by a newer backup or until you delete Xpiry's hidden app data. It is under your control, not the developer's.
- Analytics: retained by Google for the retention period configured in Firebase, then deleted or aggregated by Google.
- Survey answers: kept while they are useful for product decisions, and deleted on request.
16. Deleting your data
- Individual products: delete them in the app; deletions can be undone briefly, then become permanent.
- Everything on the device: uninstall Xpiry, or use Android Settings → Apps → Xpiry → Storage → Clear storage. This removes the local database and all product photos.
- The cloud backup: Google Drive Settings → Manage apps → Xpiry → Delete hidden app data, and revoke Xpiry's access in your Google Account.
- Survey feedback: email [email protected] with enough detail to identify the response (for example the approximate date and the feedback text) and it will be deleted.
Because Xpiry keeps no account, there is no profile for the developer to delete — removing the app and the Drive app data removes your data.
17. Security
- Your products, photos and settings are stored in app-private storage, which Android isolates from other apps.
- All network communication — Drive backup, barcode lookups, analytics — uses encrypted HTTPS connections.
- Xpiry ships with no server credentials for your data, and no client secret. The Google authorisation is tied to the app's package name and signing certificate.
- Access tokens for Drive live in memory only and are never persisted.
- Device-level protection matters: anyone who can unlock your device can open Xpiry. No online transmission or storage can be guaranteed to be perfectly secure.
18. Children's privacy
Xpiry is a general-purpose utility and is not directed at children. The app does not knowingly collect personal information from children, and it has no accounts, profiles or social features. If you believe a child has submitted personal information through the in-app feedback field, contact the developer and it will be deleted.
19. Your rights
If you are in the European Union, the United Kingdom or another region with comparable law, you have the right to access, correct, delete, restrict and object to the processing of your personal data, and to receive it in a portable format.
- Access and portability: your data is already on your device; you can export your products to CSV, Excel or PDF from the app at any time.
- Correction and deletion: edit or delete any product directly in the app; see section 16 for full deletion.
- Objection and restriction: you can decline the notification and camera permissions, leave cloud backup off, ignore surveys, and limit ad personalisation in Android settings.
- Requests: email [email protected]. Requests are answered within 30 days.
- Complaints: you may lodge a complaint with your local data protection authority. In Romania, this is the National Supervisory Authority for Personal Data Processing (ANSPDCP).
Where processing requires a legal basis: analytics and advertising rely on consent where consent is required and otherwise on legitimate interest in maintaining and funding a free app; backup and barcode lookup are performed to deliver features you have requested.
20. International transfers
Xpiry itself stores your inventory on your device and, if you choose, in your own Google Drive. Where the third-party providers listed in section 14 process data, they may do so on servers outside your country, including in the United States, under the transfer mechanisms set out in their own privacy policies and data processing terms.
21. Google API Services User Data Policy
Xpiry's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Specifically, for the drive.appdata scope:
- Google user data is used only to provide the cloud backup and restore feature you explicitly enabled.
- Xpiry does not sell, rent or trade Google user data.
- Xpiry does not use Google user data for advertising, ad targeting, ad personalisation or any advertising measurement.
- Xpiry does not transfer Google user data to third parties, except as necessary to provide or improve the backup feature, to comply with applicable law, or as part of a merger or acquisition after obtaining your explicit consent.
- Xpiry does not allow humans to read your Google user data, unless you give explicit consent for a specific support request, it is necessary for security purposes such as investigating abuse, it is required to comply with applicable law, or the data has been aggregated and anonymised.
- Xpiry requests the narrowest scope that delivers the feature. It uses
drive.appdatarather than a broad Drive scope precisely so it cannot access the rest of your Drive.
22. Changes to this policy
This policy may be updated when the app changes — for example if a new feature requires a different permission. The "Last updated" date at the top of this page always reflects the current version, and material changes will be described in the app's release notes on Google Play. Continuing to use Xpiry after an update means you accept the updated policy. Any change that requires a new Google permission will always ask for your consent inside the app before it takes effect.
23. Contact
Questions about privacy, data deletion requests or anything unclear in this policy:
- Email: [email protected]
- App: Xpiry for Android (
com.radustavila.xpiry) on Google Play - Website: xpiry.net