Geolocation and Privacy
Matt Reynolds (Google Chrome)
W3C TPAC 2025 breakout
Agenda
WAP = Wireless Application Protocol Forum
IETF = Internet Engineering Task Force
OGC = Open Geospatial Consortium
Notable location privacy orgs
WAP-W3C Joint Workshop on Mobile Web Privacy (2000)
Goal: Define an architectural framework for location that includes access controls for position information.
Introduction To WAP Location Drafting Committee and Privacy Concerns Ewan Cameron (SignalSoft Corp)
WAP-W3C Joint Workshop on Mobile Web Privacy (2000)
No institutional ownership for location privacy
Agnostic about legal/policy issues
Introduction To WAP Location Drafting Committee and Privacy Concerns Ewan Cameron (SignalSoft Corp)
WAP-W3C Joint Workshop on Mobile Web Privacy (2000)
Who owns the location information?
Introduction To WAP Location Drafting Committee and Privacy Concerns Ewan Cameron (SignalSoft Corp)
WAP-W3C Joint Workshop on Mobile Web Privacy (2000)
At different times or locations, different rules may apply. It's important to distinguish between the device operator and the recipient of the location data.
Introduction To WAP Location Drafting Committee and Privacy Concerns Ewan Cameron (SignalSoft Corp)
IETF Geographic Location/Privacy WG (GeoPriv)
Founded in 2001 to develop a location representation for use in internet protocols.
Privacy concerns:
IETF GeoPriv: Presence Information Data Format - Location Object
Goal: Define a standard XML format for geographical information and associated policy requirements.
A <geopriv> element has:
IETF GeoPriv: A process for obscuring location
Goal: Develop algorithms to obscure location information as a privacy mitigation.
Many important observations:
2025 update: Location obscuring is not effective
ASCII art appreciation slide
IETF GeoPriv: Civic Location
Goal: Allow <location-info> to contain civic location information.
Open Geospatial Consortium: GeoXACML
Goal: Provide fine-grained access control for a Geo Data Infrastructure service.
Geometry-specific security & privacy considerations:
Geolocation on the early web
Google Gears Geolocation API (2008-2011)
Based off of the proposed W3C Geolocation API: getCurrentPosition, watchPosition, clearWatch
Reverse geocoding: Pass gearsRequestAddress:true to request civic address info (streetNumber, street, city, region, postalCode, country)
Mozilla Geode (2008-2009)
Geode provided an experimental implementation of Geolocation API ahead of official support in Firefox.
The add-on prompts for permission and uncertainty level. Uncertainty is introduced by a "fuzzing" algorithm.
Mozilla originally planned to implement location fuzzing in Firefox but decided against it.
2008 spec discussions: Who is responsible for privacy?
Can privacy and security be handled by a separate forum?
The spec should highlight the security concerns and suggest possible ways for implementations to address those concerns, and nothing else.
Let other parts of the industry figure this out, such as IETF, OMTP or OMA. The W3C should focus exclusively on defining good APIs, which is a hard enough task.
2008 spec discussions: Who is responsible for privacy?
Is privacy the user agent's responsibility?
I think that the UA is in the best position to to make decisions about the privacy of their users. It is hard to define what the UX should be across varying applications and I believe this work is outside our scope.
Or should it be addressed by W3C?
If you want to settle for loose wording or vague statements with no teeth, you have underestimated how seriously people take privacy for location.
To simply assert in a spec that any implementation MUST take privacy into account while being silent on HOW to do so accomplishes nothing, and will do absolutely nothing to change the norm - which is to wholly ignore privacy.
2008 spec discussions: Privacy policy integration
Can browser makers leverage GeoPriv?
Browser makers have the ability (say, by adopting Geopriv) to force downstream site and app developers to consider and (we hope) protect privacy.
The browser makers will of course not be able to force downstream developers to in fact play nice on privacy, but if the user's "expectation of privacy" is made clear to the downstream developer, then the developer's local law may force them to honor those expectations.
As a user of a particular browser, I will hesitate to give permission for my location to be given to anyone, because I have zero assurance that the ultimate recipient of my location info will not abuse it.
2008 spec discussions: Privacy policy integration
Expecting the law to uphold technical specifications is IMHO highly inappropriate. Using technical specifications to uphold morals is equally inappropriate.
Mozilla does share the concerns voiced in the GeoPriv charter, but does not share the idea that creating APIs makes this problem smaller. Instead, we believe that much of what GeoPriv provides could be addressed by a recommended guideline for websites, similar to the Web Content Accessibility Guidelines.
There is no way for the user-agent to ensure that the claims made by the website are actually true. This would break the separation between the (trusted) user-agent UI and the (untrusted) site content and undermine the user's trust in the user-agent.
2008 spec discussions: Location accuracy/uncertainty
If we feel that we need to have levels of privacy shouldn't we add the ability to return a boundary rather than a point?
It might be a good idea to also assert that the user agent can modify the Position object to enforce any specific privacy concerns.
In place of enableHighAccuracy, instead specify a target uncertainty. Different values for horizontal and vertical uncertainty are common. These targets would be "soft" in that if the uncertainty target couldn't be met, the result could still be provided.
2008 spec discussions: Civic location
Geodetic position is one component of a richer Position object. v1 might define a simple structure:
Then v2 could extend this object to add civic and rules without changing the behavior of the API or breaking existing code:
2008 spec discussions: Civic location
W3C location APIs
Geofencing API
Goal: Background notifications when entering or leaving geographic regions.
Abandoned in 2017
Geofencing API
A geofence event can receive location information without revealing the user's precise location.
includePosition: Include the current position in the geofence event
Geolocation Sensor API
Goal: Geolocation API with better ergonomics and consistency.
Geolocation Sensor API
Geolocation Sensor defers privacy considerations to the Generic Sensor spec, with a TODO to add geolocation-specific mitigations.
Generic Sensor lists location tracking under privacy threats, but there are no considerations for sensors that have location tracking as an intended use.
<geolocation> element
Goal: Make permissions more accessible, more secure, and more user friendly.
Try in Chrome M134 or later: chrome://flags#permission-element�Demo: https://permission.site/pepc
<geolocation> element
Try in Chrome M134 or later: chrome://flags#permission-element�Demo: https://permission.site/pepc
Approximate geolocation
Goal: Reduce risks associated with sharing precise location information.
Try in Chrome M140 or later: chrome://flags#approximate-geolocation-permission
Approximate geolocation
Android location prompt
iOS app location settings
Try in Chrome M140 or later: chrome://flags#approximate-geolocation-permission
Future work?
GeoPriv Scenario 7 - On-device mobile location
Open discussion