Permissions
DiapStash only asks for the permissions it needs to provide a feature. This page lists every permission the app declares, and exactly which features use it.
None of these permissions gives DiapStash access to your location, contacts, microphone, calendar, or your existing photos. See also What data does the application collect?
To know which external services receive data (Sentry, push notifications, Stripe…), see Privacy and third-party services.
Permissions you are asked for
These permissions trigger a prompt (or a system settings page) on your device.
| Permission | iOS | Android | Features |
|---|---|---|---|
| Camera | ✅ | ✅ | Scan a QR code or a package barcode |
| Notifications | ✅ | ✅ | Change reminders, shared-history notifications |
| Face ID / biometrics | ✅ | ✅ | Unlock the app |
| Add photos | ✅ | — | Save the images generated by the sharing feature to your photo library |
| Storage (Android 10 and below) | — | ✅ | Save the images generated by the sharing feature to your gallery |
| Exact alarms | — | ✅ | Deliver reminders at the exact time |
Camera
Used only when you open a scanner. The camera preview is processed on your device; no picture or video is recorded, stored or sent.
- Cloud sync: scan the QR code displayed on another device to link it (see Setup Cloud Sync).
- Catalog: scan a package barcode to jump to the matching type. Only the decoded barcode number is used to search the catalog.
If you refuse the camera permission, you can still link a device with the other method offered in the cloud sync setup, and search the catalog by name.
On Android, the camera is declared as not required, so the app can be installed on devices without a camera.
Notifications
Used to show:
- the change reminders you configure (start of change, end of change, accidents);
- the sharing notifications, when someone you share a history or a stock with does something.
The prompt appears when you set up a notification. Without it, no reminder is shown.
Face ID and biometrics
Used only if you enable the app lock and choose biometrics instead of the PIN code. The app only receives a yes/no answer from the system: your biometric data never leaves the secure hardware of your device and is never accessible to DiapStash.
Add photos (iOS)
Used only to save the images generated by the sharing feature (the "save image" button when you share your stock or history). DiapStash only adds the image, in a dedicated DiapStash album.
The app also declares the read-access description required by iOS for this operation, but it never browses your photo library, and there is no feature to import pictures.
Storage (Android 10 and below)
Used only to save the images generated by the sharing feature to your gallery. On Android 11 and newer, this permission does not exist for DiapStash and no storage access is needed.
How Android labels the other permissions
Google Play groups permissions by category with generic wording that can sound broader than the real usage:
| Android wording | What it means for DiapStash |
|---|---|
| Camera: take photos and videos | Generic label of the camera permission. Used only by the QR code and barcode scanners; nothing is recorded. |
| Other: control near field communication | See granted automatically. DiapStash does not read NFC tags. |
| Other: receive data from Internet, view network connections, full network access | Needed for cloud sync, sharing and the catalog. |
| Other: run at startup | To re-schedule reminders after a restart. |
| Other: control vibration | Vibration of notifications and haptic feedback. |
| Other: prevent device from sleeping | Only for the few seconds of a background task. |
Exact alarms (Android)
Used by notifications and night mode, so reminders fire at the minute you chose instead of being delayed by the battery optimizer.
This permission is optional: if you refuse it, reminders still work but may arrive a few minutes late.
Permissions granted automatically
These permissions don't show any prompt. They are either harmless or required by the system for a feature to work.
| Permission | Platform | Used for |
|---|---|---|
| Internet | Android | Cloud sync, sharing, catalog, donations, error reports |
| Network state | Android | Detect whether the device is online before syncing |
| Vibrate | Android | Vibration of notifications and haptic feedback |
| Run at startup | Android | Re-schedule your reminders after the device restarts |
| Prevent the device from sleeping | Android | Keep the device awake the few seconds needed to run a background task |
| Foreground service (short) | Android | Let the periodic background check finish when the system asks for it |
| Push notifications | Android | Receive push notifications (sync between your devices, sharing) |
| NFC | Android | Declared by a third-party library; DiapStash does not read NFC tags |
| Push notifications (remote notifications) | iOS | Receive push notifications (sync between your devices, sharing) |
| Background fetch / processing | iOS | Periodic background check for notifications |
| Apple Pay | iOS | Donations |
| Siri and Shortcuts | iOS | Voice commands and shortcuts to start a change or record an accident |
App Links (diapstash.com, diapstash.app) | iOS | Open sharing links directly in the app |
Background tasks
On both platforms, the app runs a short background check roughly every 30 minutes. It is used to keep your notifications up to date, in particular when you are using the Cloud Sync. It only runs when the device has network access and, on Android, when the battery and storage are not low. You can disable notifications from the settings to stop it from doing any work.
What DiapStash does not request
- No location
- No contacts or calendar
- No microphone
- No access to your photo library or files, apart from the ones you explicitly pick or save
- No advertising ID: the Android advertising ID permission is explicitly removed from the app
- No full-screen intents: the Android full-screen notification permission is explicitly removed from the app
Changing a permission
You can review or revoke any permission at any time:
- iOS: Settings → DiapStash
- Android: Settings → Apps → DiapStash → Permissions