Privacy Policy – Internet Speed Meter
Effective Date: April 22, 2026 | Last Updated: April 25, 2026 | App Version: 5.2
1. Introduction
Internet Speed Meter ("we", "our", or "the app") respects your privacy. This policy explains what information the Android app accesses, how it is used, and the limited circumstances under which information may be shared. The app is designed to function primarily on your device without transmitting your network usage statistics or history to our own servers.
2. Summary at a Glance
- No account, login, or personal identity collected.
- Firebase Analytics collects anonymized app usage data to improve stability.
- Network data usage metrics are processed locally on your device.
- Ads provided via Google AdMob — banner, interstitial, native, and app-open formats. Can be removed via a one-time in-app purchase.
- EEA / UK / Switzerland users are shown a Google-hosted consent form (UMP) on first launch and can choose personalized or non-personalized advertising.
- Optional one-time "Remove Ads" purchase available to stop all advertisements.
- You can reset in-app preferences or uninstall the app to remove all local data.
3. Information the App Processes (Device-Local)
Collected/Read Locally for Display & Functionality Only:
- Network data usage (mobile and Wi-Fi) via Android's
TrafficStats API and NetworkStatsManager API — total bytes sent and received. NetworkStatsManager requires the Usage Access special permission to provide accurate system-level statistics.
- Real-time download and upload speeds calculated from network usage deltas (1-second sampling).
- Current network transport (Wi-Fi, Mobile, or Ethernet) and — while on Wi-Fi — the connected network's signal strength percentage, link speed, frequency / band / channel, local IPv4 address, and gateway, for display in the notification and on the Wi-Fi tab.
- While on Wi-Fi, and only if you grant the Location permission, the connected network's name (SSID) and access-point MAC address (BSSID), shown on the Wi-Fi tab and in the live-speed notification's collapsed line. The app does not scan for other networks and does not retrieve location coordinates.
- Daily, monthly, and custom-range data usage statistics, queried on-demand from
NetworkStatsManager.
- User preferences (chart smoothing, default test engine, default unit, status-bar icon mode, lock-screen visibility, ad-free purchase cache).
This information never leaves your device. It is not transmitted to any server controlled by us.
4. What We Do Not Collect
- No name, email, address, phone, contacts, calendar, photos, media, files, or messages.
- No per-app data usage or app-specific network activity.
- No browsing history, URLs visited, or network traffic content.
- No location coordinates (latitude / longitude). Although Android requires the Location permission before any app can read SSID and BSSID of the currently connected Wi-Fi, the app uses that permission strictly for that purpose. It does not query GPS, fused location, network-based location, or any other location provider.
- No list of nearby Wi-Fi networks. The app does not perform Wi-Fi scans and does not request the
NEARBY_WIFI_DEVICES permission.
- No mobile carrier, SIM, IMEI, phone number, or any other telephony identifier — the app does not request
READ_PHONE_STATE.
- No biometric, health, or other sensitive personal data.
5. How Information Is Used Locally
- To display real-time internet speed (download/upload) in the notification shade and in the app's interface.
- To generate on-device graphs and historical data usage statistics.
- To show a persistent foreground notification with current network speed.
- To track daily and monthly data usage totals for user reference.
We do not sell, rent, or otherwise share any user data.
6. Local Storage & Retention
- User preferences are stored in app-private Jetpack DataStore.
- Ad-frequency state (last-shown timestamps, background gap tracking) is stored in app-private SharedPreferences.
- Pro (ad-free) status is cached locally so the first frame of each launch knows whether to render ads; Google Play is the source of truth and overrides the cache on every launch.
- Historical network usage data is maintained by the Android system (
NetworkStatsManager) — the app reads it on demand but does not copy it into its own storage.
- All in-app local data is deleted when you use the in-app "Reset to defaults" option (preferences only) or when you uninstall the app (all preferences, caches, and the foreground service's transient state).
7. Firebase Analytics (Google)
The app integrates Firebase Analytics to improve app stability and user experience. This service collects:
- Anonymous app usage events (screen views, feature usage, session duration, ad-interaction events).
- Device information (model, OS version, app version, language settings).
- General geographic region (inferred from IP address, not precise GPS location).
This data is used solely to:
- Identify and fix bugs and performance issues.
- Understand how users interact with the app to improve features.
- Monitor app stability metrics.
- Inform ad frequency and placement decisions.
No personally identifiable information (name, email, phone number, or contacts) is collected by Firebase. All data is anonymized and aggregated. Refer to Google's policies for full details: Firebase Privacy & Security and Google Privacy Policy.
8. Advertising (Google AdMob)
The app integrates Google Mobile Ads (AdMob) to display advertising in four formats:
- Native ad on the Home screen (beneath the live speed chart).
- Native ad (large) on the Wi-Fi tab (beneath the signal gauge).
- Native ad on the Speed Test screen (beneath the result cards).
- Adaptive banner on the Data Usage screen.
- Interstitial shown after a speed test completes.
- App Open ad shown on foreground transitions (subject to frequency capping described below).
AdMob may collect the following to serve ads and prevent fraud:
- Advertising ID (resettable), IP address, device information, coarse location (inferred from IP), and ad-performance metrics.
Refer to Google's policies for full details: Google Privacy Policy. You may opt out or limit personalized ads via Android settings or adssettings.google.com.
Ad frequency capping. To minimize interruption, the app enforces a shared 90-second cooldown between any two full-screen ads (interstitial or app-open), and requires at least 20 minutes of background time before an app-open ad can be shown again. These limits are persisted locally.
EEA / UK / Switzerland users: The app integrates Google's User Messaging Platform (UMP) SDK as a consent management platform, compatible with the GDPR and the IAB Transparency and Consent Framework (TCF v2.2). On first launch — and whenever the applicable region's requirements make it necessary — a Google-hosted consent form is displayed before ads are requested. In that form you can:
- Accept personalized advertising from Google and its ad partners.
- Decline personalization and receive non-personalized advertising only.
- Manage individual vendor purposes and preferences at a granular level.
Your choice is remembered locally by the UMP SDK. You can revisit and change it at any time via Settings → About → Privacy options (the row appears only when your region offers this choice). For more information, see Google's Consent Management Platform documentation.
Removing ads: You can permanently remove all advertisements by purchasing the "Remove Ads" in-app product (see Section 9). Once purchased, no ad-related data is collected or processed by this app.
9. In-App Purchases (Google Play Billing)
The app offers an optional one-time in-app purchase to permanently remove all advertisements.
Product Details
- Product Name: "Remove Ads"
- Type: One-time purchase (not a subscription)
- Effect: Hides the native ad, adaptive banner, interstitial, and app-open ads permanently.
- Product ID:
internetspeedmeter_remove_ads
Payment & Data Collection
- Payment Processing: All payments are processed securely through Google Play Billing. We never see or handle your credit card information, billing address, or payment details.
- Data Collected by Google: Google may collect purchase history, transaction IDs, product ownership status, and billing information necessary to process payments.
- Purchase Verification: Your purchase is verified through Google Play servers to confirm ownership.
- Data Stored Locally: Your purchase status (ad-free or not) is cached in app-private DataStore on your device; Google Play is the source of truth and overrides the cache on every launch.
- No Personal Data Stored by Us: We do not store any payment or personal information on our own servers. All purchase data is managed by Google Play.
Purchase Restoration
Your purchase is permanently tied to your Google Play account. It will automatically restore when you:
- Reinstall the app on the same device.
- Install the app on a new device signed in with the same Google account.
- Clear app data or reset your device.
No action is required from you — the app checks your purchase status on startup and whenever the app returns to the foreground.
Refund Policy
All in-app purchase refunds are subject to Google Play's refund policy. You may request a refund through:
- Google Play Store: Open your Order History and request a refund (available within 48 hours of purchase).
- Contact Us: Email tofa.du@gmail.com for assistance with refund requests or purchase issues.
Note: Refund eligibility and processing are determined by Google Play's policies, not by us.
Legacy Product Support
If you previously purchased the older product com.tofabd.internetspeedmeter (from the earlier version of this app, now retired), your ad-free status is honored by this version and continues to work automatically. No re-purchase is required.
Privacy After Purchase
Once you purchase "Remove Ads":
- All advertisements stop immediately.
- Google AdMob SDK stops making ad requests for your account on this device.
- No advertising identifiers or ad-interaction data are collected.
- Firebase Analytics continues to collect anonymized app-usage data unless you disable analytics at the device level.
For more information about how Google processes in-app purchase data, see Google Payments Privacy Notice.
10. Foreground Service & Notification
The app runs a foreground service ("Special Use" type) to monitor network speed continuously and keep the live-speed notification active. The service reads system network statistics locally via TrafficStats and NetworkStatsManager. It does not transmit any network data externally.
11. Permissions Used
INTERNET — required to load AdMob ads and send anonymized Firebase analytics.
ACCESS_NETWORK_STATE — detect Wi-Fi / Mobile / Ethernet connectivity state.
ACCESS_WIFI_STATE — read Wi-Fi link metadata (signal strength, link speed, frequency) for display in the notification and on the Wi-Fi tab. Install-granted; no runtime prompt.
ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION — required by Android 6+ before any app can read the Wi-Fi SSID and BSSID of the network you are currently connected to. The Wi-Fi tab requests this permission only when you tap "Grant Permission" on the in-screen banner; it is never auto-prompted on app launch. The app does not read location coordinates, does not scan for other networks, and the permission has no effect outside the Wi-Fi tab and notification line. You can revoke it at any time in Android Settings → Apps → Internet Speed Meter → Permissions; signal strength, link speed, band, IP, and gateway continue to work without it.
POST_NOTIFICATIONS — show the live-speed notification (Android 13+ runtime permission).
RECEIVE_BOOT_COMPLETED — restart the monitoring service after device reboot.
PACKAGE_USAGE_STATS (Usage Access) — special permission to read system-level network statistics via NetworkStatsManager. Requires manual user approval in Android Settings. All data is processed locally.
FOREGROUND_SERVICE and FOREGROUND_SERVICE_SPECIAL_USE — run the monitoring service with a persistent notification. The "Special Use" subtype is declared as "Real-time network speed monitoring and display."
com.google.android.gms.permission.AD_ID — Advertising ID access for Google AdMob. Not used once "Remove Ads" is purchased.
12. Security
- All data remains within Android's standard app sandbox.
- No custom remote storage or transmission to third-party servers beyond Google ad requests, Firebase analytics, and Google Play Billing.
- We do not implement additional encryption layers for local network data because it is non-personal and confined to the device.
13. User Controls & Your Rights
You have full control over your data and privacy.
In-App Controls
- Reset to defaults (Settings) — restores chart smoothing, default engine, default unit, status-bar icon mode, and other preferences to their initial values. Does not affect Google Play purchase history or system-maintained network usage statistics.
- Remove Ads (Settings) — one-time purchase to permanently stop all advertisements.
- Rate this app / Share this app / More apps by developer (Settings) — opt-in links to Google Play. No data is collected by the app when you tap these.
- Privacy options (Settings → About) — for users in regions where the choice is offered (EEA / UK / Switzerland), re-opens the Google-hosted consent form so you can change your advertising personalization preference after the first launch.
Android System Controls
- Notifications: Disable the app's notifications in Android Settings → Apps → Internet Speed Meter → Notifications.
- Usage Access: Revoke Usage Access in Android Settings (note: this will disable daily data history).
- Advertising ID: Reset your Advertising ID or opt out of personalized ads in Android Settings → Google → Ads.
Ad Personalization Controls
- Google Ad Settings: Manage ad personalization preferences at adssettings.google.com.
- Limit Ad Tracking: Disable personalized ads in Android Settings → Google → Ads → "Opt out of Ads Personalization".
Data Rights (GDPR/CCPA)
The developer does not operate any servers and does not maintain user records of its own. Personal data processed by integrated Google services (Firebase Analytics, Google AdMob, Google Play Billing, Google User Messaging Platform) is controlled by Google under its own privacy policies, and you exercise your data rights through Google directly.
- Right to Access: Data processed by Firebase, AdMob, and other Google services is accessible through your Google account at myaccount.google.com/data-and-privacy. The app itself does not maintain user records that the developer can access or export.
- Right to Deletion: The developer does not store user data on its own servers and therefore cannot fulfil deletion requests on behalf of users. Data held by Google services may be deleted through Google account controls (myaccount.google.com/data-and-privacy) or by following the per-service instructions linked in Section 16. Locally stored preferences and caches are removed automatically by Android when you clear the app's data or uninstall the app — see Local Data Removal below.
- Right to Object: Object to data processing by opting out of ad personalization (via the in-app Privacy options row where available, Android Settings → Google → Ads, or adssettings.google.com), opting out of analytics collection at the device level (Android Settings → Google → Usage & diagnostics), resetting your Advertising ID, or purchasing "Remove Ads".
- Right to Portability: All in-app data is stored locally on your device in standard Android formats and is portable through standard Android backup mechanisms.
Local Data Removal
Because no developer-controlled server holds your data, removing all data the app has stored is achieved entirely through device-level Android controls:
- Uninstall the App: Android removes all locally stored preferences, caches, and transient service state automatically.
- Clear App Data: Android Settings → Apps → Internet Speed Meter → Storage → Clear Data.
- Purchase History: managed entirely by Google Play. To remove purchase records, use Google Play account controls or contact Google Play support — the developer does not have access to delete these records.
Contact: For general questions or feedback about the app, email tofa.du@gmail.com. Note that data access or deletion requests for analytics, advertising, or purchase data must be directed to Google through the channels described above, as the developer does not hold this data.
14. Children's Privacy
The app is not directed to children under 13. We do not knowingly collect personal data from children. If a child has used the app, the data controls described in Section 13 (clearing app data, uninstalling the app, and using Google's account controls for any analytics or advertising data) will remove any associated data — the developer does not maintain its own user records.
15. International & Legal Disclosures
- No "sale" or "sharing" of personal information as defined in US state privacy laws (CCPA/CPRA).
- No cross-border transfers of personal data stored by us. Firebase and AdMob data may be processed by Google in compliance with applicable data protection laws.
- For EEA / UK / Switzerland users: The app uses Google's User Messaging Platform (UMP) to gather advertising consent in compliance with the GDPR and the UK/Swiss equivalents. The Google-hosted consent form is presented before ads are loaded on first launch and whenever your choice needs to be re-gathered. You can change your choice at any time via Settings → About → Privacy options.
- For California users: You have the right to opt out of the sale of personal information (not applicable — we do not sell data). Because the developer does not maintain user records on its own servers, deletion of analytics, advertising, or purchase data should be requested directly from Google via the controls referenced in Section 13.
16. Third-Party Services
The app integrates the following third-party services, each governed by their own privacy policies:
- Google AdMob — advertising delivery and measurement.
Privacy Policy: policies.google.com/privacy
Purpose: display native, banner, interstitial, and app-open advertisements.
- Firebase Analytics — anonymous app usage analytics.
Privacy Policy: firebase.google.com/support/privacy
Purpose: understand app usage patterns and improve stability.
- Google Play Billing — in-app purchase processing.
Privacy Notice: Google Payments Privacy Notice
Purpose: process the "Remove Ads" purchase securely.
- Google Play In-App Review — rating flow.
Purpose: let users rate the app inside the Play system sheet without leaving the app.
- Google User Messaging Platform (UMP) — consent management for regions that require it (EEA / UK / Switzerland).
Privacy Policy: policies.google.com/privacy
Purpose: display and remember the advertising-consent choice so AdMob requests comply with applicable regional rules.
No other third-party SDKs (social networks, additional ad networks, or tracking services beyond Google) are integrated into this app.
Third-Party Ad Partners
Google AdMob may serve ads from various advertising partners. For a complete list of AdMob ad partners and their privacy policies, see:
17. Changes to This Policy
We may update this policy to reflect feature changes or legal requirements. The "Last Updated" date changes upon revision. Material changes affecting user rights will be highlighted in release notes where practical.
18. Contact
General questions or feedback about the app: tofa.du@gmail.com. As noted in Section 13, the developer does not hold user data on its own servers; data access and deletion requests for analytics, advertising, or purchase data are handled by Google through your Google account controls.
This Privacy Policy is hosted on GitHub Pages at https://tofabd.github.io/privacy-policy-internet-speed-meter/. For GitHub Pages data collection details, see the GitHub Privacy Statement and GitHub Pages Data Collection.