Skip to main content
View as Markdown

GDPR & Confidentialité

Sovrium donne aux utilisateurs finaux un contrôle en libre-service sur leurs données personnelles, satisfaisant les droits GDPR fondamentaux sans intervention de l'opérateur. Un utilisateur authentifié peut télécharger une copie complète et lisible par machine de tout ce que Sovrium détient à son sujet, et peut planifier un effacement irréversible de son compte selon un calendrier sûr et réversible jusqu'au dernier moment.

Ce sont des points de terminaison destinés à l'utilisateur final — ils agissent sur les propres données de l'appelant, limitées exclusivement par la session authentifiée. Aucun id n'est jamais pris du corps de la requête.

Export de données (Articles 15 & 20)

GET /api/account/export renvoie l'empreinte complète des données personnelles de l'appelant sous forme de JSON structuré, satisfaisant le droit d'accès (art. 15) et le droit à la portabilité des données (art. 20) du GDPR.

GET /api/account/export
Cookie: <session cookie>

Aucun corps de requête, paramètre de requête ou de chemin — l'id utilisateur provient uniquement de la session. La réponse agrège quatre sources pour l'appelant :

Source Contenu
Profil La ligne auth.user de l'appelant.
Sessions Les lignes auth.session de l'appelant.
Comptes liés Les lignes auth.account de l'appelant (fournisseurs OAuth + identifiant e-mail/mot de passe), avec tout le matériel secret omis.
Enregistrements créés Chaque enregistrement de table dans l'application où created_by = caller.

Suppression et effacement de compte (Article 17)

POST /api/account/delete permet à un utilisateur de demander l'effacement irréversible de son compte, satisfaisant le droit à l'effacement (art. 17) du GDPR. La suppression suit un modèle d'effacement planifié avec un délai de grâce de 7 jours — jamais une destruction immédiate.

POST /api/account/delete
Cookie: <session cookie>
Content-Type: application/json

{ "confirm": true }
Étape Requête Effet
1. Planifier { "confirm": true } Marque scheduledErasureAt = now + 7 days, révoque toutes les sessions de l'appelant (déconnecté partout), écrit un événement d'audit account.deletion.scheduled, renvoie 202 Accepted. Ne supprime pas encore.
2. Annuler { "cancel": true } Pendant la fenêtre, l'utilisateur se reconnecte et annule — efface scheduledErasureAt, renvoie 200 OK.
3. Purger (automatique, après la fenêtre) Une tâche de purge supprime définitivement les lignes auth.user, auth.session, auth.account, auth.verification de l'appelant et chaque enregistrement de table où created_by = caller, puis écrit un événement d'audit account.deletion.purged.

Un POST nu sans indicateur confirm/cancel est rejeté 400 (anti-faux-pas).

Suppression définitive, pas suppression en douceur

L'effacement effectue une suppression physique des lignes — pas la pierre tombale deleted_at de suppression en douceur utilisée ailleurs dans la plateforme. Après la purge, aucune donnée personnelle récupérable ne subsiste, comme l'exige l'art. 17.

C'est l'exception délibérée à la posture de suppression-en-douceur-par-défaut de Sovrium : les suppressions ordinaires sont des pierres tombales récupérables, mais un effacement GDPR ne doit rien laisser derrière. Les suppressions irréversibles par table via le tableau de bord d'administration nécessitent l'opt-in explicite allowForceDelete: true (voir Permissions de table) ; le point de terminaison de suppression forcée renvoie 404 lorsque la suppression forcée n'est pas autorisée.

Confidentialité dès la conception

Au-delà des droits en libre-service, la confidentialité est intégrée aux valeurs par défaut de la plateforme :

  • Analytique sans cookies — les visiteurs sont identifiés par des hachages SHA-256 côté serveur ; aucune donnée personnelle ni identifiant client n'est stocké, et Do Not Track est respecté. Voir Analytique.
  • Conservation bornée — les lignes supprimées en douceur vieillissent selon ECO_RETENTION_PURGE_DAYS (voir Écoconception) ; moins de données stockées est à la fois un gain de confidentialité et de frugalité.
  • Aucun service externe — toutes les données personnelles restent sur votre serveur ; rien n'est expédié à un tiers.

Pages connexes