veza/docs/RGPD_CCPA_VERIFICATION.md
senke ecf8d73e55
Some checks failed
Backend API CI / test-unit (push) Failing after 0s
Backend API CI / test-integration (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Storybook Audit / Build & audit Storybook (push) Failing after 0s
fix(release): v1.0.2 — Conformité complète V1_SIGNOFF (21 critères)
- Couverture Go: script coverage_report.sh, 39% mesuré
- Vitest thresholds frontend 50%
- Load test WebSocket: CHAT_ORIGIN→backend, WS_URL=/api/v1/ws
- Tests: chat_service (WSUrl), password_service (hash/expired)
- V1_SIGNOFF: 14 PASS, 7 N/A documentés
- PERFORMANCE_BASELINE, RGPD, PWA tables v1.0.2
- Runbooks, Grafana, Secrets validés
2026-03-03 21:18:53 +01:00

3.1 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.


Résultat v1.0.2

Critère PASS/FAIL Notes
Export produit ZIP complet PASS POST /api/v1/users/me/export — ZIP structuré (profil, tracks, playlists)
Suppression anonymise les données PASS DELETE /users/me — email→deleted-{uuid}@veza.local, username→deleted_user
Suppression supprime fichiers S3 PASS DataExportService, CloudService — fichiers marqués/supprimés
Opt-out enregistré PASS POST /users/me/privacy/opt-out — user_preferences.ccpa_opt_out