Privacy Policy

App: Play Integrity Monitor
Developer: ByteBuddies
Last updated: 2026-05-19


Summary

Play Integrity Monitor does not collect personal information, does not have accounts, does not run advertising, and does not sell or share your data with third parties. The sections below explain precisely what data exists, where it goes, and how long it stays.


1. What the app does

Play Integrity Monitor calls the Google Play Integrity API on your behalf to determine whether your device currently satisfies the criteria that Google Wallet and similar apps use when deciding to allow contactless payments. The result is displayed on your device and stored locally so you can see how it has changed over time.


2. Data stored on your device

All of the following lives exclusively in the app's private storage on your device. It is never shared with advertisers, analytics providers, or any service other than the app's own backend (described in section 3).

What Why How long
Random install ID A UUID generated at first launch, used to apply per-installation rate limits on the backend. It is not linked to your Google account, Android ID, or any other identifier. You can reset it by clearing app data. Until you clear app data or uninstall
Check history Timestamp, result status, trigger type, device integrity verdict flags, and the raw JSON response for each completed check 90 days (older entries are deleted automatically)
App preferences Auto-check on/off, check schedule times, notification preference, quota counters, last-check timestamps, and server config cache Until you clear app data or uninstall

The app does not store:


3. Data sent to the app's backend

Each integrity check sends one HTTPS request to the app's backend server (integrity-autocheck-backend-*.run.app), which is operated by ByteBuddies on Google Cloud Run.

The request contains:

Field What it is
Encrypted Play Integrity token An opaque token issued by Google's Play Integrity API. The backend sends it to Google for decoding; the raw token is not stored.
Request hash A non-reversible hash of the request context. Used to bind the token to this specific request and detect replays.
Install ID The random UUID described in section 2.
Trigger What started the check (e.g., manual, periodic, boot).
Client timestamp The time the check was initiated, used to verify token freshness.
App version Version code and version name of Play Integrity Monitor.
Google Wallet version Version of Google Wallet on your device, if installed. Sent as a diagnostic aid.
Play Services version Version of Google Play Services on your device.
Play Store version Version of Google Play Store on your device.

The backend returns a compact decision (ready, likely_blocked, unknown, error) plus the verdict labels from the Play Integrity API. The backend does not return, and the app does not transmit, your Google account identity, location, contacts, or any personal identifiers beyond the install ID.

What the backend retains

The backend uses Cloud Firestore to enforce per-installation rate limits. For each install ID it stores:

The backend does not store the raw integrity token, the full decrypted verdict payload, or any account identifiers. Aggregated operational metrics (request counts, decision distribution, error rates, latency) are logged without any per-install identifiers for capacity planning and quota management.


4. Third-party services

Service Purpose Privacy information
Google Play Integrity API Issues the encrypted integrity token that the backend decodes Google Privacy Policy
Google Cloud Run Hosts the app's backend Google Cloud Privacy
Google Cloud Firestore Stores rate-limit counters on the backend Google Cloud Privacy

The app does not use any advertising SDKs, crash-reporting services, analytics SDKs, or social login SDKs.


5. Permissions

Permission Why it is needed
INTERNET To reach the backend server and the Play Integrity API
POST_NOTIFICATIONS To send you a local notification when your integrity status changes
RECEIVE_BOOT_COMPLETED To schedule an integrity check shortly after the device boots
SCHEDULE_EXACT_ALARM / USE_EXACT_ALARM To fire daily scheduled checks at the times you configure

The app does not request permissions for location, contacts, camera, microphone, phone state, or storage.


6. Children

This app is not directed at children under 13 and does not knowingly collect information from anyone under 13.


7. Data retention and deletion


8. Security

All communication between the app and the backend uses HTTPS with TLS. The backend validates package name, signing certificate, request hash, and token freshness before processing any request, rejecting replayed or tampered tokens.


9. Changes to this policy

If the data practices described above change materially, this document will be updated and the "Last updated" date at the top will be revised. For significant changes, a notice will be displayed in the app.


10. Contact

Questions or concerns about this privacy policy can be directed to the project repository:
https://github.com/ByteBuddiesGroup/play_integrity_autocheck