veza/docs/RGPD_CCPA_VERIFICATION.md

2.6 KiB

Vérification RGPD/CCPA — v0.982

Date : 2026-03-03 Environnement : Staging Référence : ROADMAP v0.982 — Critère de release


Endpoints à vérifier

# Endpoint Méthode Description Statut
1 /api/v1/users/me/export POST Export des données personnelles (RGPD Art. 20) [ ]
2 /api/v1/users/me DELETE Suppression de compte et anonymisation (RGPD Art. 17) [ ]
3 /api/v1/users/me/privacy/opt-out POST Opt-out CCPA (Do Not Sell) [ ]

Checklist de vérification

1. Export des données (POST /users/me/export)

  • L'endpoint retourne un ZIP contenant toutes les données utilisateur
  • Format du ZIP : JSON ou CSV structuré par catégorie (profil, tracks, playlists, etc.)
  • Délai raisonnable (< 30 jours selon RGPD)
  • Authentification requise (JWT valide)
  • Test manuel : curl -X POST -H "Authorization: Bearer <token>" https://staging.../api/v1/users/me/export -o export.zip

2. Suppression de compte (DELETE /users/me)

  • Les données personnelles sont anonymisées (email → deleted-{uuid}@veza.local, username → deleted_user)
  • Les fichiers S3 associés sont supprimés ou marqués pour suppression
  • Les sessions sont invalidées (tokens révoqués)
  • Rétention légale : les logs/audit peuvent conserver des références pendant la durée légale
  • Test manuel : créer compte → supprimer → vérifier en DB que les données sont anonymisées
  • Vérifier que les tracks/uploads ne sont plus accessibles

3. Opt-out CCPA (POST /users/me/privacy/opt-out)

  • L'opt-out est enregistré en base (table user_preferences ou équivalent)
  • Le flag ccpa_opt_out ou do_not_sell est persisté
  • Les services de vente de données respectent ce flag
  • Test manuel : POST opt-out → GET profil → vérifier que le flag est présent

Procédure de test (staging)

  1. Créer un compte de test avec données connues
  2. Exporter : POST /users/me/export, télécharger ZIP, vérifier contenu
  3. Opt-out : POST /users/me/privacy/opt-out, vérifier en DB
  4. Supprimer : DELETE /users/me (avec token valide)
  5. Vérifier : requête directe en DB pour confirmer anonymisation ; vérifier S3 (fichiers supprimés ou inaccessibles)

Résultat v0.982

Critère PASS/FAIL Notes
Export produit ZIP complet
Suppression anonymise les données
Suppression supprime fichiers S3
Opt-out enregistré

À remplir après exécution des tests sur staging.