Contrat de sous-traitance des données personnelles
Projet de document, à faire valider par un juriste avant publication.
Date d'entrée en vigueur : [DATE D'ENTRÉE EN VIGUEUR]
Version : 2026-11-09.2 (la version que le responsable du site accepte dans les réglages)
Les parties
Ce contrat est conclu entre :
- [SOCIÉTÉ ÉDITRICE], [FORME ET CAPITAL], dont le siège est situé [ADRESSE], immatriculée sous le numéro [RCS/SIREN], qui édite le service Loupsio (ci-après « Loupsio » ou « le sous-traitant ») ;
- l'entreprise qui utilise le service Loupsio et accepte ce contrat en ligne (ci-après « le marchand » ou « le responsable de traitement »).
Ce contrat complète les conditions générales d'utilisation et de vente de Loupsio (ci-après « les Conditions »). En cas de contradiction sur la protection des données personnelles, ce contrat prévaut.
1. Objet
Le marchand utilise Loupsio pour analyser le comportement des visiteurs de sa boutique en ligne. Pour cela, Loupsio traite des données personnelles pour le compte du marchand.
Ce contrat fixe les conditions de ce traitement, conformément à l'article 28 du règlement (UE) 2016/679 (« RGPD ») et à la loi n° 78-17 du 6 janvier 1978 (« loi Informatique et Libertés »).
Il ne couvre pas les données que Loupsio traite pour son propre compte : comptes des utilisateurs du marchand et facturation. Pour ces données, Loupsio est responsable de traitement. Elles sont décrites dans la politique de confidentialité de Loupsio.
2. Définitions
Les termes « données personnelles », « traitement », « responsable de traitement », « sous-traitant », « personne concernée », « violation de données personnelles » et « analyse d'impact » ont le sens que leur donne le RGPD. En plus :
- Visiteur : toute personne qui visite un site sur lequel le marchand a installé le script Loupsio (
loupsio.js), ou qui répond à un sondage Loupsio du marchand. - Données du marchand : les données personnelles des visiteurs que Loupsio traite pour le compte du marchand. Elles sont décrites à l'annexe 1.
- Sous-traitant ultérieur : un prestataire auquel Loupsio fait appel et qui traite des données du marchand.
- Application : l'interface en ligne de Loupsio, où le marchand règle et consulte le service.
3. Durée
Ce contrat entre en vigueur dès son acceptation en ligne par le marchand. Il dure aussi longtemps que les Conditions.
Les obligations de confidentialité, de sécurité et de suppression continuent de s'appliquer tant que Loupsio détient des données du marchand.
4. Description du traitement
La nature et la finalité du traitement, les catégories de données, les catégories de personnes concernées et les durées de conservation sont décrites à l'annexe 1.
5. Instructions du marchand
5.1 Loupsio ne traite les données du marchand que sur instruction documentée du marchand, y compris pour les transferts hors de l'Union européenne. Seule exception : une obligation prévue par le droit de l'Union ou le droit français. Dans ce cas, Loupsio informe le marchand avant le traitement, sauf si la loi l'interdit.
5.2 Constituent des instructions documentées :
- ce contrat et les Conditions ;
- les réglages que le marchand choisit dans l'application ou dans le script : durée de conservation, mode consentement, masquage, part des visites enregistrées, pages à ne pas enregistrer, « Reconnaître les visiteurs qui reviennent », « Identifier les clients connectés » et appels
loupsio('identify', …), « Requêtes en échec et erreurs de la console », sondages, bouton d'avis, options « réponses rédigées par Claude », « Résumés de visites par Claude » et « Thèmes des commentaires par Claude », app Shopify et son pixel, alertes, exports, outils reliés (Google Analytics 4, Segment, Klaviyo, Jira, Linear, Trello, entrepôt de données), clés d'API, liens de partage, membres de l'équipe.
5.3 Si Loupsio estime qu'une instruction viole le RGPD ou une autre règle de protection des données, il en informe immédiatement le marchand. Il peut suspendre cette instruction jusqu'à ce que le marchand la confirme ou la modifie.
5.4 Loupsio n'utilise pas les données du marchand pour ses propres finalités. En particulier, il ne les vend pas, ne les utilise pas pour de la publicité, ne les combine pas avec les données d'autres clients et ne les utilise pas pour entraîner des modèles d'intelligence artificielle.
Note pour le juriste. L'article 5.4 retient l'engagement le plus protecteur. Si Loupsio souhaite utiliser des statistiques anonymisées pour améliorer le service, il faut le prévoir ici et vérifier que l'anonymisation est réelle et irréversible.
6. Obligations de Loupsio
Loupsio s'engage à :
- traiter les données uniquement pour les finalités décrites à l'annexe 1 ;
- garantir la confidentialité des données : les personnes autorisées à les traiter sont tenues au secret par contrat ou par la loi, et n'y accèdent que lorsque c'est nécessaire (assistance demandée par le marchand, sécurité, maintenance) ;
- mettre en œuvre les mesures de sécurité décrites à l'annexe 2 (article 32 du RGPD) et les tenir à jour ;
- respecter les conditions de recours à des sous-traitants ultérieurs (article 8) ;
- aider le marchand à répondre aux demandes des personnes concernées (article 9) ;
- aider le marchand à respecter ses obligations de sécurité, de notification des violations, d'analyse d'impact et de consultation préalable (articles 10 et 11) ;
- supprimer ou restituer les données à la fin du contrat (article 12) ;
- fournir au marchand les informations nécessaires pour démontrer le respect de ses obligations, et permettre des audits (article 13) ;
- tenir un registre des catégories d'activités de traitement effectuées pour le compte du marchand (article 30.2 du RGPD) ;
- communiquer au marchand les coordonnées de son délégué à la protection des données, s'il en a désigné un : [COORDONNÉES DU DPO OU « non désigné »].
7. Obligations du marchand
Le marchand, en tant que responsable de traitement :
- détermine les finalités et les moyens du traitement, et s'assure qu'il repose sur une base légale ;
- recueille le consentement préalable des visiteurs avant tout enregistrement. Loupsio retient que l'enregistrement de sessions (session replay) n'est pas exempté de consentement au sens de l'article 82 de la loi Informatique et Libertés et des recommandations de la CNIL sur les traceurs. Le marchand active donc le mode consentement (
data-consent="required") et relie son bandeau de cookies à Loupsio ; - informe les visiteurs de façon claire et complète (articles 13 et 14 du RGPD), notamment dans sa politique de confidentialité et dans son gestionnaire de consentement ;
- masque (
data-loupsio-mask) ou exclut (data-loupsio-block) les éléments de ses pages qui affichent des données personnelles. Exemple : un nom ou une adresse sur une page « mon compte » ou de confirmation de commande. Les saisies dans les champs sont masquées automatiquement, mais le texte affiché dans la page est enregistré s'il n'est pas masqué ; - n'installe pas le script sur les pages susceptibles de révéler des données sensibles au sens de l'article 9 du RGPD (santé, opinions, vie sexuelle…), ou en exclut les éléments concernés ;
- n'envoie pas de données directement identifiantes (e-mail, nom, numéro de client…) dans les événements, les variantes de tests A/B ou les questions des sondages. Pour rattacher des visites à un client, il utilise seulement
loupsio('identify', …)ou la reprise automatique prévue par le réglage « Identifier les clients connectés », avec un identifiant interne comme un numéro de client, jamais une adresse e-mail ou un nom. S'il laisse active la reprise de l'utilisateur de Segment, il vérifie que cet identifiant n'est pas une adresse e-mail ; - choisit une durée de conservation adaptée à ses finalités ;
- répond aux demandes des visiteurs qui exercent leurs droits ;
- s'assure que les destinataires qu'il choisit traitent les données de façon conforme : membres de son équipe, personnes à qui il envoie un lien de partage, outils qu'il relie par alerte, webhook, export, API, transmission des frictions (Google Analytics 4, Segment, Klaviyo), tickets (Jira, Linear, Trello) ou entrepôt de données. Ces destinataires ne sont pas des sous-traitants ultérieurs de Loupsio. Le marchand s'assure notamment que les transferts hors de l'Union européenne vers ces destinataires sont encadrés (article 14.5) ;
- évalue s'il doit réaliser une analyse d'impact (article 35 du RGPD) ;
- efface lui-même, dans les outils et l'entrepôt de données qu'il a reliés, les données qui y ont été transmises lorsqu'un visiteur exerce ses droits : l'effacement dans Loupsio ne les atteint pas.
Note pour le juriste. La position retenue au point 2 (consentement obligatoire pour l'enregistrement de sessions) est la plus prudente. À confirmer au regard de la doctrine CNIL à jour : les conditions de l'exemption prévue pour la mesure d'audience ne paraissent pas remplies par un enregistrement des sessions.
Note pour le juriste. Le réglage « Identifier les clients connectés » est actif par défaut. Il reprend le numéro du client connecté sur Shopify ou l'identifiant d'utilisateur de Segment, que le site choisit librement ; le script écarte un identifiant Segment qui contient « @ », pour ne pas reprendre une adresse e-mail. Trancher s'il faut désactiver ce réglage par défaut (protection des données par défaut, article 25 du RGPD) ou ne reprendre que l'identifiant Shopify.
8. Sous-traitants ultérieurs
8.1 Le marchand autorise Loupsio à faire appel aux sous-traitants ultérieurs listés à l'annexe 3. Cette autorisation générale vaut sous les conditions ci-dessous.
8.2 Loupsio informe le marchand de tout projet d'ajout ou de remplacement d'un sous-traitant ultérieur au moins 30 jours avant le changement, par e-mail aux utilisateurs ayant le rôle de responsable et dans l'application. L'information précise l'identité du prestataire, le traitement confié et le lieu du traitement.
8.3 Le marchand peut s'opposer au changement pendant ce délai, par e-mail à [E-MAIL CONFIDENTIALITÉ], en indiquant ses raisons liées à la protection des données. Loupsio cherche alors une solution : renoncer au changement ou proposer une alternative. Si aucune solution n'est trouvée avant la date prévue, le marchand peut résilier les Conditions et ce contrat sans frais, avec effet immédiat. Loupsio lui rembourse alors la part déjà payée de la période en cours, au prorata.
8.4 Loupsio impose à chaque sous-traitant ultérieur, par un contrat écrit, les mêmes obligations de protection des données que celles de ce contrat, notamment des garanties suffisantes de sécurité. Loupsio reste pleinement responsable envers le marchand du respect de ces obligations par ses sous-traitants ultérieurs.
8.5 Anthropic PBC n'intervient que pour les options Claude que le marchand active pour un site, chacune séparément : « réponses rédigées par Claude » dans l'assistant, « Résumés de visites par Claude » et « Thèmes des commentaires par Claude ». Toutes sont désactivées par défaut. L'activation d'une option vaut instruction pour ce site et pour les données que cette option envoie (annexe 1, section 6). Le marchand peut la désactiver à tout moment ; les envois cessent alors.
8.6 Les outils que le marchand relie lui-même à Loupsio avec ses propres identifiants (Google Analytics 4, Segment, Klaviyo, Jira, Linear, Trello, stockage compatible S3, BigQuery, Snowflake) ne sont pas des sous-traitants ultérieurs de Loupsio (article 7, point 9). Loupsio leur transmet, sur instruction du marchand, les données décrites à l'annexe 1, section 10, tant que l'outil reste relié.
Note pour le juriste. Les options « Résumés de visites par Claude » et « Thèmes des commentaires par Claude » confient à Anthropic, sous-traitant ultérieur déjà autorisé, un traitement nouveau qui porte sur des données non agrégées (chronologie d'une visite, texte libre des commentaires). Vérifier si l'information prévue à l'article 8.2, 30 jours avant le changement, s'applique à cette extension, en plus de la nouvelle acceptation du contrat par les marchands.
9. Droits des personnes concernées
9.1 Si Loupsio reçoit directement une demande d'un visiteur (accès, rectification, effacement, limitation, opposition, portabilité, retrait du consentement), il la transmet au marchand sans délai et au plus tard dans les 3 jours ouvrés. Il ne répond pas lui-même sur le fond, sauf instruction du marchand. Il peut indiquer au visiteur que sa demande a été transmise au marchand.
9.2 L'application permet au marchand de supprimer une session, les données d'un visiteur ou un site entier. Pour retrouver les visites d'un visiteur, il peut notamment chercher par identifiant de client, si les visites sont rattachées à un client (article 9.3). La suppression d'une visite efface aussi son enregistrement, les réponses aux sondages, les avis et les commandes qui lui sont rattachés, le résumé rédigé par Claude et les thèmes des commentaires du site. Sur demande, Loupsio aide en plus le marchand à retrouver, extraire ou supprimer les données d'un visiteur, dans la mesure où les informations fournies le permettent.
9.3 Par défaut, le script n'attribue pas d'identifiant durable aux visiteurs : l'identifiant de session est effacé à la fermeture de l'onglet. Deux réglages changent cela. « Identifier les clients connectés » rattache les visites d'un client connecté à son identifiant de client (annexe 1, section 4) ; le marchand peut aussi transmettre cet identifiant avec loupsio('identify', …). « Reconnaître les visiteurs qui reviennent » garde un identifiant aléatoire dans le navigateur du visiteur pendant 13 mois au plus (annexe 1, section 5) ; l'application ne permet pas de chercher les visites par cet identifiant. Sans identifiant de client, retrouver les données d'un visiteur demande donc souvent des éléments comme la date, l'heure, les pages visitées, l'appareil utilisé ou le texte d'une réponse à un sondage ou d'un avis.
9.4 Cette assistance est incluse dans le prix du service.
9.5 Pour une boutique Shopify reliée par l'app Loupsio, Loupsio traite les messages de conformité que Shopify envoie, après avoir vérifié leur signature :
- demande d'effacement des données d'un client (
customers/redact) : Loupsio efface les visites rattachées à ce client par l'identifiantshopify-<numéro du client>, avec les données décrites à l'article 9.2 ; - demande d'accès d'un client (
customers/data_request) : Loupsio envoie aux utilisateurs ayant le rôle de responsable un e-mail qui indique le nombre de visites rattachées à ce client et un lien pour les retrouver. Le marchand répond au client ; - demande d'effacement des données de la boutique, après désinstallation de l'app (
shop/redact) : Loupsio supprime la liaison entre la boutique et le site. Le site et ses données restent dans le compte du marchand, qui peut les supprimer (article 12.2).
9.6 L'effacement dans Loupsio n'atteint pas les données déjà transmises aux outils que le marchand a reliés (annexe 1, section 10). Le marchand les efface dans ces outils (article 7, point 11).
Note pour le juriste. L'article 11 du RGPD (traitement qui n'exige pas l'identification) peut s'appliquer lorsque le marchand ne peut pas relier une session à une personne. Il ne s'applique guère aux visites rattachées à un identifiant de client ou de visiteur. La rédaction prévoit malgré tout une aide active à la recherche, plus protectrice pour les visiteurs.
Note pour le juriste. L'article 9.5 décrit le comportement actuel : à réception de
shop/redact, Loupsio supprime seulement la liaison avec la boutique, pas le site Loupsio ni ses données. Vérifier ce que Shopify exige pour ce message (en principe l'effacement des données de la boutique) et trancher avec l'équipe technique s'il faut alors supprimer le site relié ou ses données ; adapter l'article en conséquence.
10. Violations de données
10.1 Loupsio notifie au marchand toute violation de données personnelles concernant les données du marchand dans un délai maximal de 48 heures après en avoir pris connaissance. La notification est envoyée par e-mail aux utilisateurs ayant le rôle de responsable et affichée dans l'application.
10.2 La notification contient, dans la mesure du possible :
- la nature de la violation ;
- les catégories et le nombre approximatif de personnes et d'enregistrements concernés ;
- le nom et les coordonnées d'un contact chez Loupsio ;
- les conséquences probables ;
- les mesures prises ou proposées pour y remédier et en limiter les effets.
Si toutes les informations ne sont pas disponibles tout de suite, Loupsio les transmet au fur et à mesure, sans attendre.
10.3 Loupsio prend sans délai les mesures nécessaires pour contenir la violation et en limiter les conséquences. Il documente chaque violation : faits, effets, mesures prises.
10.4 Le marchand, en tant que responsable de traitement, notifie la violation à la CNIL et, si nécessaire, aux personnes concernées. Loupsio l'aide à le faire et lui fournit les informations dont il dispose.
Note pour le juriste. Le délai de 48 heures laisse au marchand le temps de notifier la CNIL dans les 72 heures prévues à l'article 33 du RGPD. Un délai de 24 heures serait plus protecteur, mais doit être tenable par l'équipe. Trancher aussi si Loupsio peut notifier la CNIL au nom du marchand, sur demande écrite.
11. Analyses d'impact et consultation préalable
Sur demande, Loupsio fournit au marchand les informations utiles pour réaliser une analyse d'impact et, si nécessaire, consulter la CNIL : description du traitement, mesures de sécurité, sous-traitants ultérieurs, lieux de traitement.
Note pour le juriste. L'enregistrement de sessions peut remplir plusieurs critères qui rendent une analyse d'impact obligatoire (suivi systématique du comportement, grande échelle, technologie innovante). Il est prudent de recommander aux marchands d'en réaliser une, et d'envisager que Loupsio fournisse un modèle pré-rempli.
12. Fin du contrat : sort des données
12.1 Avant la fin du contrat, le marchand peut récupérer ses données avec les exports disponibles dans l'application. Il peut aussi demander à Loupsio, par écrit, de les lui restituer dans un format courant et lisible par machine.
12.2 Le marchand peut supprimer lui-même ses sites ou son compte à tout moment depuis l'application.
12.3 Au plus tard 30 jours après la fin du contrat, Loupsio supprime toutes les données du marchand de sa base et de son stockage, enregistrements compris.
12.4 Les copies présentes dans les sauvegardes sont supprimées au plus tard 30 jours après leur création. Elles ne sont utilisées que pour restaurer le service après un incident. Si une sauvegarde doit être restaurée, Loupsio supprime à nouveau les données qui avaient été effacées depuis sa création.
12.5 Sur demande, Loupsio confirme la suppression par écrit.
12.6 Loupsio ne conserve aucune copie, sauf si le droit de l'Union ou le droit français l'impose. Il en informe alors le marchand.
13. Documentation et audits
13.1 Loupsio met à la disposition du marchand les informations nécessaires pour démontrer le respect de ce contrat : ce contrat et ses annexes, la description des mesures de sécurité, la liste des sous-traitants ultérieurs et ses réponses aux questionnaires raisonnables du marchand.
13.2 Le marchand peut faire réaliser un audit, y compris une inspection, par lui-même ou par un auditeur indépendant qu'il mandate. L'auditeur est tenu au secret et n'est pas un concurrent de Loupsio. Le marchand prévient Loupsio au moins 30 jours à l'avance et précise le périmètre de l'audit. L'audit ne doit pas perturber le service ni compromettre la sécurité ou la confidentialité des données des autres clients.
13.3 Le marchand peut faire réaliser un audit par an au plus, sauf en cas de violation de données, de manquement sérieux ou de demande d'une autorité de contrôle.
13.4 Chaque partie supporte ses propres coûts. Si l'audit révèle un manquement important de Loupsio, Loupsio prend en charge le coût raisonnable de l'audit et corrige le manquement sans délai.
13.5 Ces limites ne s'appliquent pas aux contrôles de la CNIL ou d'une autre autorité compétente.
14. Transferts hors de l'Union européenne
14.1 Les données du marchand sont hébergées dans l'Union européenne, chez Scaleway SAS : le serveur et sa base de données aux Pays-Bas (région d'Amsterdam), le stockage objet (enregistrements, sauvegardes de la base) et l'envoi des e-mails en France (région de Paris).
14.2 Loupsio ne transfère pas de données du marchand hors de l'Espace économique européen sans instruction du marchand. Les seuls cas prévus sont les options Claude, si le marchand les active (voir l'annexe 1, section 6, et l'annexe 3). Les données sont alors envoyées à Anthropic PBC, aux États-Unis : la question posée et des totaux calculés sur les sessions pour « réponses rédigées par Claude » ; la chronologie d'une visite pour « Résumés de visites par Claude » ; le texte des commentaires laissés dans les sondages ou le bouton d'avis pour « Thèmes des commentaires par Claude ». Aucune de ces options n'envoie d'enregistrement de session ni de saisie faite dans les champs de la boutique.
14.3 Tout transfert prévu à l'article 14.2 est encadré par un mécanisme prévu au chapitre V du RGPD : la décision d'adéquation de la Commission européenne relative au cadre de protection des données UE–États-Unis (Data Privacy Framework) si le destinataire y est certifié, ou à défaut les clauses contractuelles types adoptées par la Commission européenne, complétées si nécessaire par des mesures supplémentaires.
Note pour le juriste. Vérifier à la date de publication : la certification d'Anthropic PBC au Data Privacy Framework, l'accord de traitement des données proposé par Anthropic et ses clauses contractuelles types, ses engagements de ne pas réutiliser les données reçues, la durée pendant laquelle Anthropic les conserve, et l'état des recours contre le Data Privacy Framework. Les totaux envoyés par l'assistant peuvent contenir des chemins de pages, des libellés de boutons ou des messages d'erreur : par prudence, la rédaction les traite comme des données personnelles. Les résumés de visites et les thèmes des commentaires portent sur des données qui ne sont pas agrégées, dont du texte libre écrit par les visiteurs.
14.4 Si Loupsio reçoit d'une autorité publique une demande d'accès aux données du marchand, il en informe le marchand sans délai, sauf si la loi l'interdit. Il conteste les demandes qu'il estime illégales et ne communique que le minimum requis.
14.5 Les outils que le marchand relie lui-même (annexe 1, section 10) peuvent traiter les données hors de l'Espace économique européen, selon l'outil et les choix du marchand : région de l'espace Segment, lieu du compte Klaviyo, Jira, Linear ou Trello, région de l'entrepôt de données. Loupsio y transmet les données sur instruction du marchand. Le marchand vérifie que ces transferts sont encadrés par un mécanisme prévu au chapitre V du RGPD. Pour Google Analytics 4, Loupsio envoie les données au point de collecte européen de Google (region1.google-analytics.com) ; cela ne détermine pas le lieu où Google les traite ensuite.
Note pour le juriste. Qualifier les envois vers les outils reliés par le marchand : Loupsio les effectue pour le compte du marchand, mais il en est l'expéditeur technique. Trancher qui met en place les garanties du chapitre V (par exemple pour un espace Segment en région États-Unis ou pour Klaviyo) et si Loupsio doit vérifier quelque chose avant d'activer l'envoi. Les tickets créés dans Jira, Linear ou Trello contiennent un lien de partage qui donne accès pendant 30 jours à la friction et à un replay d'exemple, à toute personne qui peut lire le ticket.
15. Responsabilité
Chaque partie est responsable envers les personnes concernées dans les conditions de l'article 82 du RGPD. Entre les parties, les limitations de responsabilité des Conditions s'appliquent, dans la mesure permise par la loi. Elles ne limitent en rien les droits des personnes concernées.
Note pour le juriste. Vérifier l'articulation avec la clause de responsabilité des Conditions (plafond, exclusions), notamment pour une violation de données imputable à Loupsio. Un plafond spécifique plus élevé pour les manquements à la protection des données est fréquent.
16. Coopération avec les autorités
Loupsio coopère avec la CNIL et les autres autorités de contrôle compétentes. Il informe le marchand sans délai de toute demande d'une autorité de contrôle concernant les données du marchand.
17. Droit applicable et litiges
Ce contrat est soumis au droit français. Les litiges sont réglés selon les modalités prévues par les Conditions, devant les tribunaux compétents de [VILLE DU TRIBUNAL].
18. Contacts
- Loupsio : [E-MAIL CONFIDENTIALITÉ].
- Marchand : les utilisateurs ayant le rôle de responsable, à l'adresse e-mail de leur compte. Le marchand tient ces adresses à jour.
Annexe 1 : description du traitement
1. Nature du traitement
Collecte par le script loupsio.js installé sur le site du marchand et, pour les boutiques Shopify, par le pixel Loupsio ; transmission chiffrée, stockage, analyse automatisée (détection des frictions, analyse des formulaires, calcul de statistiques et d'estimations de ventes perdues), consultation par les utilisateurs du marchand, y compris pendant la visite ; rédaction de textes par Claude si le marchand active les options correspondantes ; transmission aux destinataires choisis par le marchand ; suppression.
2. Finalités
Permettre au marchand de comprendre comment les visiteurs utilisent sa boutique et de l'améliorer :
- revoir des sessions (replays), y compris pendant qu'elles ont lieu (vue « En direct ») ;
- produire des heatmaps de clics et de défilement ;
- détecter les frictions : clics répétés, clics sans effet, erreurs JavaScript, retours immédiats à la page précédente, défilement frénétique, erreurs de saisie, pages lentes ;
- montrer, à côté du replay, les requêtes en échec ou lentes et les erreurs de la console ;
- analyser l'usage des formulaires : temps passé par champ, champs remplis à nouveau, champs refusés, abandons ;
- mesurer des funnels, des parcours, la vitesse des pages et les résultats de tests A/B ;
- mesurer le retour des visiteurs (écran Rétention) ;
- estimer ce qu'une friction coûte en ventes, à partir du montant des commandes ;
- retrouver et effacer les visites d'un client ;
- afficher des sondages et un bouton d'avis, et analyser les réponses ;
- envoyer au marchand un rapport hebdomadaire et des alertes ;
- répondre aux questions du marchand avec l'assistant, résumer une visite et regrouper les commentaires par thème ;
- transmettre des données aux outils que le marchand relie (section 10).
Le traitement ne sert pas à la publicité, au suivi des visiteurs d'un site à l'autre, ni à une décision individuelle automatisée produisant des effets juridiques. Il n'a pas pour but d'identifier les visiteurs : il ne rattache une visite à un client que par l'identifiant que le site du marchand fournit (section 4), et ne relie les visites d'un même visiteur que si le marchand active la reconnaissance des visiteurs qui reviennent (section 5).
3. Personnes concernées
- Les visiteurs des sites sur lesquels le marchand a installé le script, y compris les clients connectés à leur compte sur ces sites.
- Les personnes qui répondent à un sondage du marchand, sur son site ou par lien.
- Toute personne dont des données sont affichées dans les pages enregistrées, si le marchand ne les masque pas.
4. Catégories de données
| Catégorie | Données | Précisions |
|---|---|---|
| Contenu des pages | Structure de la page et ses changements (DOM), enregistrés avec la bibliothèque rrweb, y compris le texte affiché | Tout ce que le visiteur tape dans les champs est masqué dans son navigateur avant tout envoi. Le texte affiché est enregistré, sauf s'il est masqué (data-loupsio-mask) ou exclu (data-loupsio-block) par le marchand. |
| Interactions | Mouvements de souris, clics, défilement, profondeur de défilement, date et heure | |
| Appareil | Taille de fenêtre, type d'appareil, navigateur (user agent), langue | |
| Navigation | Adresse des pages visitées, site d'origine (referrer), paramètres de campagne UTM | Les paramètres d'URL sont retirés côté script et côté serveur. Du site d'origine, seul le nom de domaine est relevé. Seuls les paramètres utm_source, utm_medium et utm_campaign sont relevés. |
| Technique | Messages d'erreurs JavaScript, mesures de vitesse (Web Vitals) | |
| Requêtes et console | Requêtes de la page en échec ou lentes ; messages d'erreur et d'avertissement de la console du navigateur | Réglage « Requêtes en échec et erreurs de la console », actif par défaut. Pour une requête en erreur (code 400 ou plus, ou échec réseau) ou de plus de 3 secondes : méthode, adresse sans paramètres (chemin pour le site lui-même, domaine et chemin pour les autres sites), code de réponse et durée. Pour la console : texte des messages, sans le contenu des objets (seuls le nom et le message d'une erreur sont gardés). Les adresses e-mail et les longs nombres sont remplacés dans le navigateur. 50 requêtes et 50 messages par page au plus. Les requêtes vers Loupsio ne sont pas relevées. |
| Formulaires | Pour chaque champ utilisé : son nom (libellé, ou à défaut nom technique), l'entrée dans le champ et la sortie, le nombre de modifications, les refus (champ jugé invalide par le navigateur ou par la page), l'envoi du formulaire | Sert à mesurer le temps passé par champ, les champs remplis à nouveau, les refus et les abandons. Jamais les valeurs saisies, qui restent masquées dans le navigateur. |
| Événements | Événements et variantes de tests A/B envoyés par le marchand ; variantes lues automatiquement dans AB Tasty, Kameleoon et VWO quand ces outils sont présents sur la page | Contenu choisi par le marchand (article 7, point 6). Pour les outils de test A/B : nom ou numéro du test et nom de la variante présentée, 10 tests par page au plus. |
| Commandes | Montant, devise et identifiant de la commande, rattachés à la visite | Boutiques Shopify : envoyés par le pixel Loupsio à chaque commande terminée, seulement si Shopify autorise la mesure d'audience pour ce visiteur (accord donné dans le bandeau de la boutique, là où il est demandé) et si la visite a été enregistrée dans les 24 heures précédentes. L'identifiant est celui de la commande chez Shopify (ou, à défaut, du paiement). Autres sites : montant envoyé par le marchand avec un événement de commande, par exemple loupsio('event', 'commande', { montant }). Sert à estimer ce qu'une friction coûte en ventes. |
| Avis des visiteurs | Réponses aux sondages (jusqu'à six questions) et commentaires libres, notes et commentaires du bouton d'avis | Reliés à la session. Les réponses d'un même visiteur à un même sondage sont reliées par un identifiant aléatoire créé dans le navigateur à l'affichage du sondage ; il n'y est pas stocké. Le ciblage d'un sondage par appareil et par source de trafic est calculé dans le navigateur, à partir du site d'origine et des paramètres de campagne déjà relevés. |
| Identifiant de session | Identifiant de session aléatoire | Voir la section 5. |
| Identifiant de client | Identifiant transmis par le site avec loupsio('identify', …) ; si le réglage « Identifier les clients connectés » est actif (par défaut), numéro du client connecté sur Shopify (shopify-<numéro>) ou identifiant d'utilisateur de Segment | Rattaché aux visites, 120 caractères au plus. Sert à retrouver et effacer les visites d'un client, à mesurer le retour des clients (écran Rétention) et, si le marchand les relie, à rattacher les frictions dans Segment et Klaviyo (section 10). |
| Identifiant de visiteur | Identifiant aléatoire gardé dans le navigateur du visiteur | Seulement si le réglage « Reconnaître les visiteurs qui reviennent » est actif (désactivé par défaut). Relie les visites d'un même navigateur sur le site, pour l'écran Rétention. Voir la section 5. |
| Identifiants d'autres outils | Identifiant client de Google Analytics (cookie _ga), identifiant anonyme de Segment, identifiant d'échange de Klaviyo (cookie __kla_id) | Lus dans le navigateur seulement pour les outils que le marchand a reliés (section 10), et conservés avec la visite. |
| Textes produits par Claude | Résumés de visites et thèmes des commentaires | Seulement si les options correspondantes sont actives. Voir la section 6. |
Données qui ne sont pas collectées ou pas conservées :
- Saisies : tout ce que le visiteur tape dans les champs de la page (e-mails, mots de passe, cartes, adresses…) est masqué dans son navigateur avant tout envoi. Seules les réponses qu'il choisit d'envoyer dans un sondage ou le bouton d'avis sont transmises.
- Adresse IP : utilisée de façon transitoire pour limiter le débit des requêtes. Elle n'est pas enregistrée dans la base.
- Paramètres d'URL : retirés côté script et côté serveur.
- Contenu des requêtes : ni le contenu ni les en-têtes des requêtes et des réponses de la page ne sont relevés.
- Pages exclues et visites non retenues : rien n'est enregistré sur les pages que le marchand choisit de ne pas enregistrer, ni pendant les visites qui ne font pas partie de la part des visites enregistrées. Les sondages et le bouton d'avis restent actifs sur ces pages et pendant ces visites.
Données sensibles : le service n'est pas conçu pour traiter des données sensibles au sens de l'article 9 du RGPD. Le marchand exclut les pages ou éléments concernés (article 7, point 5).
Note pour le juriste. Le réglage « Requêtes en échec et erreurs de la console » est actif par défaut. Le filtrage retire les adresses e-mail et les longs nombres, mais une adresse de requête ou un message de la console peut contenir d'autres données personnelles (nom dans une adresse, jeton, texte d'une erreur). Trancher si l'activation par défaut est compatible avec la protection des données par défaut (article 25 du RGPD) ou s'il faut la désactiver par défaut. L'identifiant de commande permet au marchand de relier une visite à une commande, donc à un client, dans son back-office Shopify.
5. Stockage dans le navigateur du visiteur
Aucun cookie n'est déposé sur la boutique. Le script utilise :
| Emplacement | Nom | Contenu | Durée |
|---|---|---|---|
sessionStorage de l'onglet | loupsio:session | Identifiant de session aléatoire, site d'origine et paramètres de campagne de la visite, et présence d'un identifiant de clic publicitaire dans l'adresse d'arrivée (sans sa valeur) | Effacé à la fermeture de l'onglet. Un nouvel identifiant est créé après 30 minutes d'inactivité. |
sessionStorage de l'onglet | loupsio:user | Identifiant de client, quand il est connu (section 4) | Effacé à la fermeture de l'onglet |
sessionStorage de l'onglet | loupsio:cfg:<identifiant du site> | Réglages du site lus sur le serveur de Loupsio (masquage, sondages, règles d'enregistrement), sans donnée sur le visiteur | Relus après 5 minutes ; effacés à la fermeture de l'onglet |
sessionStorage de l'onglet | loupsio:shop:<domaine de la boutique> | Boutiques Shopify : identifiant du site Loupsio de la boutique, sans donnée sur le visiteur | Effacé à la fermeture de l'onglet |
localStorage | loupsio:s:<identifiant du sondage> | Date jusqu'à laquelle un sondage déjà vu n'est plus proposé | 30 jours si le visiteur ferme le sondage sans répondre, 1 an s'il répond à au moins une question |
localStorage | loupsio:vid | Identifiant de visiteur aléatoire et sa date d'expiration, seulement si le réglage « Reconnaître les visiteurs qui reviennent » est actif | 13 mois à compter de sa création, sans prolongation à chaque visite ; un nouvel identifiant est ensuite créé. Si le réglage est désactivé, le script l'efface lors de la visite enregistrée suivante. |
Si le marchand relie Google Analytics 4, Segment ou Klaviyo (section 10), le script lit pendant l'enregistrement, pour ces seuls outils et sans les modifier, l'identifiant qu'ils ont déjà attribué au visiteur : cookie _ga de Google Analytics ; identifiant anonyme de Segment, lu par l'interface de Segment dans la page ou dans ajs_anonymous_id ; cookie __kla_id de Klaviyo. Pour l'identification automatique des clients, il lit dans la page le numéro du client connecté que Shopify met à disposition, ou l'identifiant d'utilisateur de Segment.
En mode consentement (data-consent="required"), le script n'enregistre rien, n'envoie aucune donnée sur la visite, n'affiche ni sondage ni bouton d'avis et n'écrit rien dans le navigateur du visiteur avant l'appel loupsio('consent', true). Il lit seulement les réglages du site sur le serveur de Loupsio, sans les garder. Un identifiant de client transmis par loupsio('identify', …) avant l'accord reste en mémoire et n'est écrit dans loupsio:user qu'après l'accord. L'appel loupsio('consent', false) arrête l'enregistrement.
6. Options Claude (Anthropic PBC)
Chaque option est désactivée par défaut et activée séparément, pour un site, par un utilisateur ayant le rôle de responsable, dans les réglages de confidentialité. Les données ne sont envoyées à Anthropic PBC, aux États-Unis, que lorsqu'un utilisateur du marchand le demande dans l'application.
« Réponses rédigées par Claude » (assistant). Loupsio envoie la question posée par l'utilisateur du marchand et des totaux calculés sur les sessions : nom du site, nombres de sessions, répartition par type d'appareil, taux, chemins de pages, libellés de boutons ou de champs et messages d'erreur liés aux frictions, sources de trafic, répartition des réponses aux questions fermées des sondages, note moyenne du bouton d'avis. Ne sont jamais envoyés : les enregistrements de session, les saisies, les commentaires libres, les identifiants de session, de client ou de visiteur.
« Résumés de visites par Claude ». Quand un utilisateur le demande sur un replay, Loupsio envoie la chronologie de cette visite : type d'appareil, source de trafic, nombre de pages, durée, montant commandé ou objectif atteint ; chemins des pages visitées ; intitulés des frictions, avec le libellé de l'élément cliqué ou du champ refusé et le message des erreurs JavaScript ; noms des formulaires et du dernier champ utilisé, nombre d'erreurs de saisie ; noms des événements ; le fait qu'un sondage a reçu une réponse ou qu'un avis a été laissé ; moment de chaque étape. Ne sont jamais envoyés : l'enregistrement, les saisies, le contenu des réponses aux sondages et des avis, les identifiants de session, de client ou de visiteur.
« Thèmes des commentaires par Claude ». Quand un utilisateur le demande, Loupsio envoie le texte des commentaires libres laissés dans un sondage ou dans le bouton d'avis sur la période choisie : les 300 plus récents au plus, chacun coupé à 400 caractères. Chaque commentaire est accompagné d'un numéro interne, sans la session, la page, la date ni aucun identifiant. Ces textes peuvent contenir tout ce que les visiteurs ont choisi d'écrire, y compris des données personnelles.
Textes produits. Les réponses de l'assistant ne sont pas conservées. Les résumés de visites et les thèmes sont conservés dans la base de Loupsio pour être affichés à nouveau. Un résumé est supprimé avec sa visite et, au plus tard, au terme de la durée de conservation du site. Les thèmes sont supprimés au terme de la durée de conservation, et chaque fois qu'une visite est effacée dans l'application ou à la demande de Shopify (article 9) ; ils peuvent ensuite être recalculés à la demande. Un commentaire effacé entre-temps n'est plus affiché avec son thème.
7. Durée de conservation
- Durée réglable par site par le marchand, de 30 jours à 2 ans (90 jours par défaut).
- Une session est supprimée quand sa dernière activité est plus ancienne que cette durée. La même durée s'applique, à compter de leur création, aux réponses aux sondages, aux avis, aux commandes et aux textes produits par Claude.
- Purge automatique chaque nuit, enregistrements compris.
- Suppression possible à tout moment depuis l'application : une session, les données d'un visiteur, un site, un compte.
- L'identifiant de visiteur gardé dans le navigateur expire au bout de 13 mois (section 5).
- Les données transmises aux outils reliés par le marchand suivent les règles de ces outils (section 10).
- Sauvegardes de la base conservées au maximum 30 jours, puis supprimées.
8. Lieu du traitement
Union européenne : serveur aux Pays-Bas (région d'Amsterdam), stockage et sauvegardes en France (région de Paris), chez Scaleway SAS. Exceptions : les options décrites à la section 6, si le marchand les active (États-Unis) ; les outils reliés par le marchand (section 10), dont le lieu dépend de l'outil et des choix du marchand.
9. Durée du traitement
La durée du contrat, puis le temps de la suppression prévue à l'article 12.
10. Destinataires choisis par le marchand
Ces destinataires ne sont pas des sous-traitants ultérieurs de Loupsio (article 8.6). Le marchand les relie lui-même dans l'application, avec ses propres identifiants, que Loupsio vérifie auprès de l'outil puis conserve chiffrés. Les envois cessent dès que le marchand déconnecte l'outil.
| Destinataire | Données transmises | Quand |
|---|---|---|
| Google Analytics 4 | Pour chaque friction de la visite : type, chemin de la page, libellé de l'élément ou message d'erreur, date ; rattachés à l'identifiant client de Google Analytics lu dans le cookie _ga. Envoi au point de collecte européen de Google. | Une fois la visite terminée (30 minutes sans activité), pour les visites terminées depuis moins de 48 heures et après la connexion de l'outil. Une visite sans identifiant Google Analytics n'est pas envoyée. |
| Segment (espace en région États-Unis ou Europe, au choix du marchand) | Pour chaque friction : type, intitulé, chemin de la page, libellé, nombre d'occurrences, numéro de session et lien vers le replay dans Loupsio (qui ne s'ouvre qu'avec un compte ayant accès au site) ; rattachés à l'identifiant anonyme de Segment et, s'il est connu et ne vient pas de Shopify, à l'identifiant de client. | Comme pour Google Analytics 4. Une visite sans identifiant Segment ni identifiant de client n'est pas envoyée. |
| Klaviyo | Les mêmes données que pour Segment, rattachées au profil Klaviyo : identifiant d'échange lu dans le cookie __kla_id ou, à défaut, numéro du client Shopify (external_id). | Comme pour Google Analytics 4. Une visite sans l'un de ces identifiants n'est pas envoyée. |
| Jira, Linear, Trello | Intitulé de la friction, chemin de la page, nombre et part des visites touchées sur 30 jours, coût estimé, et un lien de partage valable 30 jours qui donne accès à la friction et à un replay d'exemple. | Quand un utilisateur crée un ticket depuis une friction. |
| Entrepôt de données : stockage compatible S3, BigQuery ou Snowflake, dans la région choisie par le marchand | Visites (dont identifiant de client et identifiant de visiteur, appareil, source, campagne, page d'arrivée, nombre de pages, durée, nombre de frictions, conversion, chiffre d'affaires), frictions, événements avec leurs propriétés, réponses aux sondages avec les commentaires et l'identifiant qui relie les réponses d'un visiteur, avis avec les commentaires. | Chaque nuit pour la veille, et à la demande d'un responsable pour les 30 derniers jours au plus. |
Dans les libellés et messages envoyés à Google Analytics 4, Segment et Klaviyo, les adresses e-mail et les longs nombres sont retirés. Les données déjà transmises restent dans ces outils selon leurs propres règles : la purge et l'effacement dans Loupsio ne les atteignent pas.
Note pour le juriste. Klaviyo et Segment servent souvent au marketing : le marchand peut se servir des frictions transmises, par exemple pour relancer un client par e-mail. Vérifier que la phrase de la section 2 sur la publicité et la finalité annoncée aux visiteurs (« Analyse des sessions ») restent exactes, et s'il faut un consentement distinct pour ces envois et pour la lecture des cookies
_gaet__kla_id.
Annexe 2 : mesures de sécurité
Minimisation, dès le navigateur du visiteur
- Masquage dans le navigateur, avant tout envoi, de tout ce que le visiteur tape dans les champs. Des tests automatisés vérifient ce masquage.
- Outils de masquage (
data-loupsio-mask) et d'exclusion (data-loupsio-block) à la disposition du marchand, et réglage « Masquer tout le texte des pages » qui remplace dans le navigateur tous les textes affichés, le titre de la page et les attributs lisibles (alt,title,aria-label,placeholder) par des astérisques avant tout envoi. - Retrait des paramètres d'URL côté script et côté serveur.
- Part des visites enregistrées (de 1 à 100 %) et pages à ne pas enregistrer, réglables par le marchand : rien n'est enregistré sur ces pages ni pendant les visites non retenues.
- Analyse des formulaires sans les valeurs saisies : seuls le nom des champs, l'entrée et la sortie, les refus et l'envoi sont relevés.
- Requêtes et console : ni contenu ni en-têtes, adresses sans paramètres, adresses e-mail et longs nombres remplacés dans le navigateur, 50 de chaque par page au plus ; réglage que le marchand peut désactiver.
- Aucun cookie déposé sur la boutique ; identifiant de session limité à l'onglet ; identifiant de visiteur de 13 mois seulement si le marchand l'active.
- Identifiants d'autres outils lus seulement pour les outils que le marchand a reliés ; une visite qu'un outil ne peut rattacher à personne ne lui est pas envoyée ; adresses e-mail et longs nombres retirés des libellés envoyés à Google Analytics 4, Segment et Klaviyo.
- Options Claude désactivées par défaut, données envoyées limitées à celles décrites à l'annexe 1, section 6.
- Adresse IP non enregistrée dans la base.
- Mode consentement : aucun enregistrement avant l'accord du visiteur.
Transmission et accès
- Chiffrement HTTPS des échanges.
- Mots de passe des utilisateurs hachés avec scrypt.
- Jetons (sessions, invitations, liens de partage, clés d'API) stockés sous forme d'empreinte, jamais en clair.
- Cookie de session
HttpOnly. - Protection contre les requêtes intersites : vérification de l'origine de toute modification.
- Limites de débit des requêtes.
- Cloisonnement des données par site et contrôle d'accès par rôle (responsable, membre).
- Liens de partage d'une friction qui expirent après 30 jours.
- Identifiants des outils reliés par le marchand (jetons, clés) vérifiés auprès de l'outil, chiffrés avec AES-256-GCM avant stockage et jamais réaffichés ; jeton d'accès des boutiques Shopify chiffré et supprimé à la désinstallation de l'app.
- Signature (HMAC-SHA256) vérifiée sur les messages reçus de Shopify.
Disponibilité et effacement
- Sauvegardes quotidiennes de la base, conservées au maximum 30 jours.
- Purge automatique chaque nuit selon la durée de conservation choisie.
- Hébergement dans l'Union européenne, chez Scaleway SAS : serveur aux Pays-Bas (région d'Amsterdam), stockage et sauvegardes en France (région de Paris).
- Vérification de chaque composant du service (application, collecte des visites, stockage des enregistrements, tâches planifiées) toutes les minutes ; résultats et incidents publiés sur une page d'état publique (
/status), qui ne contient aucune donnée personnelle.
Organisation
- Accès aux données limité aux personnes qui en ont besoin, tenues au secret.
- Procédure de gestion des violations de données (article 10).
- [À COMPLÉTER : mesures internes effectivement en place, par exemple double authentification sur les comptes d'administration de l'hébergeur, gestion des accès, journalisation des actions d'administration, revue périodique des mesures.]
Note pour le juriste. Ne mentionner ni chiffrement au repos ni certification (ISO 27001, SOC 2…) tant qu'ils ne sont pas en place et documentés. Faire compléter la partie « Organisation » par l'équipe technique avec des mesures réelles uniquement.
Annexe 3 : sous-traitants ultérieurs
| Sous-traitant ultérieur | Siège | Lieu du traitement | Prestation | Données concernées | Garanties |
|---|---|---|---|---|---|
| Scaleway SAS | France | Pays-Bas (région d'Amsterdam) pour le serveur ; France (région de Paris) pour le stockage objet et l'envoi des e-mails | Serveurs, stockage objet (enregistrements, sauvegardes), envoi des e-mails transactionnels (rapport hebdomadaire, alertes) | Toutes les données du marchand ; adresses des destinataires et contenu des e-mails | Traitement dans l'UE, contrat conforme à l'article 28 du RGPD |
| Anthropic PBC | États-Unis | États-Unis | Options Claude, uniquement si le marchand les active, chacune séparément : réponses de l'assistant (« réponses rédigées par Claude »), résumés de visites (« Résumés de visites par Claude »), regroupement des commentaires par thème (« Thèmes des commentaires par Claude ») | Selon l'option : question posée et totaux ; chronologie d'une visite ; texte des commentaires libres des sondages et du bouton d'avis (annexe 1, section 6). Jamais d'enregistrement ni de saisie faite dans les champs de la boutique | Data Privacy Framework si le destinataire est certifié, ou à défaut clauses contractuelles types (article 14) |
Pour information : prestataires qui ne traitent pas les données des visiteurs
| Prestataire | Rôle |
|---|---|
| Stripe Payments Europe Ltd (Irlande) | Facturation des marchands. Ne reçoit aucune donnée des visiteurs. Ce traitement relève de la politique de confidentialité de Loupsio. |
| Shopify | Si le marchand installe Loupsio sur une boutique Shopify, Shopify reste la plateforme du marchand. Le pixel Loupsio s'exécute dans l'environnement de Shopify, seulement si Shopify autorise la mesure d'audience pour le visiteur, et envoie à Loupsio les commandes décrites à l'annexe 1, section 4. Shopify transmet à Loupsio les demandes de ses clients et des boutiques (article 9.5). Shopify n'est pas un sous-traitant de Loupsio. |
| AB Tasty, Kameleoon, VWO | Si l'un de ces outils est présent sur la page, le script lit le nom des tests et des variantes présentés au visiteur. Ces outils ne reçoivent rien de Loupsio. |
Pour information : destinataires choisis par le marchand
| Destinataire | Rôle |
|---|---|
| Google Analytics 4, Segment, Klaviyo | Reçoivent les frictions des visites, si le marchand relie l'outil (annexe 1, section 10). |
| Jira, Linear, Trello | Reçoivent les tickets créés depuis une friction, si le marchand relie l'outil (annexe 1, section 10). |
| Stockage compatible S3, BigQuery, Snowflake | Reçoivent l'export quotidien des données, si le marchand relie un entrepôt (annexe 1, section 10). |
Ces outils sont reliés par le marchand avec ses propres identifiants et reçoivent les données sur son instruction. Ce ne sont pas des sous-traitants ultérieurs de Loupsio (article 8.6).