Expiration Alarm Privacy Policy
# Privacy Policy
**Service Name**: Expiration Alarm (소비기한 알람)
**Effective Date**: May 2, 2026
**Last Updated**: May 2, 2026
This Privacy Policy describes how Expiration Alarm ("the App") collects, uses, and stores information. By installing and using the App, you agree to the terms below.
---
## 1. Information We Collect
The App **does not collect any directly identifiable personal information** such as your name, email, phone number, or address. There is no sign-up or login.
The App may, however, process information through (a) on-device local storage, (b) on-device OCR, or (c) third-party advertising (Google AdMob), as described below.
### 1.1 On-Device Local Storage (No External Transmission)
The following information is stored only on your device, in a local SQLite (Drift) database and `SharedPreferences`:
- Items you register (name, category, expiration date, purchase date, memo, icon, attached image path)
- Notification offsets and reminder times
- App settings (theme, language)
This information is **never transmitted to external servers** and is removed when you uninstall the App. You can delete individual items or wipe all data at any time within the App.
### 1.2 OCR Text Recognition via Camera or Photos (On-Device, No External Transmission)
To automatically read expiration dates printed on product packaging, the App processes images captured from your camera or chosen from your photo library.
- Recognition engine: Google **ML Kit Text Recognition (Korean model)** — runs **entirely on-device**.
- Only the recognized **date string** is shown to you. Neither the original image nor the recognized text is transmitted off-device.
- Images you select from your photo library are discarded from memory after OCR processing (the App does not retain them) unless you explicitly attach them to an item.
### 1.3 Third-Party Advertising (Google AdMob)
The App is supported by banner and interstitial ads delivered through Google **AdMob**. AdMob may automatically collect and process the following for ad personalization and fraud prevention:
- **Advertising ID** (resettable in your device settings)
- IP address (used for coarse location estimation)
- Device information (model, OS version, screen size)
- Ad impression and click events
The developer does not directly collect or retain this data; **Google processes it under Google's own privacy policies**.
- Google Ads policy: https://policies.google.com/technologies/ads
- AdMob data handling: https://support.google.com/admob/answer/6128543
To reset your Advertising ID or opt out of personalized ads:
- **Android**: Settings → Google → Ads → "Reset advertising ID" or "Opt out of Ads Personalization"
- **iOS**: Settings → Privacy & Security → Tracking → toggle off for this App (or choose "Ask App not to Track" when first prompted via App Tracking Transparency)
### 1.4 Update Checks
The App checks for new versions via Google Play Core (`in_app_update`) and Apple's App Store Lookup API. The developer collects no user information through these checks; only platform-internal processing occurs.
---
## 2. Permissions Used by the App
### Camera (`android.permission.CAMERA` / `NSCameraUsageDescription`)
Used solely for live OCR scanning or capturing expiration date photos. Camera frames are processed on-device and never stored or transmitted.
### Photo Library (`NSPhotoLibraryUsageDescription`, iOS)
Used only when you explicitly pick an image to OCR-scan or attach to an item. The App does not enumerate your full library.
### Notifications (`android.permission.POST_NOTIFICATIONS`)
Required to display local reminders before items expire. Notification content is generated on-device and never traverses external servers.
### Exact Alarms (`SCHEDULE_EXACT_ALARM` / `USE_EXACT_ALARM`)
Android system permissions to deliver reminders at the exact scheduled times. They are not used to track or transmit user data.
### Boot Completed (`RECEIVE_BOOT_COMPLETED`)
Restores scheduled expiration reminders after a device reboot so notifications are not missed. No other background activity is performed.
### Internet (`android.permission.INTERNET`, `ACCESS_NETWORK_STATE`)
Used only for serving ads and checking for app updates. It is not used to send or receive any user data.
The App **does not request location, contacts, calendar, microphone, or other sensitive permissions** beyond those listed above.
---
## 3. Retention
- **Local data**: kept until you delete it within the App or uninstall the App.
- **AdMob-collected data**: retained per Google's own retention policy (the developer does not retain it).
- **OCR processing data**: discarded from memory immediately after recognition (no retention).
---
## 4. Sharing With Third Parties
The App does not share user information with any third party other than Google AdMob as described above.
---
## 5. Your Rights
- Delete individual items or wipe all data within the App at any time.
- Uninstall the App to remove all local data.
- Reset your Advertising ID per Section 1.3.
- Opt out of tracking via the iOS App Tracking Transparency prompt shown on first launch.
---
## 6. Children's Privacy
The App is not primarily directed at children under the age of 14 (Korean threshold) or under the age of 13 (COPPA threshold). AdMob is configured for a General Audience, not the Child Friendly Audience policy. We recommend that children below the applicable age use the App only with parental supervision.
---
## 7. Privacy Officer
- **Name**: Siwoo Ahn
- **Email**: siwooeo@gmail.com
- **Response Window**: within 7 business days
For privacy-related inquiries, deletion requests, or objections, please contact the email above.
---
## 8. Changes to This Policy
If this policy changes, we will post the update on this page at least 7 days before it takes effect. Material changes that disadvantage users will additionally be announced via in-app notification.
**Service Name**: Expiration Alarm (소비기한 알람)
**Effective Date**: May 2, 2026
**Last Updated**: May 2, 2026
This Privacy Policy describes how Expiration Alarm ("the App") collects, uses, and stores information. By installing and using the App, you agree to the terms below.
---
## 1. Information We Collect
The App **does not collect any directly identifiable personal information** such as your name, email, phone number, or address. There is no sign-up or login.
The App may, however, process information through (a) on-device local storage, (b) on-device OCR, or (c) third-party advertising (Google AdMob), as described below.
### 1.1 On-Device Local Storage (No External Transmission)
The following information is stored only on your device, in a local SQLite (Drift) database and `SharedPreferences`:
- Items you register (name, category, expiration date, purchase date, memo, icon, attached image path)
- Notification offsets and reminder times
- App settings (theme, language)
This information is **never transmitted to external servers** and is removed when you uninstall the App. You can delete individual items or wipe all data at any time within the App.
### 1.2 OCR Text Recognition via Camera or Photos (On-Device, No External Transmission)
To automatically read expiration dates printed on product packaging, the App processes images captured from your camera or chosen from your photo library.
- Recognition engine: Google **ML Kit Text Recognition (Korean model)** — runs **entirely on-device**.
- Only the recognized **date string** is shown to you. Neither the original image nor the recognized text is transmitted off-device.
- Images you select from your photo library are discarded from memory after OCR processing (the App does not retain them) unless you explicitly attach them to an item.
### 1.3 Third-Party Advertising (Google AdMob)
The App is supported by banner and interstitial ads delivered through Google **AdMob**. AdMob may automatically collect and process the following for ad personalization and fraud prevention:
- **Advertising ID** (resettable in your device settings)
- IP address (used for coarse location estimation)
- Device information (model, OS version, screen size)
- Ad impression and click events
The developer does not directly collect or retain this data; **Google processes it under Google's own privacy policies**.
- Google Ads policy: https://policies.google.com/technologies/ads
- AdMob data handling: https://support.google.com/admob/answer/6128543
To reset your Advertising ID or opt out of personalized ads:
- **Android**: Settings → Google → Ads → "Reset advertising ID" or "Opt out of Ads Personalization"
- **iOS**: Settings → Privacy & Security → Tracking → toggle off for this App (or choose "Ask App not to Track" when first prompted via App Tracking Transparency)
### 1.4 Update Checks
The App checks for new versions via Google Play Core (`in_app_update`) and Apple's App Store Lookup API. The developer collects no user information through these checks; only platform-internal processing occurs.
---
## 2. Permissions Used by the App
### Camera (`android.permission.CAMERA` / `NSCameraUsageDescription`)
Used solely for live OCR scanning or capturing expiration date photos. Camera frames are processed on-device and never stored or transmitted.
### Photo Library (`NSPhotoLibraryUsageDescription`, iOS)
Used only when you explicitly pick an image to OCR-scan or attach to an item. The App does not enumerate your full library.
### Notifications (`android.permission.POST_NOTIFICATIONS`)
Required to display local reminders before items expire. Notification content is generated on-device and never traverses external servers.
### Exact Alarms (`SCHEDULE_EXACT_ALARM` / `USE_EXACT_ALARM`)
Android system permissions to deliver reminders at the exact scheduled times. They are not used to track or transmit user data.
### Boot Completed (`RECEIVE_BOOT_COMPLETED`)
Restores scheduled expiration reminders after a device reboot so notifications are not missed. No other background activity is performed.
### Internet (`android.permission.INTERNET`, `ACCESS_NETWORK_STATE`)
Used only for serving ads and checking for app updates. It is not used to send or receive any user data.
The App **does not request location, contacts, calendar, microphone, or other sensitive permissions** beyond those listed above.
---
## 3. Retention
- **Local data**: kept until you delete it within the App or uninstall the App.
- **AdMob-collected data**: retained per Google's own retention policy (the developer does not retain it).
- **OCR processing data**: discarded from memory immediately after recognition (no retention).
---
## 4. Sharing With Third Parties
The App does not share user information with any third party other than Google AdMob as described above.
---
## 5. Your Rights
- Delete individual items or wipe all data within the App at any time.
- Uninstall the App to remove all local data.
- Reset your Advertising ID per Section 1.3.
- Opt out of tracking via the iOS App Tracking Transparency prompt shown on first launch.
---
## 6. Children's Privacy
The App is not primarily directed at children under the age of 14 (Korean threshold) or under the age of 13 (COPPA threshold). AdMob is configured for a General Audience, not the Child Friendly Audience policy. We recommend that children below the applicable age use the App only with parental supervision.
---
## 7. Privacy Officer
- **Name**: Siwoo Ahn
- **Email**: siwooeo@gmail.com
- **Response Window**: within 7 business days
For privacy-related inquiries, deletion requests, or objections, please contact the email above.
---
## 8. Changes to This Policy
If this policy changes, we will post the update on this page at least 7 days before it takes effect. Material changes that disadvantage users will additionally be announced via in-app notification.