Per-domain HDBSCAN drift leaderboard
Weekly unsupervised clustering of per-domain feature vectors (block rate, country footprint, dominant blocking method). Drift score = L2 distance between this week and last week in the same standardized space. A higher score means the domain's blocking footprint changed more.
Domains
—
Clusters this week
—
Clusters last week
—
New clusters this week
0
| # | Domain | Status | Last → This | Drift score | Block rate | n countries |
|---|---|---|---|---|---|---|
| 1 | tiktok.com | present_both | noise → C1moved | 0.343 | 100.0% | 25 |
| 2 | openai.com | present_both | noise → noise | 0.336 | 12.8% | 26 |
| 3 | gemini.google.com | present_both | noise → noise | 0.331 | 14.4% | 27 |
| 4 | google.com | present_both | noise → noise | 0.235 | 100.0% | 21 |
| 5 | twitter.com | present_both | noise → C0moved | 0.204 | 100.0% | 27 |
| 6 | youtube.com | present_both | noise → C0moved | 0.203 | 100.0% | 24 |
| 7 | whatsapp.com | present_both | noise → C0moved | 0.179 | 100.0% | 24 |
| 8 | facebook.com | present_both | noise → C0moved | 0.176 | 100.0% | 25 |
| 9 | huggingface.co | present_both | noise → noise | 0.157 | 94.6% | 26 |
| 10 | theguardian.com | present_both | noise → C1moved | 0.156 | 100.0% | 23 |
| 11 | getlantern.org | present_both | noise → C1moved | 0.156 | 100.0% | 23 |
| 12 | tumblr.com | present_both | noise → noise | 0.152 | 100.0% | 21 |
| 13 | reddit.com | present_both | noise → C1moved | 0.152 | 100.0% | 21 |
| 14 | protonvpn.com | present_both | noise → C0moved | 0.151 | 100.0% | 25 |
| 15 | substack.com | present_both | noise → noise | 0.149 | 100.0% | 23 |
| 16 | bbc.com | present_both | noise → noise | 0.147 | 100.0% | 21 |
| 17 | chat.openai.com | present_both | noise → noise | 0.147 | 15.3% | 25 |
| 18 | nytimes.com | present_both | noise → C1moved | 0.142 | 100.0% | 22 |
| 19 | claude.ai | present_both | noise → noise | 0.139 | 13.3% | 30 |
| 20 | chat.deepseek.com | present_both | noise → noise | 0.137 | 50.0% | 1 |
| 21 | psiphon.ca | present_both | noise → noise | 0.137 | 100.0% | 27 |
| 22 | medium.com | present_both | noise → C0moved | 0.134 | 100.0% | 23 |
| 23 | signal.org | present_both | noise → C0moved | 0.133 | 100.0% | 26 |
| 24 | instagram.com | present_both | noise → C0moved | 0.131 | 100.0% | 25 |
| 25 | telegram.org | present_both | noise → C0moved | 0.126 | 100.0% | 25 |
| 26 | chatgpt.com | present_both | noise → noise | 0.111 | 13.4% | 30 |
| 27 | chat.mistral.ai | present_both | noise → noise | 0.087 | 50.0% | 1 |
GET /v1/anomaly/domain-drift/leaderboard
Raw JSON of the same data
HDBSCAN drift finding
Methodology, weekly cron schedule, honest caveats about week-over-week stability
Why a separate domain-drift surface? The per-country DBSCAN at /atlas/anomaly catches country-day shape anomalies. HDBSCAN at the domain level catches global blocking-pattern changes — “is anyone blocking openai.com differently this week?” The two are orthogonal: one detects per-country novelty, the other detects per-domain novelty.
Generated: 2026-05-21T04:43:38.216279Z