- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports) - États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export) - Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression) - Renommage: modele-global.md → entities-overview.md - MkDocs: organisation hiérarchique par catégories Format concis: diagrammes Mermaid + règles essentielles uniquement
48 lines
1.2 KiB
Markdown
48 lines
1.2 KiB
Markdown
# Location History
|
|
|
|
📖 Historique de géolocalisation avec anonymisation automatique
|
|
|
|
## Diagramme
|
|
|
|
```mermaid
|
|
erDiagram
|
|
USERS ||--o{ LOCATION_HISTORY : "génère"
|
|
|
|
LOCATION_HISTORY {
|
|
uuid id PK
|
|
uuid user_id FK
|
|
geography location
|
|
string geohash
|
|
boolean anonymized
|
|
string context
|
|
float speed_kmh
|
|
float accuracy_meters
|
|
timestamp created_at
|
|
timestamp anonymized_at
|
|
}
|
|
```
|
|
|
|
## Légende
|
|
|
|
**Anonymisation progressive** :
|
|
- Données précises conservées **24h** (recommandation personnalisée)
|
|
- Après 24h : conversion en **geohash précision 5** (~5km²)
|
|
- Coordonnées originales supprimées définitivement
|
|
- Job quotidien PostGIS automatique
|
|
|
|
**Exceptions** :
|
|
- Historique personnel visible (liste trajets) : conservation intégrale tant que compte actif
|
|
- Analytics globales : uniquement geohash anonyme
|
|
- Suppression complète si suppression du compte
|
|
|
|
**Contexte** :
|
|
- `listening` : Position pendant écoute de contenu
|
|
- `search` : Position lors d'une recherche
|
|
- `background` : Tracking en arrière-plan
|
|
- `manual` : Position partagée manuellement
|
|
|
|
**Conformité RGPD** :
|
|
- Vraie anonymisation (CNIL compliant)
|
|
- Permet analytics agrégées (heatmaps trafic)
|
|
- PostGIS natif, 0€
|