Datenschutz + Notes: Reichweitenmessung dokumentieren
Punkt 5 beschreibt die anonyme Reichweitenmessung inkl. ASN-Einordnung; durchgaengig "anonymisierte IP-Adresse" und expliziter Hinweis, dass auch fuer die ASN-Bestimmung nie die volle IP verwendet wird. IPv6- Anonymisierung auf /32 (letzte 96 Bit) korrigiert. Notes: Migration der asn-Spalte (ALTER TABLE) und neue Env-Var KVER_GEOIP_ASN samt GeoLite2-Bereitstellung. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -97,3 +97,24 @@ ALTER TABLE entry ADD COLUMN deleted INTEGER NOT NULL DEFAULT 0;
|
||||
```
|
||||
|
||||
Bestehende Beiträge bleiben damit sichtbar (`deleted = 0`). Nur einmalig ausführen.
|
||||
|
||||
---
|
||||
|
||||
## `asn`-Spalte in `impression`
|
||||
|
||||
**Wann:** beim Deploy der ASN-Auswertung gegen eine bestehende `impression`-Tabelle.
|
||||
|
||||
**Hintergrund:** Pro Impression wird das autonome System (Netzbetreiber) gespeichert,
|
||||
aufgelöst aus der vollen Client-IP *vor* dem Maskieren (siehe `lookupASN`). Die Spalte
|
||||
liegt bewusst **nicht** im Primärschlüssel — pro `anon_ip` ist das ASN deterministisch,
|
||||
also entstehen keine Zeilen-Duplikate, und ein simples `ADD COLUMN` genügt (kein
|
||||
Tabellen-Rebuild). `CREATE TABLE IF NOT EXISTS` ergänzt die Spalte bei einer
|
||||
vorhandenen Tabelle nicht.
|
||||
|
||||
**Migration:**
|
||||
```sql
|
||||
ALTER TABLE impression ADD COLUMN asn TEXT NOT NULL DEFAULT '';
|
||||
```
|
||||
|
||||
Bestehende Zeilen haben damit kein ASN (`''`, in der Auswertung „(unbekannt)"). Nur
|
||||
einmalig ausführen.
|
||||
|
||||
Reference in New Issue
Block a user