Requirement of location services to get SSID name.

Sorry if this has been asked before. I was looking if there was any specific reason why location permission is needed to SSID name?

I built small utility app to show network details. Some users have expressed concerns regarding enabling location services just to get the SSID or BSSID values.

Just want to understand, and hopefully convey the right message to the users.

Answered by DTS Engineer in 800093022

Sorry if this has been asked before. I was looking if there was any specific reason why location permission is needed to SSID name?

Making the answer more explicit, privacy concerns meant that we need to add a permission check for SSID access. We could have added a new SSID specific permission dialog, however:

  • It would have been very difficult to describe what the app was actually trying to access in a way that most users would understand.

  • The primary privacy concern was specifically about how SSIDs can be used to track location.

...which is why we used the existing location authorization system.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

For one thing, the network name can leak location information. Some users may not want to disclose that they are connected to a network named something like “No-Tell Motel Free Guest Wi-Fi”.

Story about how the WiFi SSID reveals your location:

https://www.theregister.com/2024/05/23/apple_wifi_positioning_system/

Accepted Answer

Sorry if this has been asked before. I was looking if there was any specific reason why location permission is needed to SSID name?

Making the answer more explicit, privacy concerns meant that we need to add a permission check for SSID access. We could have added a new SSID specific permission dialog, however:

  • It would have been very difficult to describe what the app was actually trying to access in a way that most users would understand.

  • The primary privacy concern was specifically about how SSIDs can be used to track location.

...which is why we used the existing location authorization system.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Is it possible to warn users that the scanForNetworks() function will fail if an app doesn't have location permissions? It was difficult to troubleshoot why my app suddenly wasn't able to join WiFi networks. Had to print the output of scanForNetworks(), notice that the SSIDs were null, and search for that online till I found someone having a similar issue: https://github.com/gopro/OpenGoPro/issues/506.

Requirement of location services to get SSID name.
 
 
Q