GrapheneOS version 2025022700 released:
https://grapheneos.org/releases#2025022700
See the linked release notes for a summary of the improvements over the previous release.
Forum discussion thread:
https://discuss.grapheneos.org/d/20369-grapheneos-version-2025022700-released
#GrapheneOS #privacy #security
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.
@[email protected] anecdotally it seems location lock is much faster since this release landed. Kudos!
@[email protected] Did you enable the network location toggle? It should work very well with no satellite reception now if you have a lot of nearby Wi-Fi networks which are mapped well by Apple.
@[email protected] I hadn’t, but even without it the time to first fix seems much faster. Not sure if this is a placebo effect.
Oh wow, i also contributed in the past to Moz Location, wigle, open cell tower and open wlan with foss clients. 😎👍
@[email protected] thank you so much for the new network location feature!
It’s already working like a charm. 🤩@[email protected] are we talking about some sort of navigation or maps app potentially in the future from the team? Cause I feel like it’s needed now more than ever.
@[email protected] We don’t currently have any plans to make a maps/navigation app. We’ll have our hands full replacing or overhauling all of the basic AOSP apps.
deleted by creator
It currently only has a very basic approach to altitude estimation which we’ll be properly integrating into the trilateration algorithm in the near future.
It currently only uses Wi-Fi networks but we’ll be extending it with support for using cell towers as a fallback in the near future.
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.
@[email protected] just wondering how this might work? Will this be an internal Android function or via a third party open source app like NeoStumbler?
@[email protected] It will be first party GrapheneOS functionality built into the OS similar to our network location client.
is this going to be worldwide?
@[email protected] Yes. We used Mozilla’s cell tower database as an initial seed to scrape essentially all of Apple’s cell tower data. We’ll be scraping all of their Wi-Fi AP data from around the world too. We can also add other sources of data but we don’t really need it beyond having a path forward if Apple ever goes through a multiple year process to phase out having a publicly available network location service. It would be hard for them to do that since their existing devices depend on it.
@[email protected] Thank you for clarifying.
deleted by creator
@[email protected] Why are you using the Apple’s service and not Google’s for example? I thought it was better. Is this because of legal issues?
@[email protected] Apple’s service is better for our purposes because it provides the Wi-Fi AP and cell tower location data for the area which can be locally cached in memory. It also means we had to implement a local algorithm for determining the location based on it. Apple’s API enables us to scrape their service for data to build our own database by crawling through the data. Google’s service would currently work better because the algorithm is smarter than ours but we can improve it to work as well.
@[email protected] Since we have a local algorithm already, we’ve already a lot of the way towards implementing entirely offline network location support. We just need to provide a database based on scraping Apple’s data for local queries of networks and networks near those. We already have the code to calculate the position from it locally. Google’s service does the calculation on their service which prevents mass scraping the data in a similar way and also prevents short term offline use via a cache.
deleted by creator
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.
@[email protected]
Why not look into https://beacondb.net/?@[email protected] Good thing that US does not recognize database “rights”. EU and UK do, for example.
@[email protected] Apple gathered the data from scraping data from Wi-Fi APs and cell towers and they scrape a lot of the web to train search, AIs, etc. so they’d have a lot of trouble arguing we’re doing anything wrong using open access public data provided by them with no authentication. It’s unlikely they’ll care. We do plan to move towards having people submit data in the future but it’s not a short term viable approach especially with a privacy focused userbase who aren’t going to want to send data.
@[email protected] All of that is amazing! Great work, I’m exited to see it in action!
I assume for it to work either WiFi of WiFi scanning needs to be enabled though, right?@[email protected] Yes, either Wi-Fi needs to be enabled or Wi-Fi scanning needs to be enabled to allow doing Wi-Fi scans regardless of the Wi-Fi state. There’s a new network location option added in the menu for it. We’re going to be adding cell tower support too as a fallback approach it can use if there aren’t enough nearby Wi-Fi networks. We’ve also already essentially fully scraped Apple’s cell tower data and it will be much easier to provide that for a fully offline mode than the Wi-Fi AP data.
@[email protected] Curious about the pros and cons of maintaining a separate DB compared to a public project like BeaconDB…
@[email protected] If they provide database downloads in an adequate format usable for our service, we can import it with the Apple data. We’re free to use multiple sources of data for our service. We can scrape nearly the entirety of Apple’s data and then keep it updated regularly via continuous scraping of the same areas which will avoid much need for anything else though.