Règles RGPD (docs/domains/_shared/rules/rgpd.md): - Ajouter sections 13.11-13.22 (droits utilisateurs, mineurs, sécurité) - Droit de rectification, opposition, limitation du traitement - Gestion des mineurs: 13 ans minimum + consentement parental 13-15 ans - Protection renforcée: RoadWave Kids pour < 13 ans - Sécurité: chiffrement multi-niveaux, procédure breach 72h CNIL - Politique de confidentialité avec versioning - Sous-traitants, DPIA, délais de réponse Entités (6 nouvelles): - PARENTAL_CONSENTS + PARENTAL_CONTROLS (workflow 13-15 ans) - PRIVACY_POLICY_VERSIONS + USER_POLICY_ACCEPTANCES - ACCOUNT_DELETIONS (grace period 30j) - BREACH_INCIDENTS + BREACH_AFFECTED_USERS - USER_PROFILE_HISTORY (audit trail rectification) - DATA_RETENTION_LOGS (purge 5 ans) Diagrammes séquences (5 nouveaux): - Consentement parental avec validation email - Anonymisation GPS automatique après 24h - Notification breach CNIL (procédure 72h) - Export données asynchrone - Suppression compte avec grace period Cycles de vie (3 nouveaux + 1 enrichi): - parental-consent-lifecycle.md - breach-incident-lifecycle.md - account-deletion-lifecycle.md - user-account-lifecycle.md (ajout états mineurs, frozen) Features BDD (4 nouvelles, 195 scénarios RGPD): - minors-protection.feature (9 scénarios) - data-security.feature (12 scénarios) - privacy-policy.feature (8 scénarios) - user-rights.feature (8 scénarios) Infrastructure: - Réorganiser docs générées: docs/bdd + output → generated/bdd + generated/pdf - Mettre à jour mkdocs.yml, Makefile, scripts Python - Ajouter /generated/ au .gitignore
41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# Account Deletions
|
|
|
|
📖 Suppressions de compte avec grace period 30 jours (Article 17 RGPD)
|
|
|
|
## Diagramme
|
|
|
|
```mermaid
|
|
erDiagram
|
|
USERS ||--o| ACCOUNT_DELETIONS : "demande"
|
|
|
|
ACCOUNT_DELETIONS {
|
|
uuid id PK
|
|
uuid user_id FK
|
|
string status
|
|
string cancellation_token
|
|
timestamp requested_at
|
|
timestamp effective_at "requested_at + 30j"
|
|
timestamp cancelled_at
|
|
timestamp deleted_at
|
|
string deletion_reason
|
|
json deleted_data_summary
|
|
}
|
|
```
|
|
|
|
## Légende
|
|
|
|
**Statuts** :
|
|
- `pending`: Grace period actif (30j), compte désactivé, annulation possible
|
|
- `cancelled`: Utilisateur a annulé via lien email
|
|
- `completed`: Suppression effective réalisée après 30j
|
|
|
|
**Processus** :
|
|
1. Demande → compte désactivé, contenus cachés
|
|
2. Email avec `cancellation_token` (valide 30j)
|
|
3. Si annulation → `status = cancelled`, compte réactivé
|
|
4. Si 30j écoulés → job cron supprime données, anonymise contenus
|
|
|
|
**Données supprimées** :
|
|
- Profil utilisateur, historique GPS/écoute, sessions
|
|
- Contenus créés : anonymisés (`créateur = "Utilisateur supprimé"`)
|