Files
roadwave/docs/domains/_shared/states/user-account-lifecycle.md
jpgiannetti fd2b0f70c5 feat(rgpd): compléter documentation RGPD avec 12 nouvelles sections
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
2026-02-08 17:49:12 +01:00

2.0 KiB

Cycle de vie - Compte utilisateur

Diagramme

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)