Privacy Policy – WiFi Monitor
Effective Date: April 16, 2026 | Last Updated: May 2, 2026
1. Introduction
WiFi Monitor ("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 entirely on your device. Scan results, network information, and your settings are processed locally and are not transmitted to any server controlled by us.
2. Summary at a Glance
- No account, login, or personal identity collected.
- WiFi scan results (SSID, BSSID, signal strength, channel, security type) are processed on-device only.
- Location permission is requested solely because Android requires it to perform WiFi scans — the app does not read, store, or transmit your GPS coordinates.
- Ads are provided by Google AdMob (banner, interstitial, and app-open), which may use the Advertising ID.
- Firebase Analytics and Crashlytics collect anonymized usage and crash data to improve stability and inform feature decisions (release builds only).
- Uninstalling the app removes all locally stored preferences.
3. Information the App Processes (Device-Local)
Read locally for display and analysis only:
- Information about WiFi networks visible to your device: SSID (network name), BSSID (access point MAC address), signal strength (RSSI in dBm), frequency (MHz), channel number, channel width, frequency band (2.4 GHz / 5 GHz / 6 GHz), and security type (WPA/WPA2/WPA3/Open).
- Information about your currently connected network, if any: SSID, link speed, IP configuration available through standard Android WiFi APIs.
- Approximate distance to access points, computed locally from signal strength using the Free-Space Path Loss formula.
- Vendor / manufacturer name derived from the BSSID prefix using a bundled, offline OUI (Organizationally Unique Identifier) lookup table. No network request is made for this lookup.
- App preferences (such as theme mode) stored in Jetpack DataStore.
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 GPS coordinates or precise/coarse location data — even though the location permission is granted (see Section 5).
- No saved WiFi passwords or credentials.
- No browsing history or traffic from networks you connect to.
- No biometric, health, or other sensitive personal data.
- No persistent server-side scan history or logs.
5. Why Location Permission Is Required
Starting with Android 6.0 (Marshmallow), Google requires apps that scan for nearby WiFi networks to hold the ACCESS_FINE_LOCATION (or ACCESS_COARSE_LOCATION) permission. This is because the list of nearby WiFi access points can be used to infer location.
WiFi Monitor requests this permission only to enable WiFi scanning. The app:
- Does not request, read, or store your GPS coordinates.
- Does not use the Fused Location Provider, GPS, or any other location API.
- Does not derive, infer, or transmit your location to any server.
If you deny this permission, Android will return empty WiFi scan results and the app's core scanning features will not function.
6. How Information Is Used Locally
- To display the list of nearby WiFi networks with signal strength, channel, and security details.
- To render channel-usage and signal-strength visualizations across the 2.4 GHz, 5 GHz, and 6 GHz bands.
- To show details about your currently connected network.
- To compute and display estimated distance, signal quality bars, and vendor information.
We do not sell, rent, or otherwise share any user data.
7. Local Storage & Retention
- App preferences (such as theme selection and a first-launch onboarding flag) are stored in Jetpack DataStore on your device.
- Shared ad-frequency counters (cooldown, daily cap, last-backgrounded timestamp for app-open) used by the interstitial and app-open managers are stored locally in SharedPreferences.
- Scan results are held in memory while the app is running and are not written to a persistent database.
- All locally stored data is removed when you uninstall the app or clear the app's data through Android system settings.
8. Advertising (Google AdMob)
The app integrates Google Mobile Ads (AdMob) to display banner ads, occasional interstitial ads, and an app-open ad shown on cold start and when returning to the app after a session gap. AdMob may collect:
- Advertising ID (resettable), IP address, device information, coarse location inferred from IP, and performance metrics for ad delivery and fraud prevention.
Refer to Google's policies for full details: Google Privacy Policy. You may opt out of personalized ads or reset your Advertising ID via Android system settings, or visit https://adssettings.google.com.
EEA / UK / Switzerland Users: Where required, Google's ad SDK applies the User Messaging Platform (UMP) consent flow for personalized advertising under GDPR and the IAB Transparency and Consent Framework (TCF v2.2). You may accept personalized ads, decline and receive non-personalized ads, or manage individual vendor preferences. Your choices are stored locally and can be changed at any time through Android system settings.
9. Firebase Analytics & Crashlytics (Google)
The app integrates Firebase Analytics and Firebase Crashlytics to improve app stability and user experience. These services may collect:
- Anonymous app usage data (screen views, feature usage, session duration, ad interaction events).
- Crash reports and technical diagnostics (stack traces, device state at time of crash, non-fatal exceptions).
- 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, crashes, and performance issues.
- Understand how users interact with the app to improve features.
- Monitor app stability and overall user experience.
No personally identifiable information (name, email, phone number, or contacts) is collected. All data is anonymized and aggregated. Analytics and Crashlytics collection is disabled in debug / development builds; only release builds report to Firebase. Refer to Google's policies for full details: Firebase Privacy & Security and Google Privacy Policy.
10. Permissions Used
ACCESS_WIFI_STATE: Required to read information about WiFi networks and the current connection.
CHANGE_WIFI_STATE: Required to initiate a WiFi scan refresh.
ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION: Required by Android 6.0+ to perform WiFi scans. The app does not access your actual location. See Section 5.
ACCESS_NETWORK_STATE: Required to detect connectivity status and network changes.
INTERNET: Required for AdMob to load advertisements and for Firebase to transmit anonymized analytics and crash reports.
com.google.android.gms.permission.AD_ID: Enables AdMob's access to the Advertising ID. You can opt out via Android system settings.
11. Security
- All data remains within Android's standard app sandbox.
- The app makes no remote requests except to Google's AdMob servers for ad delivery and to Firebase for anonymized analytics and crash reporting.
- Because no personal data leaves the device, no additional encryption layer is applied to local preferences.
12. User Controls
- Revoke the location permission at any time through Android system settings (note: WiFi scanning will then return no results).
- Reset your Advertising ID or limit ad personalization in Android system settings.
- Clear the app's stored preferences via Android system settings (Apps → WiFi Monitor → Storage → Clear data).
- Uninstall the app to remove all remaining local data.
13. Children's Privacy
The app is not directed to children under 13. We do not knowingly collect personal data from children. The app does not require any personal data to function.
14. International & Legal Disclosures
- No "sale" or "sharing" of personal information as defined under US state privacy laws (CCPA/CPRA, etc.).
- We do not transfer personal data across borders. Any data processed by Google AdMob is handled by Google in compliance with applicable data-protection laws and its own privacy policy.
15. Third Parties
- Google AdMob – Advertising delivery and measurement (see Google Privacy Policy).
- Google User Messaging Platform (UMP) – Consent collection for GDPR/TCF compliance, where applicable (see UMP SDK Documentation).
- Firebase Analytics – Anonymous app usage analytics to improve user experience (see Firebase Privacy).
- Firebase Crashlytics – Crash reporting and diagnostics to improve app stability (see Firebase Privacy).
- No other third-party SDKs (social, tracking, or advertising networks beyond Google) are integrated.
16. Changes to This Policy
We may update this policy to reflect feature changes or legal requirements. The "Last Updated" date will change upon revision. Material changes affecting user rights will be highlighted in release notes where practical.
17. Contact
Questions or requests: tofa.du@gmail.com
This Privacy Policy is hosted on GitHub Pages. For their data collection details, see the GitHub Privacy Statement and GitHub Pages Data Collection.