1. Overview
Guard2 (site.guard2.app, hereinafter "the App") is a lightweight device-activity monitoring tool operated by an individual developer, Guodong Ding (丁国栋). By monitoring the activity of an Android device you own or are authorized to manage, the App helps you stay informed about whether that device (and the person you care about) is staying active and reachable during the day, and sends email alert notifications when the device has been inactive or unlocked for an extended period.
This Privacy Policy explains how the App collects, uses, and protects your information. By using the App you agree to this Policy.
2. Information We Collect
| Type | Detail | How Collected | Purpose |
|---|---|---|---|
| Device Identifier | A device identifier derived from the Android system's device ID (format: guard2_ |
Generated locally from the Android device ID on first launch and stored on-device | Uniquely identify a monitored device and associate heartbeat records |
| Device Nickname | A custom name entered by the user | User input | Identify the device in alert emails |
| Recipient Email(s) | 1–3 email addresses entered by the user | User input | Send heartbeat alerts, recovery notices, and deletion notices |
| Heartbeat Timestamp | The UTC time of each heartbeat report | Automatically recorded by the foreground service | Determine whether the device has been offline for too long |
| Screen-unlock Status | Whether the device was unlocked during the heartbeat period (boolean: true/false) | Android system broadcast ACTION_USER_PRESENT | Detect whether the device is being used; send an alert if not unlocked for 6 hours during the day |
| Purchase Records | Product ID, transaction ID, purchase amount, and subscription expiry time, associated with the device identifier | Recorded automatically when a purchase or refund is processed via Google Play Billing (RevenueCat) | Verify subscription status and validity period, and process refunds |
3. How We Use Your Information
Collected information is used solely for the following purposes:
- Send device activity alert emails to your specified recipient address(es)
- Send an alert when no heartbeat is received for more than 2 hours (daytime hours only)
- Send an alert when the device has not been unlocked for more than 6 hours (daytime hours only)
- These thresholds count only daytime hours — the device's local night window (23:00–07:00) is excluded from the count, so overnight inactivity never triggers a false alarm
- Send a notification when monitoring is stopped manually by the user or automatically when the subscription expires
- Send a recovery notice when the device returns to normal status
We do not use your information for advertising, user profiling, analytics, or any commercial purpose.
4. Data Storage & Security
The App's backend database is provided by Supabase, stored in their secure cloud infrastructure. All data transmission is encrypted via HTTPS.
Fields stored in the database: device identifier, device nickname, recipient email list, last heartbeat time, last unlock time, alert status flags, device timezone (used only to format timestamps in emails), subscription expiry time, and purchase records (product ID, transaction ID, amount).
Data retention and stopping monitoring: Monitoring can be stopped at any time by tapping "Stop" inside the App, or will be stopped automatically when the subscription service expires. When monitoring is stopped (whether manually or due to expiry), the device configuration is preserved so that any purchased subscription rights are retained and monitoring can be resumed immediately upon renewal. Purchase records are retained separately for accounting and fraud-prevention purposes as required by applicable law.
Email delivery is provided by Resend, used solely to send the alert and notification emails described above. Email content is not stored by Resend.
5. Foreground Service & Permissions
The App uses an Android Foreground Service to maintain background operation for continuous heartbeat monitoring. Permission details:
| Permission | Purpose |
|---|---|
FOREGROUND_SERVICE |
Run a foreground service and display a persistent "monitoring active" notification |
FOREGROUND_SERVICE_SPECIAL_USE |
Declare the foreground service type as "special use" (device-activity heartbeat reporting), required by Android 14+ |
WAKE_LOCK |
Prevent CPU sleep so the heartbeat timer fires on schedule even on a locked screen |
POST_NOTIFICATIONS |
Display the persistent foreground service notification (required on Android 13+) |
RECEIVE_BOOT_COMPLETED |
Automatically re-schedule the heartbeat alarm after a device reboot, so monitoring resumes without user interaction |
INTERNET |
Send heartbeat reports and receive responses from the Guard2 backend server (Supabase) over the network |
ACCESS_NETWORK_STATE |
Check whether the device has an active network connection before attempting to send a heartbeat report |
VIBRATE |
Provide haptic feedback for local notification alerts (Android system notification behavior) |
The App listens to the Android system broadcast ACTION_USER_PRESENT
to detect screen unlock events. Only a boolean (unlocked: yes/no) is recorded per heartbeat period —
no unlock time, frequency, or any other detail is stored.
6. Third-Party Services
The App uses the following third-party services. Please review their respective privacy policies:
- Supabase (database & backend): https://supabase.com/privacy
- Resend (email delivery): https://resend.com/privacy-policy
- RevenueCat (in-app purchase management): processes Google Play Billing transactions to manage subscriptions; it may process the purchase token, product ID, and transaction data associated with the device identifier. See RevenueCat Privacy Policy.
- Play Install Referrer API (Google Play, included via Expo SDK): This API is bundled as part of the Expo/React Native runtime. It may collect app install source information (e.g. which Play Store listing led to the install). Guard2 itself does not access or transmit this data. See Google Privacy Policy.
7. Data Sharing
We do not sell, rent, or share your personal information with any third party, except:
- When you have given explicit consent
- When required by applicable law or regulation
- When sending alert notifications via Resend to the email address(es) you provided (core app function)
8. Your Rights
You have the following controls over your data:
- Stop monitoring: Monitoring will be stopped when you tap "Stop" in the App, or automatically when your subscription expires. In both cases, the device configuration is preserved so that your subscription rights and settings remain intact for restarting monitoring
- Modify information: Change the device nickname or recipient emails at any time when starting or restarting monitoring
- Request data deletion: You can contact us at any time to request complete deletion of your device records and personal information
To manually request data deletion, contact us with your device ID (shown at the bottom of the App's main screen) and we will process your request within 7 business days.
9. Children's Privacy
The App is not directed at children under the age of 13. We do not knowingly collect personal information from children. If you believe your child has provided personal information to the App, please contact us and we will promptly delete it.
10. Changes to This Policy
This Privacy Policy may be updated from time to time. Updated versions will be published on this page with a revised "Last Updated" date at the top. Continued use of the App constitutes acceptance of the updated Policy.
11. Contact Us
If you have any questions about this Privacy Policy, please contact us:
Email: guodongding19@gmail.com
App Name: Guard2 (守护2)
Package: site.guard2.app