Rub21 left a comment (openstreetmap/openstreetmap-website#7089)
Thanks @1ec5 for opening this. Here is a short summary of what I found about
the current status.
**TL;DR:** The four current levels (`private`, `public`, `trackable`,
`identifiable`) do not protect privacy as their names suggest, `trackable` is
barely used (3.4%), and the mix of ordered and unordered points is the main
reason trackpoint pagination is slow. Below is the data and the historical
context I collected. The proposal will go in a follow-up comment.
## Problems we are trying to solve
The current four levels (`private`, `public`, `trackable`, `identifiable`)
cause a few problems:
1. **The names suggest more privacy than the system gives.** `private` and
`trackable` sound private, but their points are still served by the API. Most
users do not know this — specially for `private`.
2. **`public` can be de-anonymized in a few clicks.** From the anonymous points
in JOSM/iD, you can find the uploader on `/traces` and download the original
GPX with username and timestamps.
3. **`trackable` is barely used** (3.4% of all traces). Almost nobody picks it
on purpose.
4. **Four levels make pagination slow on large areas.** The trackpoints query
splits into ordered and anonymous subqueries joined with `UNION ALL`, then
pages by offset over billions of rows.
5. **iD and JOSM already load local GPX as a background layer.** So a
server-side `private` level is no longer needed for that use case — users can
open their traces directly in iD or JOSM without uploading them.
Looking at old tickets
([#1002](https://github.com/openstreetmap/trac-tickets/issues/1002),
[#2242](https://github.com/openstreetmap/trac-tickets/issues/2242)), users were
confused by the old `public` checkbox and asked for more privacy. Later that
same year (August 2009), [commit
5651714](https://github.com/openstreetmap/openstreetmap-website/commit/565171486f6d90321e0291d5ccc3cf6a1c12e730)
replaced the boolean with the four levels we have today. those may come from
two binary axes (listed publicly or not × identifiable in the API or not)
## How each level behaves today
| Level | Listed at `/traces` | File downloadable | Points in API |
|---|---|---|---|
| `private` | No | No | Yes, anonymous and unordered |
| `public` | Yes | Yes | Yes, anonymous and unordered |
| `trackable` | No | No | Yes, anonymous but ordered with timestamps |
| `identifiable` | Yes | Yes | Yes, with user and timestamps |
## Distribution of all GPS traces (2026, thanks to @gravitystorm for the data)
| Level | Traces | Share |
|---|---|---|
| `identifiable` | 6.8M | 59.7% |
| `private` | 2.6M | 23.2% |
| `public` | 1.5M | 13.6% |
| `trackable` | 384k | 3.4% |
So `identifiable` is the most used, `trackable` is barely used, and `private`
is the second largest — but its points are still served by the API anyway.
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/7089#issuecomment-4461801560
You are receiving this because you are subscribed to this thread.
Message ID:
<openstreetmap/openstreetmap-website/issues/7089/[email protected]>
_______________________________________________
rails-dev mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/rails-dev