Wavelens privacy policy
Summary
Wavelens has no network permission and cannot send data anywhere. It does not collect, transmit, sell or share personal information. Everything it records stays in the app's private storage on your device and is deleted when you uninstall the app. There is no account, no analytics, no advertising and no crash-reporting service.
Who we are
Wavelens is developed and published by Patrick McBrien, an individual developer based in Florida, United States, operating as "Wavelens". For anything in this policy, write to wavelensapp@gmail.com.
What the app does
Wavelens is a passive radio-survey tool. It listens to Bluetooth, Wi-Fi and cellular signals that nearby devices already broadcast, classifies them against a signature list stored inside the app, and shows you what is transmitting around you. It never connects to, pairs with, probes or sends anything to the devices it observes.
Data we collect
None. The app has no INTERNET permission, so it is technically unable to make a network request. We do not operate any server that the app talks to. We do not receive your location, your device identifiers, the devices you detect, your settings, your usage, or anything else. The answers on the Google Play Data safety form are "No data collected" and "No data shared", for every category.
This website is a static page served from a content delivery network. It sets no cookies and runs no analytics. The hosting provider keeps standard access logs (IP address, time, page requested) for a short period to operate the service; we do not use them to identify anyone.
Data stored on your device
To do its job, the app keeps records in its own private storage on your phone. Nothing in this section ever leaves the device unless you export it yourself (see Sharing).
| What | Why |
|---|---|
| Detected device records: radio identifiers (MAC / BSSID), advertised names, service identifiers, manufacturer data, signal strength, and the time and GPS position where each was heard | Showing you what is around you, telling whether a device is moving with you, and recognising it again later |
| Alert log | Reviewing what alerted and when; written as alerts happen so a crash loses nothing |
| Encounter history: where (in roughly 250-metre cells) and how often each device has been heard, and which cell is your usual starting point | Quieting fixed emitters you pass every day, announcing devices that recur in several places, and learning your regular routes so a new camera on them stands out |
| Fingerprints of devices you flag or mark as yours | Recognising a device after it changes its address; keeping your own earbuds, watch and car from alerting |
| Tail evidence: a device's positions and your own path for the period it appeared to follow you | Showing you the replay and letting you keep it |
| Trip reports, and, if you turn it on, raw session recordings of every observation and position | A summary of each drive; replaying a drive to test a new signature list |
| Your settings | Running the app the way you set it |
These files are excluded from Android cloud backup and device-to-device transfer, so they are not copied to Google or to a new phone.
Permissions and why each is needed
| Permission | Used for |
|---|---|
| Bluetooth scan / connect / admin | Receiving Bluetooth LE advertisements and classic discovery results. "Connect" is required by Android only to read a device's advertised name; the app never initiates a connection. |
| Nearby Wi-Fi devices, Wi-Fi state | Reading the list of Wi-Fi access points in range (SSID, BSSID, channel, signal strength). The app does not join any network. |
| Precise location | Android only delivers Bluetooth and Wi-Fi scan results to apps that hold location permission. The app also records your GPS position alongside each detection — see Location. |
| Foreground service (location, connected device) | Scanning continues while the screen is off or another app is in front, so the app can alert you while driving. A persistent notification is shown the whole time, and you can stop scanning from the notification or the app. |
| Notifications | The scanning-status notification and alert notifications. |
| Vibrate, wake lock, camera flash (torch) | Alert feedback and keeping the scanner running while backgrounded. The camera permission is not requested; the torch is controlled without it. |
The app does not request access to contacts, calendar, call logs, SMS, microphone, camera images, files outside its own storage, or any identifier such as the advertising ID.
Location
Location is central to what the app does, so here is exactly how it is used.
- Why in the background. The core feature is use while driving, with the phone mounted or in a pocket and the screen off. The app keeps scanning so it can alert you to a tracker or camera travelling with you, and compares each device's signal against your own path to decide whether it is moving with you. This only works if scanning and positioning continue in the background.
- How you control it. You start scanning by tapping Scan and stop it from the notification or the app. Before the first permission prompt the app explains this use. Location is never used while scanning is off.
- Where it goes. Positions are stored only inside the app's private storage, attached to the device records, history, tail evidence and trip reports described above. They are never transmitted. Diagnostics reports you choose to share contain no positions.
Sharing and third parties
The app shares nothing automatically and contains no third-party SDKs. Data can leave your device only when you choose to:
- export a CSV, KML, PDF, JSON or session file through the Android file picker, or
- send a diagnostics report through the Android share sheet (More → Share diagnostics).
Where you send such a file is up to you. The diagnostics report is shown to you in full before sharing and contains no coordinates, cell identifiers, rotating addresses or names of personal devices. If you email it to us, we use it only to investigate the problem you describe and delete it when that is done.
Wavelens has no feature that uploads or crowd-sources detections, signatures or locations.
Google Play processes your purchase under Google's privacy policy; we receive no personal information from it beyond aggregate sales statistics.
Retention and deletion
Data stays on your device until you delete it:
- Encounter history for devices heard in a single session is deleted automatically after a period you set (7–90 days; default 30).
- Session recordings, trip reports and tail evidence are kept up to a count you set; the oldest are deleted first.
- The Setup screen has Clear actions for the alert log, history, watchlist, sessions and live table; the More screens have Delete all for trips and tails.
- Uninstalling the app deletes everything.
Because we hold no data about you, there is nothing for us to delete on request and no account to close. If you believe we do hold something — for example a diagnostics report you emailed — write to us and we will delete it.
Security
All data is stored in the app's private, sandboxed storage, which other apps cannot read, and is excluded from backups. The app is signed and distributed through Google Play (or as a signed APK from our GitHub repository). Because the app cannot reach the network, the usual risks of transmission and server breach do not apply.
Children
Wavelens is a tool for adults and is rated for ages 18 and over on Google Play. It is not directed at children and, as described above, collects no personal information from anyone.
Your rights
Under the laws that may apply to you (including the GDPR in the European Economic Area and the United Kingdom, and state privacy laws in the United States such as the CCPA), you may have rights to access, correct, delete or port personal data, and to object to or restrict its processing. Because the app processes personal data only on your own device under your control, you exercise these rights directly: the data is yours to view, export or delete in the app. If you have a question about this, contact us and we will help.
Changes to this policy
If this policy changes, the new version is posted at this address with a new effective date. Material changes — anything that would let data leave your device — will also be called out in the app's release notes. Earlier versions are available in the public repository's history.
Contact
Email wavelensapp@gmail.com, or open an issue at github.com/pmcbrien/wavelens.