Forme : les clauses contractuelles types de la Commission européenne, annexes complétées.
À propos du présent contrat
La Commission européenne a arrêté des clauses types pour la relation entre le responsable du traitement et le sous-traitant : décision d'exécution (UE) 2021/915 du 4 juin 2021, prise sur le fondement de l'article 28, paragraphe 7, du RGPD. Nous reprenons ces clauses intégralement plutôt que d'en rédiger nous-mêmes.
Cela signifie deux choses pour vous. Les clauses ont été arrêtées par la Commission elle-même et satisfont donc à l'article 28. Et votre service juridique reconnaît le texte et n'a pas à l'examiner ligne par ligne.
Le travail de fond se trouve dans les annexes. La décision exige que les mesures de sécurité soient décrites concrètement ; une description générale ne suffit pas. L'annexe III est pour cette raison une description de ce que le système fait réellement.
Le contrat
Parties
| Responsable du traitement | Le client, tel qu'indiqué à l'annexe I |
| Sous-traitant | Outflanq B.V., Boekweitstraat 62, 2153 GL Nieuw-Vennep, Pays-Bas, RCS (KvK) 42160759, n° de TVA NL869980646B01 |
Article 1 : Ce qui s'applique
Les clauses contractuelles types figurant à l'annexe de la décision d'exécution (UE) 2021/915 s'appliquent intégralement au traitement de données à caractère personnel effectué par le sous-traitant pour le compte du responsable du traitement. Ces clauses font partie du présent contrat comme si elles y étaient intégralement reproduites.
Article 2 : Options retenues au sein de ces clauses
- Recours à des sous-traitants ultérieurs (clause 7.7) : autorisation écrite générale. Le sous-traitant tient à jour la liste de l'annexe IV et notifie toute modification envisagée au moins trente jours à l'avance. Le responsable du traitement peut s'y opposer dans ce délai ; à défaut d'accord entre les parties, il peut résilier le contrat à la date de prise d'effet de la modification.
- À la fin du traitement (clause 8.5) : le sous-traitant supprime les données à caractère personnel, sauf si le responsable du traitement demande leur restitution par écrit avant la fin du contrat. Un export complet peut être récupéré à tout moment par le client lui-même dans l'application.
- Notification d'une violation (clause 9) : le sous-traitant notifie toute violation de données à caractère personnel sans retard injustifié et au plus tard dans les 24 heures après en avoir pris connaissance, avec les informations disponibles à ce moment-là ; les informations manquantes suivent dès qu'elles existent.
- Droit applicable et juridiction (clauses 12 et 13) : droit néerlandais, juridiction compétente : tribunal de Noord-Holland (Rechtbank Noord-Holland).
Article 3 : Audits (clause 7.6)
Le responsable du traitement peut contrôler le respect des obligations. Cela se fait en premier lieu sur la base des informations fournies par le sous-traitant. Un contrôle sur place est possible, au plus une fois par an, annoncé dans un délai raisonnable, pendant les heures de bureau et selon des modalités qui ne perturbent pas le service pour les autres clients. Les frais d'un contrôle ne mettant en évidence aucun manquement sont à la charge du responsable du traitement.
Annexe I : Parties
| Responsable du traitement | Sous-traitant | |
|---|---|---|
| Nom | le client tel qu'enregistré dans le compte (raison sociale) | Outflanq B.V. |
| Adresse | l'adresse de facturation enregistrée dans le compte, dès qu'elle est connue | Boekweitstraat 62, 2153 GL Nieuw-Vennep, Pays-Bas |
| Personne de contact | l'administrateur du compte | Confidentialité : [email protected] |
| Rôle | Responsable du traitement | Sous-traitant |
| Activités | Utilisation de priceq pour la veille tarifaire et la fixation des prix | Fourniture de priceq |
Le présent contrat n'est pas signé à la main. Il est conclu au moment où le client donne son accord lors de l'inscription. Nous en consignons : quel document, quelle version, l'empreinte (SHA-256) du texte tel qu'il était affiché à ce moment-là, l'heure, l'adresse IP et le navigateur. Quiconque souhaite son propre exemplaire signé en fait la demande à l'adresse de contact figurant sur /legal/bedrijfsgegevens.
Annexe II : Description du traitement
Personnes concernées
Les collaborateurs du responsable du traitement disposant d'un compte dans l'application, et les personnes qu'il contacte au nom de l'organisation via l'application.
Catégories de données à caractère personnel
- Nom et adresse e-mail professionnelle
- Rôle au sein de l'organisation (administrateur, superviseur, collaborateur, lecteur)
- Une empreinte du mot de passe hachée avec Argon2id, et un numéro de version permettant de révoquer une session
- Préférences personnelles : langue, affichage, notifications reçues
- Dans le journal d'audit : identifiant d'utilisateur, horodatage, action, adresse IP et navigateur, ainsi que les données sur lesquelles portait l'action, par exemple l'adresse e-mail de la personne invitée
- Horodatage et adresse IP de la dernière connexion
- Le fait qu'un e-mail adressé à une personne soit revenu comme non distribuable : horodatage et motif indiqué par le serveur de messagerie destinataire
Catégories particulières
Aucune. Le service n'est pas conçu pour cela et aucun champ ne peut les accueillir.
Ce qui n'est expressément pas une donnée à caractère personnel
Les prix, la disponibilité et les désignations de produits relevés sur des pages de boutiques publiques, ainsi que le catalogue fourni par le client. Il s'agit de données de marché et de produits. Elles ne relèvent pas du présent contrat et ne sont mentionnées ici que pour éviter tout malentendu.
Nature et finalité du traitement
Donner accès à l'application, attribuer les droits, envoyer les notifications et récapitulatifs que l'utilisateur configure lui-même, sécuriser le service (limitation des connexions, gestion des sessions, journal d'audit) et résoudre les incidents.
Durée
Pour la durée du contrat. Après résiliation, les données à caractère personnel sont anonymisées à la clôture du dossier, au plus tard trente jours après la résiliation. Si un administrateur du responsable du traitement demande lui-même la suppression dans l'application, un délai de réflexion de trente jours commence à courir, pendant lequel le compte continue de fonctionner et la demande peut être retirée ; les données sont ensuite effacées. Un effacement anticipé a lieu sur demande expresse du responsable du traitement.
Le journal d'audit suit un délai propre : chaque ligne est supprimée automatiquement douze mois après son écriture, même si le contrat a pris fin plus tôt. Jusqu'à ce moment, les données à caractère personnel qu'il contient sont conservées, précisément parce que le journal sert à pouvoir établir après coup ce qui s'est passé.
Fréquence
En continu, tant que l'application est utilisée.
Annexe III : Mesures techniques et organisationnelles
Décrites concrètement, comme la décision l'exige.
Séparation entre clients La base de données impose ligne par ligne à quel client appartient une donnée (row-level security), sur chaque table contenant des données clients, avec une exception assumée : les tables des comptes utilisateurs et des codes à usage unique pour les invitations et la réinitialisation de mot de passe. Celles-ci sont consultées à la connexion sur la base de l'adresse e-mail, avant que l'on sache à quel client la personne appartient. C'est là que l'application assure la séparation : chaque compte appartient à exactement un client, et l'application recherche les comptes avec le numéro de client ou le numéro d'utilisateur issus de la session connectée, jamais avec un numéro issu de la requête. L'application filtre en outre explicitement, et à chaque modification la chaîne de construction exécute un test qui tente de récupérer les données d'un autre client ; si cette tentative réussit, la modification ne passe pas. L'application s'exécute avec un rôle de base de données qui ne peut pas contourner cette séparation. Les clés de cache et les chemins de stockage sont eux aussi séparés par client.
Accès et authentification Les mots de passe sont stockés hachés avec Argon2id. L'authentification à deux facteurs est disponible. Les mots de passe sont vérifiés lors de leur définition contre les mots de passe connus comme divulgués. Les tentatives de connexion répétées et infructueuses sont bloquées. Les sessions peuvent être révoquées immédiatement par utilisateur. Les droits sont répartis en quatre rôles ; les actions les plus lourdes (export complet, modification de l'abonnement, suppression du compte) sont réservées à un administrateur.
Accès en observation au compte du client Pour l'assistance, un collaborateur du sous-traitant peut voir l'application telle que le client la voit. Cela n'est possible que depuis son propre compte connecté (et non avec une clé système) et seulement après avoir saisi un motif. Ce motif est consigné et montré au client. Une telle session est en lecture seule : le serveur refuse toute action modifiant quoi que ce soit, quel que soit l'écran ouvert par le collaborateur. Elle dure trente minutes et ne peut pas être prolongée ; qui a besoin de plus de temps recommence et consigne à nouveau un motif. Dans le journal, le collaborateur reste lui-même : ce qu'il fait n'est jamais attribué à un collaborateur du client. Quatre écrans restent fermés même pendant l'observation : la liste des membres de l'équipe, le journal d'activité, l'export complet et les clés d'API.
Confidentialité pendant le transport et le stockage L'ensemble du trafic passe par TLS. Les serveurs ne sont pas accessibles directement depuis l'internet. Les sauvegardes sont stockées chiffrées.
Disponibilité et restauration Chaque nuit, une sauvegarde complète est réalisée et écrite chiffrée vers un stockage objet, dans des chemins séparés par client. Le chiffrement intervient avant l'écriture, de sorte que le prestataire de stockage ne reçoit que du texte chiffré. La procédure de restauration est décrite et testée ; la date et le résultat du dernier test sont disponibles sur demande.
Journalisation et contrôlabilité Les actions relatives aux comptes et aux accès (inviter quelqu'un, retirer une invitation, modifier un rôle, désactiver ou réactiver un compte, et un collaborateur du sous-traitant qui commence à observer) sont consignées dans un journal d'audit que l'application ne peut ni modifier ni supprimer. Cette restriction est imposée au niveau de la base de données : l'application n'a pas le droit de modifier ou de supprimer des lignes du journal. Les lignes âgées de douze mois sont supprimées par une tâche de maintenance distincte disposant de son propre rôle de base de données. Le client peut consulter lui-même le journal dans l'application.
La ligne relative à une session d'observation mentionne le motif, l'horodatage et le moment où l'accès expire, et est écrite avant que l'accès ne soit accordé : si cette écriture échoue, il n'y a pas d'observation. Une session d'observation sans ligne dans le journal n'existe donc pas.
Sécurité du développement Le code source se trouve dans un dépôt privé. À chaque modification sont exécutés des contrôles automatisés portant sur les secrets présents dans le code, les vulnérabilités connues des dépendances, et le test de séparation mentionné ci-dessus. Les secrets sont conservés dans un coffre à clés et non dans le code.
Surveillance des erreurs L'application signale les erreurs à un service externe situé dans la région UE. Celui-ci est configuré de manière à ce qu'aucune donnée à caractère personnel et aucun contenu de requête ne soient transmis.
Accès à la production Limité à l'administrateur du sous-traitant, via un réseau privé, avec authentification par clé. Les actions effectuées directement sur l'environnement de production sont consignées après coup.
Suppression À la clôture d'un compte, les données des utilisateurs sont anonymisées et l'ensemble des clés et jetons est supprimé. Le journal d'audit n'est pas modifié à cette occasion : les lignes subsistent avec les données à caractère personnel qu'elles contiennent (identifiant d'utilisateur, adresse IP, navigateur et par exemple l'adresse e-mail d'une personne invitée), jusqu'à ce qu'elles aient douze mois et soient supprimées automatiquement.
Annexe IV : Sous-traitants ultérieurs
Parties susceptibles de traiter des données à caractère personnel dans le cadre de l'exécution :
| Sous-traitant ultérieur | Pour quoi | Données | Localisation | Transfert |
|---|---|---|---|---|
| Hetzner Online GmbH | Hébergement de l'application, de la base de données et des tâches de fond | Toutes les données de l'annexe II | Nuremberg, Allemagne | Au sein de l'UE |
| Cloudflare, Inc. | DNS, tunnel d'accès, protection contre les abus, stockage de la sauvegarde chiffrée | Données de trafic (adresse IP, navigateur, URL demandée) et la sauvegarde chiffrée | Réseau mondial ; société américaine | Clauses contractuelles types et cadre de protection des données UE-États-Unis |
| Backblaze, Inc. (B2) | Copie hors site de la sauvegarde nocturne | Uniquement la sauvegarde chiffrée de la base de données ; la clé reste chez le sous-traitant | États-Unis | Clauses contractuelles types |
| AhaSend B.V. | Envoi d'e-mails : notifications et récapitulatifs, invitations, e-mails de confirmation et de réinitialisation de mot de passe | Nom et adresse e-mail du destinataire, contenu du message | Amsterdam, Pays-Bas ; traitement au sein de l'EEE | Au sein de l'EEE |
| Functional Software, Inc. (Sentry) | Surveillance des erreurs | Données techniques d'erreur ; configuré sans données à caractère personnel et sans contenu de requête | Région UE, Allemagne | Au sein de l'UE |
Les mêmes sous-traitants ultérieurs figurent, avec plus de détails par partie, dans la liste des sous-traitants ultérieurs.
Empreinte de ce texte (SHA-256): 608b29e46e4507534f7f55c11b2b5f4121d06bd41f3ec68fee453ab1f91abf3b