Network location implementation available on GrapheneOS (Apple’s location service)

From their Mastodon

This release adds an opt-in GrapheneOS network location client providing location detection based on nearby Wi-Fi networks using a local trilateration algorithm run on the device. It fetches a list of nearby Wi-Fi networks from Apple’s location service either directly or through a GrapheneOS proxy.

We’re in the process of building our own network location database based on scraping all of the cell tower and Wi-Fi data from Apple’s service. Scraping all the cell tower data is quick and will be easy to keep rapidly updated. A contributor scraped more than 2 billion Wi-Fi APs over 3 months.

This data isn’t copyrightable and Apple freely offers it without requiring authentication. It will be the initial basis for our database, but we’ll add other sources including an option to send us data from GrapheneOS devices. We’ll provide database downloads to support offline network location.

11 Likes

I was going to post this but I’m not convinced this relates much to security or privacy, definitely a nice quality of life feature though.

I understood it as a privacy feature since your network location could now be proxied. There is a strong chance I don’t fully understand the concept though.

Can someone explain what this means?

1 Like

@anon29374801 @blibly: What it means is that GrapheneOS devices can use nearby Wi-Fi networks to detect your location, instead of only relying on GPS.

It does this by comparing Wi-Fi networks close to you with a database provided by Apple (optionally accessed via a GrapheneOS proxy).

It isn’t a privacy location improvement, but it is a quality-of-life improvement. Apple and Google phones use Wi-Fi (and I think cell towers?) for triangulating your location in addition to (or instead of) GPS because actual GPS signals take some time to lock and use more power. Real GPS is also fairly unreliable, especially in urban environments and indoors, because it requires line of sight to the sky and tall buildings can interfere with it.

Now GrapheneOS can do it too :+1:

8 Likes

Once there is support for storing a database of APs locally, then it will be a more private than traditional network location. It still won’t be more or less private than pure GNSS though.

It’s a privacy improvement over opting into Google Play Services network based location services, which probably many GrapheneOS users use to get better location accuracy/speed.

7 Likes

I was saying it does not hide your location from the apps you are using, like was implied by someone above that it might be able to spoof your location to somewhere else.

Updates:

From Graphene OS Mostodon

Unlike Google’s service, position estimation is done locally by fetching location data for nearby networks.

our sandboxed Google Play compatibility layer reroutes location requests from these apps to the OS location service so there’s no need to give Location to Play services.

For improved compatibility, our default enabled rerouting emulates the presence of network location with GNSS when the OS network location service is off.

Longer term, we’ll be providing our own location service rather than only a proxy along with full offline support via database downloads. It already works offline for a while based on the cache. We’ll be using data from Apple’s service to bootstrap our service, but we’ll also be using other sources.

Code for apple fetching is here:

1 Like