Network Analyzer App Icon

Network Analyzer


Why does the app require location permission for wifi signal?

One less obvious thing about apps that show wifi networks in the neighborhood is that the list of networks is unique to a given area and can be used to determine the user's location. There are online databases containing a huge number of access points and their locations, created by apps with access to GPS. Apps that only have access to the surrounding wifi networks, and no direct access to GPS or location, can then use these databases to get the coordinates of users with about 20m precision. For instance, one such database is here:

https://wigle.net

This means that any app that is able to show surrounding wifi networks may know your location.

Originally, the Android system didn't protect access to wifi information at all, so apps could access it without any restriction (and could therefore get the user's location without the user knowing). In recent Android releases, Google has been making progress in protecting this sensitive information:

  • Since Android 9, apps are required to have the ACCESS_COARSE_LOCATION permission
  • Since Android 10, apps are required to have the ACCESS_FINE_LOCATION permission

For more details, have a look at the official Android documentation here:

https://developer.android.com/guide/topics/connectivity/wifi-scan#wifi-scan-permissions