BROUILLON — à faire relire et valider par un avocat avant toute publication.
Accord de traitement des données (article 28 du RGPD)
Version [À COMPLÉTER : numéro de version] — en vigueur le [À COMPLÉTER : date].
Entre :
- le Client, le studio qui souscrit au service en ligne Bernard Review, agissant comme responsable de traitement (le « Responsable ») ;
- AArts Lab [À COMPLÉTER : forme sociale, capital, siège, RCS], qui exploite les marques Bernard Engine et Bernard Review, contact@bernardengine.com, agissant comme sous-traitant (le « Sous-traitant »).
Cet accord fait partie du contrat conclu selon les conditions générales de vente et d'utilisation (les « CGV »). Il est accepté avec elles, sans signature séparée ; le Client qui le souhaite peut en obtenir une version signée [À VALIDER : acceptation électronique suffisante ou signature].
Les termes « données personnelles », « traitement », « violation de données » et « personne concernée » ont le sens du règlement (UE) 2016/679 (« RGPD »).
1. Objet
Cet accord fixe les conditions dans lesquelles le Sous-traitant traite, pour le compte du Responsable, les données personnelles des séances en ligne, décrites à l'annexe 1.
Il ne vise pas les traitements dont AArts Lab est lui-même responsable (comptes des membres, facturation, sécurité du service, prévention des abus), décrits dans la politique de confidentialité, section 2.
2. Durée
L'accord s'applique pendant la durée du contrat, puis jusqu'à la suppression ou la restitution des données prévue à l'article 11.
3. Obligations du Responsable
Le Responsable :
- décide des finalités des séances et des données qu'il y fait passer (qui il invite, avec quel nom et quelle adresse, s'il demande un code e-mail, ce qu'affiche le filigrane) ;
- dispose d'une base légale pour ces traitements, notamment pour le filigrane nominatif et le journal d'accès, et informe les invités (article 13 du RGPD) avant la séance. Un texte type d'information est proposé à l'annexe 5 ;
- ne fait passer par le service que les données nécessaires à la séance et, sauf nécessité, aucune donnée sensible au sens de l'article 9 du RGPD ;
- donne ses instructions par l'usage des réglages du service ou par écrit à contact@bernardengine.com.
4. Instructions
Le Sous-traitant ne traite les données que sur instruction documentée du Responsable. Les CGV, cet accord et les réglages choisis par le Responsable dans le player et la console constituent ces instructions.
Le Sous-traitant informe immédiatement le Responsable s'il estime qu'une instruction enfreint le RGPD ou une autre règle de protection des données. Si le droit de l'Union ou d'un État membre l'oblige à un traitement, il en informe le Responsable avant de le faire, sauf si ce droit l'interdit.
5. Confidentialité
Le Sous-traitant veille à ce que les personnes autorisées à traiter les données s'engagent à la confidentialité ou soient soumises à une obligation légale de confidentialité, et n'y accèdent que pour les besoins du service (exploitation, support demandé par le Responsable, sécurité).
6. Sécurité
Le Sous-traitant met en œuvre les mesures techniques et organisationnelles de l'annexe 3 (article 32 du RGPD). Il peut les faire évoluer, à condition de ne pas réduire le niveau de sécurité global.
7. Sous-traitants ultérieurs
Le Responsable donne une autorisation générale au Sous-traitant de recourir aux sous-traitants ultérieurs de l'annexe 2.
Le Sous-traitant informe le Responsable par e-mail de tout ajout ou remplacement, au moins 30 jours à l'avance. Le Responsable peut s'y opposer par écrit, pour un motif raisonnable lié à la protection des données, dans ce délai. À défaut de solution, il peut résilier le contrat sans pénalité avant l'entrée en fonction du nouveau sous-traitant ; les sommes payées d'avance pour la période non fournie lui sont remboursées au prorata.
Le Sous-traitant impose à chaque sous-traitant ultérieur, par contrat, des obligations de protection des données au moins équivalentes à celles de cet accord, et reste responsable de leur exécution envers le Responsable.
8. Transferts hors de l'Union européenne
Les données des séances sont hébergées en Allemagne. Le Sous-traitant ne les transfère pas hors de l'Espace économique européen, sauf instruction du Responsable ou garanties appropriées au sens des articles 44 à 49 du RGPD, dont il informe au préalable le Responsable.
9. Assistance au Responsable
Le Sous-traitant aide le Responsable, par des mesures adaptées et dans la mesure du possible :
- à répondre aux demandes d'exercice des droits des personnes : il lui transmet sans délai toute demande reçue d'un invité et n'y répond pas lui-même, sauf instruction. Le Responsable dispose déjà, dans la console, du journal d'accès et de son export (offre Studio et au-delà), et, pour son propriétaire, de l'export de toutes les données du studio (toutes les offres) ;
- à garantir la sécurité, à notifier les violations de données et à réaliser une analyse d'impact si elle est nécessaire (articles 32 à 36 du RGPD), en lui fournissant les informations dont il dispose sur le service.
Une assistance qui dépasse ce que le service fournit en standard peut être facturée au temps passé, sur devis accepté [À VALIDER].
10. Violations de données
Le Sous-traitant notifie au Responsable toute violation de données concernant les données des séances sans délai injustifié et au plus tard 48 heures après en avoir pris connaissance [À VALIDER : délai], par e-mail au propriétaire du studio. La notification décrit, dans la mesure du possible, la nature de la violation, les catégories et le nombre approximatif de personnes et de données concernées, ses conséquences probables et les mesures prises ou proposées. Les informations peuvent être données en plusieurs fois.
C'est au Responsable de notifier la CNIL et, le cas échéant, les personnes concernées.
11. Fin du traitement
À la fin du contrat, le Sous-traitant supprime les données des séances du Responsable automatiquement 30 jours après la fin de la période payée quand le studio est clôturé depuis la console (réglage RELAY_CLOSURE_GRACE_DAYS : 30 jours par défaut), sauf si le droit de l'Union ou d'un État membre en exige la conservation. Jusqu'à cette suppression, y compris pendant ces 30 jours où la console reste ouverte à son propriétaire en lecture seule, le Responsable restitue lui-même ses données : « Exporter les données du studio » produit une archive ZIP (membres, séances, journal d'accès, journal des événements, factures, pass, clés d'API sans secret), sur toutes les offres ; il peut aussi en demander une copie.
Les copies de sauvegarde sont effacées par rotation, au plus tard 14 jours après la suppression dans la base [À VÉRIFIER : plus la rétention des sauvegardes de disque de l'hébergeur, si elles sont activées].
Pendant le contrat, les données sont supprimées selon les durées de l'annexe 1.
12. Documentation et audits
Le Sous-traitant met à la disposition du Responsable les informations nécessaires pour démontrer le respect de l'article 28 du RGPD : cet accord et ses annexes, la description des mesures de sécurité, et les attestations disponibles de ses sous-traitants ultérieurs.
Le Responsable peut faire réaliser un audit, par lui-même ou par un auditeur indépendant tenu au secret et non concurrent du Sous-traitant, une fois par an au plus, sauf violation de données, avec un préavis de 30 jours, à ses frais, pendant les heures ouvrées et sans perturber le service ni compromettre la sécurité et la confidentialité des autres clients. L'audit ne donne pas accès aux installations de l'hébergeur, qui fait l'objet de ses propres certifications [À VÉRIFIER : certifications de Hetzner, par exemple ISO/IEC 27001].
13. Responsabilité
Chaque partie répond de ses manquements au RGPD et à cet accord dans les conditions de l'article 82 du RGPD et des CGV (article 21).
Annexe 1 — Description du traitement
| Finalité | permettre au Responsable de tenir des séances de revue à distance : relayer l'image, la voix, le chat et les annotations entre le pilote et les invités ; contrôler l'accès des invités (lien, mot de passe, code e-mail) ; afficher le filigrane nominatif ; tenir le journal d'accès |
| Nature des opérations | réception, relais en mémoire, envoi d'e-mails (codes), enregistrement et consultation du journal d'accès, suppression automatique |
| Personnes concernées | invités des séances ; membres du studio qui pilotent une séance |
| Catégories de données | nom affiché ; adresse e-mail de l'invité (facultative) ; adresse IP ; heures d'arrivée et de départ ; rôle dans la séance ; volume de données relayé ; motif de fin de connexion ; état des codes e-mail (empreinte, sans l'adresse) ; nom de la séance ; réglages du filigrane ; contenu relayé en direct (vidéo, voix, messages, notes vocales, annotations), non enregistré |
| Données sensibles | aucune attendue |
| Durées | invitation (nom, adresse) : dans le lien seulement, 12 heures au plus ; journal d'accès et journal des événements : 90 jours ; état des codes des invités : 24 heures après l'expiration du code ; code d'un invité : valable 10 minutes ; contenu relayé : le temps de la transmission, rien n'est enregistré ; séances non fermées : fermées au bout de 24 heures (4 heures pour un pass) ; lignes de séance : anonymisées 12 mois après la fin (nom, pilote, empreinte du mot de passe effacés) ; à la clôture du studio : tout est supprimé 30 jours après la fin de la période payée (délai d'export) ; journaux techniques du serveur : 14 jours ; sauvegardes : 14 jours |
| Lieu | Allemagne (Union européenne), chez Hetzner Online GmbH |
Annexe 2 — Sous-traitants ultérieurs
| Sous-traitant | Traitement | Données | Lieu | Garanties |
|---|---|---|---|---|
| Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen, Allemagne | hébergement des serveurs (relais, serveur vidéo, base, sauvegardes) | toutes les données de l'annexe 1 | Allemagne | [À VÉRIFIER : contrat de sous-traitance de Hetzner signé] |
| [À COMPLÉTER : prestataire d'envoi des e-mails] | envoi des codes à usage unique aux invités | adresse e-mail de l'invité, nom de la séance, code | [À COMPLÉTER : lieu] | [À COMPLÉTER : contrat de sous-traitance, garanties de transfert s'il y a lieu] |
Ne sont pas des sous-traitants ultérieurs :
- LiveKit (serveur vidéo et TURN) : logiciel libre installé et exploité par AArts Lab sur ses propres serveurs chez Hetzner ; aucune donnée n'est envoyée à la société LiveKit ;
- Stripe : il ne traite pas les données des séances ; il est le sous-traitant d'AArts Lab pour la facturation, qui relève de la responsabilité propre d'AArts Lab ;
- les fournisseurs d'identité du studio (Google, Microsoft ou autre fournisseur OpenID Connect) : le Responsable les choisit et contracte avec eux ; ils ne servent qu'à connecter ses membres, jamais les invités.
Note pour l'avocat : la consigne était de lister Google et Microsoft « seulement comme fournisseurs d'identité quand le studio choisit le SSO ». Nous les avons placés hors des sous-traitants ultérieurs, parce que le studio les choisit et qu'ils interviennent sur les données de connexion des membres (traitement propre d'AArts Lab), pas sur celles des séances. À valider.
Annexe 3 — Mesures de sécurité
Mesures en place dans la version actuelle du service, constatées dans le code et les scripts de déploiement :
Chiffrement des échanges
- HTTPS et WebSocket sécurisé seulement, TLS 1.2 ou 1.3, certificats Let's Encrypt renouvelés automatiquement ; HTTP redirigé vers HTTPS ; en-têtes HSTS (2 ans),
X-Frame-Options: DENY,X-Content-Type-Options: nosniff,Referrer-Policy: no-referrer, politique de permissions (caméra et géolocalisation interdites, micro limité au site). - Vidéo et voix en WebRTC (chiffrement DTLS-SRTP) ; serveur TURN intégré, joignable aussi en TLS sur le port 443 pour les studios dont le pare-feu n'ouvre que ce port.
- Console : aucune ressource extérieure (politique de sécurité du contenu
default-src 'self'), polices et bibliothèques servies par nos serveurs.
Contrôle d'accès
- Séances : lien d'invitation signé (HMAC, secret d'au moins 32 octets, rotation prévue), valable 12 heures au plus ; mot de passe de séance facultatif ; code à usage unique envoyé à l'adresse de l'invité, en option par invitation ou pour toute la séance (valable 10 minutes, 5 essais, un envoi par minute et 5 par heure).
- Révocation de toutes les invitations d'une séance ; l'invité qui quitte la séance est retiré du flux vidéo ; jeton d'accès au flux vidéo valable 5 minutes pour le rejoindre, 6 heures au plus.
- Console et player : connexion par code e-mail à usage unique (10 minutes, verrouillage de l'adresse 15 minutes après 5 erreurs, réponses identiques pour un membre et un inconnu) ou par le SSO du studio (OpenID Connect, code d'autorisation avec PKCE S256,
stateetnonce, domaines e-mail autorisés en correspondance exacte ; le jeton du relais ne passe jamais dans une adresse) ; jeton de connexion valable 8 heures. - Rôles dans le studio (propriétaire, administrateur, pilote, facturation) ; une personne « facturation » ne peut agir ni sur les séances, ni sur le journal, ni sur les clés.
- Clés d'API personnelles ou d'automatisation, révocables, avec expiration facultative ; chaque usage d'une clé d'automatisation est journalisé.
- Limitation du nombre de requêtes par adresse IP sur les connexions, les codes et les mots de passe.
Secrets conservés
- Jetons d'hôte hachés (SHA-256), mots de passe de séance hachés (Argon2id), clés d'API hachées, codes e-mail conservés sous forme d'HMAC : aucun de ces secrets n'est stocké en clair.
- Secrets du serveur dans des fichiers lisibles par l'administrateur seul (mode 0600), jamais dans le dépôt de code.
Journalisation
- Journal d'accès des séances et journal des événements, sans aucun contenu (ni chat, ni annotations, ni voix), conservés 90 jours puis purgés automatiquement ; export CSV protégé contre l'injection de formules.
- Journaux du serveur web : jetons, mots de passe et clés masqués dans les adresses ; en-têtes d'authentification et cookies supprimés. Serveur vidéo réglé pour ne pas journaliser les identifiants TURN. Journaux techniques du serveur gardés 14 jours au plus, puis supprimés automatiquement.
- Le filigrane nominatif de chaque invité utilise l'adresse IP vue par le relais, qu'un participant ne peut pas falsifier.
Absence d'enregistrement
- Aucun service d'enregistrement du serveur vidéo n'est déployé : la vidéo et la voix ne peuvent pas être enregistrées côté serveur.
- Chat et annotations relayés en mémoire, jamais écrits en base.
Serveur et exploitation
- Pare-feu de l'hébergeur et pare-feu du serveur (UFW) limités aux ports nécessaires ; métriques servies seulement en local.
- Mises à jour de sécurité automatiques du système ; conteneurs du relais exécutés sous un utilisateur non privilégié ; journaux des conteneurs gardés 14 jours au plus.
- Fermeture automatique des séances au bout de 24 heures (4 heures pour un pass).
- Sauvegarde chaque nuit (03 h 15 UTC) d'une copie cohérente et vérifiée de la base, archive accessible à l'administrateur seul, conservée 14 jours.
Limites connues [À COMPLÉTER : décisions sur ces points avant publication]
- Les sauvegardes sont sur le même serveur (et, le cas échéant, dans les sauvegardes de disque de l'hébergeur) : pas de copie hors site.
- Le chiffrement du disque au repos n'est pas configuré par les scripts de déploiement [À VÉRIFIER].
- [À COMPLÉTER : mesures organisationnelles : personnes ayant accès aux serveurs, authentification de l'administration, procédure de gestion des incidents, test de restauration.]
Annexe 4 — Contacts
- AArts Lab : contact@bernardengine.com, y compris pour les questions de protection des données [À COMPLÉTER : contact dédié aux incidents de sécurité, s'il diffère].
- Responsable : l'adresse e-mail du propriétaire du studio, sauf autre contact indiqué par écrit.
Annexe 5 — Texte type d'information des invités (à adapter par le studio)
[Nom du studio] vous invite à une séance de revue à distance sur Bernard Review. Pour cette séance, [nom du studio] traite votre nom, [votre adresse e-mail,] votre adresse IP et vos heures de connexion, afin de contrôler l'accès au contenu montré et de savoir qui y a assisté. Ces informations peuvent être incrustées sur votre écran (filigrane) pour protéger le contenu. La séance n'est pas enregistrée par AArts Lab, qui héberge le service pour le compte de [nom du studio]. Le journal de connexion est gardé 90 jours. Pour exercer vos droits : [contact du studio].