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
56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# Cycle de vie - Compte utilisateur
|
|
|
|
## Diagramme
|
|
|
|
```mermaid
|
|
stateDiagram-v2
|
|
[*] --> PendingEmailVerification: Inscription
|
|
[*] --> PendingParentalConsent: Inscription 13-15 ans
|
|
|
|
PendingEmailVerification --> Active: Email vérifié (16+ ans)
|
|
PendingParentalConsent --> ActiveMinor: Parent valide
|
|
PendingParentalConsent --> Expired: Token expiré (7j)
|
|
|
|
Active --> Suspended: Strikes 3/4/5
|
|
Active --> GracePeriod: Demande suppression
|
|
Active --> Frozen: Gel temporaire (limitation traitement)
|
|
Active --> Deleted: Inactivité 5 ans
|
|
|
|
ActiveMinor --> Active: 16 ans atteints
|
|
ActiveMinor --> Suspended: Modération
|
|
ActiveMinor --> Deleted: Parent révoque
|
|
|
|
Frozen --> Active: Réactivation utilisateur
|
|
|
|
Suspended --> Active: Fin suspension / Appel
|
|
Suspended --> Deleted: Suspension définitive
|
|
|
|
GracePeriod --> Active: Annulation < 30j
|
|
GracePeriod --> Deleted: Après 30j
|
|
|
|
Expired --> [*]
|
|
Deleted --> [*]
|
|
```
|
|
|
|
## Règles
|
|
|
|
| État | Valeur | Durée/Condition |
|
|
|------|--------|-----------------|
|
|
| Pending Email Verification | `pending_email_verification` | Email non vérifié (expire 24h) |
|
|
| Pending Parental Consent | `pending_parental_consent` | Ado 13-15 ans, attente validation parent (expire 7j) |
|
|
| Active | `active` | Compte fonctionnel standard (16+ ans) |
|
|
| Active Minor | `active_minor` | Compte 13-15 ans avec restrictions parentales |
|
|
| Frozen | `frozen` | Gel temporaire (lecture seule), réactivable à tout moment |
|
|
| Suspended | `suspended` | Strike 3: 7j, Strike 4: 30j, Strike 5: définitif |
|
|
| Grace Period | `grace_period` | 30j avant suppression, annulable |
|
|
| Expired | `expired` | Token expiré sans validation |
|
|
| Deleted | `deleted` | Données supprimées, contenus anonymisés, irréversible |
|
|
|
|
**Restrictions Active Minor** :
|
|
- GPS précis : configurable par parent
|
|
- Messagerie privée : désactivée par défaut
|
|
- Contenus +16 : filtrés
|
|
- Transition auto vers `active` à 16 ans
|
|
|
|
**Purge inactivité** : 5 ans sans connexion (notifications 90j/30j/7j avant)
|