Privacy Policy — AdSnap
Last updated: February 26, 2025
This Privacy Policy explains how AdSnap ("we", "our", or "the app") collects, uses, stores, and shares information when you use our mobile application.
1. Who we are
AdSnap is a mobile app that lets you view your Google AdMob reports (earnings, clicks, impressions, and breakdowns by app, ad unit, and country). We do not run our own user accounts or servers for your report data; we act as a client that connects to Google's services on your behalf.
2. What data we get and how we get it
2.1 Sign-in (Google)
- How we get it: When you sign in, we use Google Sign-In. You choose your Google account in Google's own sign-in screen.
- What we get from Google: We receive and use only the information Google provides for the signed-in account: User ID (Google's unique identifier), Email address, Display name, Profile photo URL (optional).
- Why: So we can show who is signed in, restore your session after you reopen the app, and call Google's and AdMob's APIs on your behalf.
- Scope: We request only the AdMob read-only scope (
https://www.googleapis.com/auth/admob.readonly). We do not access your Gmail, Drive, or any other Google data beyond what is needed for AdMob reports.
2.2 AdMob report data (Google AdMob API)
- How we get it: After you sign in, the app sends requests to Google's AdMob API (
https://admob.googleapis.com/v1) using your OAuth access token. We do not send your data to our own servers. - What we request from the API: Account list (AdMob account name, publisher ID, reporting time zone, currency code); Apps list (apps linked to your AdMob account); Reports (aggregated, read-only metrics such as estimated earnings, clicks, impressions, and dimensions like date, app, country, ad unit).
- Why: To display your AdMob performance (dashboard, trends, app/country/ad unit breakdowns) inside the app.
- Who holds this data: This data comes from and is governed by Google's and AdMob's services and their own privacy policies. We only request and display it in the app; we do not store it on our own servers.
2.3 Crash and error reporting (Firebase Crashlytics)
- How we get it: The app uses Firebase Crashlytics to report crashes and unhandled errors.
- What is sent: Technical information about the crash or error (exception type and message, stack trace, device/platform information that Crashlytics collects by default).
- What we do not send: We do not send your user ID, email, or AdMob data to Crashlytics (user identification is disabled in our integration).
- Why: To fix bugs and improve app stability. Crashlytics is a Google service; their processing is subject to their privacy policy.
2.4 App icons (Play Store)
- How we get it: For apps linked to your AdMob account, we may load app icons from Google Play Store (e.g. play.google.com) so we can show them in the app.
- What we send: Only the request to load a public store page or icon; no personal or AdMob data is sent as part of that request.
- Why: To improve recognition of your apps in lists and reports.
3. What we store and where
We store data only on your device. We do not have our own backend servers that store your personal data or AdMob report data.
3.1 Secure storage (on your device, encrypted)
We use flutter_secure_storage (on Android, with encrypted SharedPreferences) to store: Access token (OAuth token for Google/AdMob APIs); Token expiry; User ID; Email; Display name; Profile photo URL. This is stored on the device where you installed the app; on Android, the data is encrypted by the OS/keychain. When you sign out, we delete all of the above from secure storage.
3.2 Report cache (on your device)
We use Hive (local database) in a box named report_cache to cache AdMob report responses on your device. We cache raw report rows plus a cache timestamp, with a 15-minute cache lifetime. The cache stays on your device only and is removed when you clear the app's data or uninstall the app.
4. Where data is sent (summary)
Sign-in goes to Google (Google Sign-In). Your identity (id, email, name, photo) is stored on device only. OAuth token is stored on device and sent to Google/AdMob when we call APIs. AdMob account/list/report requests go to Google AdMob API (admob.googleapis.com). Crashes/errors go to Firebase Crashlytics (Google); we do not send user ID. App icon loads go to Google Play Store (public URLs). We do not sell, rent, or share your personal data or AdMob data with third parties for their marketing. We do not send your report data or sign-in data to our own servers because we do not operate such servers for this app.
5. Your choices and rights
- Sign out: Signing out removes your stored user info and tokens from the device and ends the session.
- Revoke access: You can revoke the app's access at Google Account – Security – Third-party access.
- Uninstall: Uninstalling the app removes all locally stored data.
- Crashlytics: Crash reporting is part of the app; we do not send identifiers (e.g. user ID) to Crashlytics.
If you are in a region that grants you additional rights (e.g. access, deletion, portability), you can exercise them by signing out, revoking access, and/or uninstalling, and by contacting us (see below) for any request we can fulfill.
6. Children
AdSnap is not directed at children. We do not knowingly collect data from children. If you believe a child has used the app and we have collected their data, contact us and we will work to delete it.
7. Changes to this policy
We may update this Privacy Policy from time to time. We will post the updated text in the app or at a link we provide (e.g. in the app listing or settings). The "Last updated" date at the top will be revised when we make changes. Continued use of the app after changes means you accept the updated policy.
8. Contact
For questions or requests about this Privacy Policy or your data:
- App name: AdSnap
- Contact: redevs.india@gmail.com
This policy describes the current behavior of the AdSnap app as of the last updated date. Data practices are based on the app's implementation (Google Sign-In, AdMob API, Firebase Crashlytics, flutter_secure_storage, Hive report cache) and may be updated if the app's features or integrations change.