ReviewOS

stacks/analyticshq

[privacy] Remove or hard-gate the latent city/region geolocation capability

#7
Closed glennmichael123 opened this 10 days ago ·
10 days ago

Problem

page_views/sessions carry region and city columns (migrations 0000000003/0000000005; models app/Models/PageView.ts:61-62, app/Models/Session.ts:41-42), and the shared tracking package ships a full city + lat/long geo service (@ts-analytics/tracking .../geolocation.d.ts:49-54). They are currently unpopulated — /collect only sets country (routes/analytics.ts:206-232, app/Analytics/tracking.ts:42-47) — but the capability is a loaded gun.

Why it matters (privacy-first)

Country-only geo is a core differentiator — it keeps us stricter than Plausible/Fathom, which both moved to city-level. Leaving city/region wired-but-dormant risks a silent regression below the purist line.

Proposed fix

Drop the region/city columns (or hard-gate them behind an explicitly-off, documented flag) and never call the city/lat-long geo service. Codify "country-only" as an invariant.

Priority: P0.


From the 2026-07-20 privacy-first competitive audit (vs. Plausible / Fathom / Simple Analytics / Umami).

Sign in to comment on this issue.