Systems / Privacy prototype
GeoGuard
A location-privacy experiment that clusters visit history, identifies frequently visited places, perturbs sensitive coordinates, and overrides browser geolocation methods.
View repository01 / COMPONENTS & DATA FLOW
Inside the system.
- 01Location history
- 02DBSCAN + POI detection
- 03Coordinate perturbation
- 04Geolocation override
History-based sensitivity
GeoGuardPrivacy reads JSON location history, standardizes coordinates, and uses DBSCAN to identify clusters. Visit counts determine which clusters qualify as points of interest.
Distance and perturbation
The implementation uses Haversine calculations for cluster radii and checks whether a coordinate is near a sensitive place before selecting a privacy level.
Browser integration
The extension wraps getCurrentPosition, watchPosition, and clearWatch and uses page messages to request privacy-preserving location responses.
02 / IMPLEMENTATION DECISIONS
Why it works this way.
Sensitivity comes from repeated visits
The model treats frequently visited clusters differently from sparse or noisy points. Default clustering uses eps 0.1 and min_samples 3 after standardization.
Privacy requires more than moving a point
Coordinate perturbation is the implemented mechanism. Its protection depends on the history, policy, browser integration, and the information a receiving application already has.
03 / SCOPE & TRADEOFFS
The implementation boundary.
A geolocation privacy prototype. Perturbation and DBSCAN clustering do not establish a formal differential-privacy guarantee or an extension-wide security boundary.
04 / READ THE IMPLEMENTATION