Skip to content

Privacy policy

A survey records what the phone’s radios see, each record stamped with the phone’s location:

  • Cellular: cells (identity, operator codes, signal strength) and Phone state
  • Wi-Fi: access points (SSID, BSSID, signal strength)
  • Bluetooth: nearby devices (address, advertised name, signal strength)
  • GNSS: satellites
  • Call records, if you turn them on: call events and tower changes, and in the CDR build also SMS and MMS events (see Build variants)
  • With an optional NS Scout, if you turn them on: Wi-Fi clients (the addresses of nearby Wi-Fi devices and the network names they look for), and raw Wi-Fi frames, which are saved only to log files on the phone

Records also carry a device serial number: the ID Android assigns to the app on this phone (shown in Settings > Device IDs).

  • No account is needed to use the app (NS Analytics is optional).
  • It does not read the IMEI or the SIM’s subscriber ID.
  • It does not read call history, contacts, or message content.
  • Phone numbers only appear in Call records: this phone’s own number if you grant Read phone numbers (both builds), and the other party’s number in the CDR build.

Your records stay on the phone unless you send them somewhere. They go only to the destinations you turn on for a survey:

  • Log files: CSV files (and pcapng files for an NS Scout’s raw frames) on this phone, in Download/NetworkSurveyData/csv. You can share them from More > Log files, and delete them with a file manager.
  • NS Analytics: your team’s workspace, once you connect the phone.
  • MQTT stream and gRPC stream: the broker or server you set up.
  • Community databases: OpenCelliD (cellular) and BeaconDB (cellular and Wi-Fi), public databases, only if you choose them.

Besides the destinations above, the app connects to these services:

  • Map tiles for the Map tab, from the map source you pick on the Map tab (OpenFreeMap, MapTiler, or OpenStreetMap; the OpenStreetMap style file comes from GitHub, and the MapTiler key from the Network Survey service), and from OpenFreeMap for the watchlist map. Turning on the BeaconDB coverage layer loads it from BeaconDB.
  • Tower data on the Map tab: the app asks the Network Survey service for the towers in the area you are looking at, and for the towers you search for.
  • Manufacturer lookup (on by default): sends the 24-bit OUI prefixes of Wi-Fi and Bluetooth addresses it sees to the Network Survey service to show device makers, and downloads a list of manufacturers from it. Turn it off in Settings > Map and lookups > Manufacturer lookup.
  • PLMN lookup: the operator codes or names you search for on the PLMN lookup page.
  • New tower alerts (off by default): the identity of the serving cell, sent to the Network Survey service to check whether the tower is already in OpenCelliD.
  • NS Scout firmware updates: with a Scout paired, the app downloads the firmware release information and firmware files from GitHub when you open the NS Scout page (at most once a day) and when you update. No survey data is sent.
  • Firebase (Google Play build only): Crashlytics crash reports and Firebase Analytics. The CDR build includes no Firebase.
  • You pick every destination, and you can stop a survey at any time.
  • Leave your own networks out of saved and uploaded data with the SSID exclusion list.
  • Credentials you enter (MQTT broker passwords, your OpenCelliD API key) are encrypted on the phone with the Android Keystore.

The app’s source code is on GitHub under the Apache 2.0 license, so anyone can check what it does.