- 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
3.1 KiB
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_preferencesou équivalent) - Le flag
ccpa_opt_outoudo_not_sellest 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)
- Créer un compte de test avec données connues
- Exporter : POST /users/me/export, télécharger ZIP, vérifier contenu
- Opt-out : POST /users/me/privacy/opt-out, vérifier en DB
- Supprimer : DELETE /users/me (avec token valide)
- 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 |