Documentation

Tout ce qu'il faut pour installer et configurer Korvus.

Droit à l'effacement (RGPD art. 17)

Procédure technique pour supprimer les données d'un visiteur collectées par le snippet Korvus — à la demande du visiteur, via votre équipe DPO.

Contexte

Korvus agit comme sous-traitant au sens de l'article 28 du RGPD ; vous, éditeur du site, êtes le responsable de traitement. Lorsqu'un visiteur vous demande la suppression de ses données (art. 17 RGPD), vous devez pouvoir y répondre dans un délai d'un mois maximum (art. 12).

Cette page décrit le helper technique que Korvus vous fournit pour exécuter cette suppression sur les données collectées via notre snippet : raw_events, pageviews, sessions.

Ce qui est supprimé

  • Sessions du visiteur pour le website concerné
  • Pageviews associées à ces sessions
  • Events bruts (raw_events) associés à ces sessions

Ce qui n'est pas supprimé

Les tables products et product_history contiennent uniquement des métadonnées produit agrégées (SKU, prix observé, disponibilité) — aucune donnée personnelle, aucun identifiant visiteur. Elles ne sont donc pas concernées par une demande d'effacement.

Les alertes (alert_events) et baselines (baselines) sont agrégées au niveau du site, jamais au niveau du visiteur.

Endpoint technique

POST https://app.korvus.fr/api/internal/data-subject-request

Authentification

Header Authorization: Bearer <INTERNAL_API_SECRET>. Le secret vous est communiqué hors bande par votre référent Korvus — jamais dans un navigateur, toujours depuis un backend ou un terminal sécurisé.

Corps de requête

Deux modes exclusifs (l'un des deux, pas les deux) :

{
  "website_id": "uuid-de-votre-site",
  "session_id": "uuid-de-la-session-du-visiteur"
}

ou :

{
  "website_id": "uuid-de-votre-site",
  "created_after": "2026-04-01T00:00:00Z"
}
ChampTypeObligatoireDescription
website_idUUIDOuiIdentifiant du site concerné
session_idUUIDOptionnelIdentifiant de la session visiteur à supprimer. Il peut être récupéré depuis votre export de session si le visiteur vous le communique
created_afterISO 8601OptionnelDate/heure à partir de laquelle toutes les sessions du website seront supprimées (fenêtre de requête RGPD)

Exactement un des deux champs session_id ou created_after doit être fourni.

Réponse

{
  "deleted": {
    "sessions": 1,
    "pageviews": 12,
    "events": 84
  }
}

Codes d'erreur

CodeSignification
401Secret manquant ou invalide
400Corps invalide (UUID malformé, ni session_id ni created_after fourni)
404website_id inconnu
500Erreur serveur — la suppression est annulée (ROLLBACK transactionnel), contacter le support

Exemple curl

curl -X POST https://app.korvus.fr/api/internal/data-subject-request \
  -H "Authorization: Bearer $INTERNAL_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "website_id": "00000000-0000-0000-0000-000000000000",
    "session_id": "11111111-1111-1111-1111-111111111111"
  }'

Garanties

  • Transactionnel : la suppression raw_events + pageviews + sessions s'exécute dans une transaction SQL unique. Si une étape échoue, tout est annulé — aucun état partiel.
  • Scopé au website : un DELETE ne peut jamais toucher les données d'un autre site, même par erreur de paramétrage. Le filtre website_id est présent sur chaque requête.
  • Irréversible : les données supprimées ne sont pas récupérables. Les sauvegardes Scaleway (rétention 14 jours) contiennent toutefois une copie — si vous souhaitez également purger les sauvegardes, ouvrir un ticket support.

Délai de réponse légal

Le RGPD (art. 12) impose de répondre à une demande de droit d'effacement dans un délai d'un mois, prolongeable de deux mois pour les demandes complexes. L'endpoint ci-dessus vous permet de répondre en quelques secondes.