Skip to main content

Ce document présente une vue d'ensemble des politiques de sécurité et de protection des données de Purple, destinée à répondre aux questions fréquemment posées par les clients de manière transparente et conviviale.

Données et sécurité des données

Données en transit

Tous les portails et sites web accessibles au public sont chiffrés avec TLS (Transport Layer Security). TLS est la technologie de sécurité standard permettant d'établir un lien chiffré entre un serveur web et un navigateur. Ce lien garantit que toutes les données transmises entre le serveur web et les navigateurs restent privées et intègres. Purple prend en charge TLS 1.2 au minimum.

Purple examine régulièrement les chiffrements TLS proposés et supprime ceux qui ne répondent plus aux exigences de sécurité minimales.

Données au repos

Toutes les données hébergées par Purple sont stockées au sein de services cloud tels que Google Cloud (GCP) ou Amazon Web Services (AWS), et tous les disques hébergeant des données sont chiffrés (AES-256) en utilisant les contrôles de sécurité disponibles chez ces fournisseurs cloud.

Tous les mots de passe sont chiffrés avec la fonction de hachage bcrypt.

Protection des données

Purple héberge et traite les données conformément aux normes du GDPR de l'UE.

Toutes les finalités des données et les droits sont expliqués clairement et de manière transparente à l'utilisateur final dans le CLUF et la politique de confidentialité de Purple, présentés en termes concis et conviviaux.

Un consentement actif distinct est sollicité pour toutes les autorisations marketing au sein de l'UE et lorsque cela est activé par les clients ailleurs. Tout CLUF ou consentement est enregistré pour l'utilisateur et le lieu, avec la date, l'heure et la langue du consentement. Une fois connecté, l'utilisateur reçoit un lien vers un profil utilisateur final où il peut consulter les données détenues à son sujet, voir (et modifier) les consentements marketing et supprimer immédiatement toutes les données collectées le concernant.

De plus, les utilisateurs peuvent envoyer un e-mail au délégué à la protection des données (DPO) de Purple (via une adresse e-mail clairement affichée) pour toute question, pour toute modification de leurs données ou pour exercer leur droit à l'oubli.

Les données ne sont utilisées que pour les finalités déclarées, et Purple ne collecte pas plus de données que ce qui est strictement nécessaire (bien que les clients individuels décident de leurs propres utilisations des données et configurent le portail pour collecter les informations dont ils ont besoin, ainsi que pour télécharger leurs propres CLUF et politiques de confidentialité supplémentaires si nécessaire, dont le consentement est suivi individuellement).

Purple a une période de conservation des données déclarée de 13 mois d'inactivité, après quoi toutes les données PII concernant un client sont détruites.

Captive Portal

Le Captive Portal est le mécanisme par lequel les utilisateurs acceptent les conditions d'utilisation de Purple, fournissent les informations d'authentification requises par le client avant d'autoriser l'accès au WiFi, et consentent à toute action marketing.

Lorsqu'un utilisateur rejoint un SSID Purple et atteint la page d'accueil, l'adresse MAC de son appareil et son agent utilisateur sont stockés, ainsi que l'adresse MAC du point d'accès (et donc le lieu où se trouve l'utilisateur). Lorsqu'un utilisateur se connecte via le WiFi, toutes les données utilisateur fournies sont également stockées dans son profil. Les données exactes collectées varient en fonction de la méthode de connexion choisie et de la configuration créée par le client, mais peuvent inclure des informations personnellement identifiables (PII ; voir la section PII ci-dessous), ainsi que d'autres informations potentiellement sensibles telles que les mentions « J'aime » Facebook d'un utilisateur. Ces données sont soit soumises par l'utilisateur via un formulaire web, soit transférées depuis son compte de réseau social s'il en accorde l'accès. Les données en transit via le Captive Portal sont toujours sécurisées via TLS, et toutes les données collectées sont initialement stockées localement sur le logiciel du Captive Portal dans un magasin de documents.

Une fois qu'un utilisateur est connecté, les données de comptabilité RADIUS doivent être transmises du contrôleur réseau aux serveurs RADIUS de Purple, fournissant des métriques de base sur l'utilisation du réseau : l'heure de début et de fin de session, la raison de la fin de session, ainsi que les données téléchargées et téléversées.

Données DNS

Si configuré par le client, Purple peut également collecter des données de recherche de domaine via une société tierce, DNSFilter, en utilisant les propres serveurs DNS de DNSFilter (le même mécanisme pour bloquer l'accès aux sites web interdits). Les recherches de domaine sont enregistrées par rapport à l'adresse IP web du lieu et ne sont pas traçables jusqu'à un utilisateur ou un appareil individuel.

Services basés sur la localisation

Les données de localisation sont des données collectées passivement sur les appareils (authentifiés ou non) par des points d'accès réseau compatibles. En règle générale, un point d'accès enregistre une valeur d'indication de force du signal reçu (RSSI), une adresse MAC (qui peut être aléatoire, selon le logiciel client) et une date/heure pour chaque sonde WiFi client. Avec le matériel approprié et 4 points d'accès ou plus, ces données peuvent être améliorées pour obtenir une coordonnée géométrique estimée de l'appareil par rapport au plan d'étage téléchargé.

Lorsqu'une adresse MAC client est reconnue comme s'étant déjà connectée via Purple par le passé, certaines données démographiques peuvent être associées aux enregistrements de données de localisation (genre, âge). Lorsqu'un utilisateur s'est déjà connecté à ce lieu et a accepté les conditions générales du lieu, un appareil reconnu sera lié à l'enregistrement utilisateur, que l'utilisateur soit actuellement authentifié au WiFi ou non.
Purple soutient volontairement le Future of Privacy Forum (fpf.org), via lequel un utilisateur peut refuser le suivi de l'adresse MAC client sur une gamme de services.

Purple ne stocke pas de données sur les adresses MAC aléatoires (appareils comme les iPhones modernes qui ne présentent pas leurs véritables adresses MAC tant qu'ils ne sont pas authentifiés au WiFi), et les adresses MAC anonymes (adresses qui ne se sont pas authentifiées au WiFi) sont hachées de manière unidirectionnelle avec un sel spécifique à l'entreprise lors de l'exportation pour empêcher le partage de données sur des appareils anonymes et les comparaisons avec des sources de données tierces.

Connecteurs

Les clients peuvent configurer des « Connecteurs », qui sont des intégrations tierces copiant des données vers ou depuis l'hébergement de Purple. Ces informations sont généralement des données CRM de base sur les utilisateurs finaux (par exemple, des noms et adresses e-mail exportés vers des listes d'e-mails tierces, sous des comptes gérés par la même entreprise).

Les données de connexion/session des connecteurs sont stockées de manière chiffrée.

API

Une API RESTful existe pour extraire la plupart des données des utilisateurs finaux au format brut. L'accès à ce service se fait via des clés publiques/privées signées, fournies sur demande par l'équipe de support Purple une fois que les droits du client sur les données ont été vérifiés. L'accès aux API Purple est chiffré en transit via HTTPS, les demandes sont signées avec un nonce pour empêcher les attaques par rejeu, et un journal d'audit complet existe pour toutes les demandes, y compris l'adresse IP source des demandes.

Webhooks

Les utilisateurs peuvent également définir des Webhooks qui déclenchent l'exportation de données lors de certaines actions (par exemple, un utilisateur se connectant au WiFi) via un POST HTTPS vers un point de terminaison défini par l'utilisateur, ce qui permet des réponses en temps réel aux événements. Ces points de terminaison doivent être en HTTPS avec un certificat valide, et sont vérifiés par en-tête.

Informations personnellement identifiables (PII)

Selon la configuration du Captive Portal par le client et la méthode d'accès choisie par l'utilisateur final, Purple peut capturer et stocker les données suivantes classées par Purple comme PII : prénom, nom, date de naissance, adresse e-mail, numéro de mobile et identifiant utilisateur social (par exemple, identifiant Facebook). De plus, Purple peut collecter d'autres données classées comme potentiellement personnellement identifiables lorsqu'elles sont combinées avec d'autres données : adresse MAC client/appareil, genre, date/heure de connexion, mentions « J'aime » Facebook, localisation/ville d'origine Facebook/Twitter, code postal.

Les données PII sont stockées dans trois emplacements : le magasin de documents d'accès (où l'utilisateur se connecte au WiFi), le magasin de données analytiques central (où les données sont stockées/traitées) et dans le magasin de documents de profil orienté utilisateur final (où l'utilisateur final lui-même peut examiner, modifier et supprimer ses propres données). Elles sont chiffrées dans les trois emplacements, comme détaillé ci-dessus.

Lorsqu'un utilisateur demande à être oublié ou lorsqu'un utilisateur est resté inactif assez longtemps pour atteindre la fin de la période de conservation des données, toutes les données PII sont supprimées de l'enregistrement utilisateur et les sessions de l'utilisateur deviennent anonymes. Purple conserve des informations démographiques anonymes de base : l'âge et le genre de l'utilisateur au moment de la connexion.

Il est possible pour les clients d'ajouter des champs de données personnalisés ou des questions d'enquête à remplir par l'utilisateur, ce qui peut inclure d'autres données PII telles que des numéros d'identification nationale ou des numéros de passeport. Toutes ces données personnalisées sont traitées comme des PII.

Paiements

Purple ne traite ni ne stocke aucune donnée financière des utilisateurs. Tous les paiements sont effectués via une communication directe entre l'utilisateur final et notre fournisseur de passerelle de paiement « Stripe » (www.stripe.com). Stripe est entièrement conforme à la norme PCI-DSS. Purple enregistre uniquement un identifiant de transaction unique à des fins de remboursement potentiel.

Conformité ISO

Purple est conforme aux normes ISO 9001 pour ses pratiques commerciales et ISO 27001 pour la sécurité et le stockage des données. L'entreprise est auditée chaque année par une société tierce accréditée pour vérifier que nous restons conformes. Cela s'ajoute à nos propres audits internes et revues de direction. La certification peut être fournie sur demande.

Souveraineté des données

Toutes les données recueillies par la plateforme Purple résident dans l'un des trois sites d'hébergement GCP, en fonction de la localisation géographique du client, comme suit :

  • Californie pour l'Amérique du Nord et du Sud
  • Londres, Royaume-Uni et Amsterdam, Pays-Bas pour l'Europe, l'Afrique et le Moyen-Orient
  • Sydney pour l'APAC, l'APJ, l'ASEAN et l'ANZ

Purple est conforme aux exigences régionales en matière de stockage/confidentialité des données lorsqu'elles sont mises en œuvre, afin de conserver les données dans les limites géographiques déterminées par la législation locale.

Rétention des données

Toutes les données des utilisateurs sont anonymisées après une période de 13 mois d'inactivité. Cela signifie que Purple stockera les données personnelles d'un utilisateur, sous leur forme complète, pendant au moins 13 mois, et qu'après 13 mois d'inactivité (sans reconnexion au WiFi), nous supprimerons tout ce qui est considéré comme personnellement identifiable. Cela inclut le nom, l'adresse e-mail, le numéro de téléphone, etc. Cependant, nous conservons les informations non identifiables telles que l'âge et le sexe au moment de la connexion, ainsi que les métadonnées de session telles que l'heure de connexion, l'utilisation des données réseau et la méthode de connexion utilisée.

Purple peut supprimer les données brutes plus rapidement. Par exemple, les enregistrements de données de localisation individuels provenant des services de localisation peuvent être supprimés après 24 heures, mais un enregistrement agrégé indiquant quand l'appareil était présent sur un plan d'étage et quelles zones ont été visitées sera conservé.

Stockage et sauvegarde des données

Toutes nos bases de données sont répliquées vers une instance secondaire dans une zone différente. La réplication est en temps réel. En cas de maintenance planifiée de la base de données, de défaillance de l'instance de base de données ou de défaillance d'une zone, le service cloud concerné (par exemple, Amazon RDS ou Google CloudSQL) basculera automatiquement vers le mode veille. Cela signifie que nous n'avons pas de point de défaillance unique.

Purple effectue des instantanés quotidiens sur toutes les bases de données, ce qui signifie que nous avons la possibilité de restaurer notre base de données rapidement si le besoin s'en fait sentir.

Propriété des données

Le client aura la pleine propriété et l'accès aux données de l'utilisateur final et engage Purple en tant que processeur de données pour fournir la solution. Les données sont hébergées dans la région où elles sont collectées – par exemple, les données des clients en Amérique du Nord seront hébergées dans le cloud américain.

Composants de l'application

Captive portal

Lorsqu'un utilisateur se connecte à un SSID, il est redirigé vers une page d'accueil de Captive portal hébergée par Purple. Cette page d'accueil est configurable par les clients de Purple et présentera à l'utilisateur une ou plusieurs méthodes d'accès (par exemple, un formulaire d'inscription ou une connexion via les réseaux sociaux comme Facebook). Après avoir choisi une méthode d'accès, l'utilisateur verra apparaître une fenêtre contextuelle de conditions générales qu'il devra accepter pour continuer. Cette fenêtre contient des liens vers les conditions d'utilisation, la politique de confidentialité de Purple et toutes les conditions définies par l'utilisateur. En cas de refus des conditions, l'utilisateur sera renvoyé à la page d'accueil. En acceptant les conditions, l'utilisateur remplira le formulaire ou accordera à Purple un accès OAuth via une plateforme de réseau social. Purple autorisera ensuite l'utilisateur sur notre serveur RADIUS et le redirigera vers le contrôleur réseau qui libérera l'utilisateur du Captive portal afin qu'il puisse accéder à Internet.

Les pages d'accueil du Captive portal sont hébergées sur des nœuds d'accès, qui sont une application PHP à mise à l'échelle élastique soutenue par une base de données NoSQL évolutive. Le contenu statique est servi depuis Cloudfront d'Amazon.
Nos serveurs RADIUS sont des serveurs FreeRADIUS qui stockent les données sur une base de données GCP Cloud SQL.

Collecte de données de localisation / présence

Les services basés sur la localisation tels que Cisco MSE, Ruckus SPOT ou Meraki Cloud peuvent être utilisés avec le produit. Ceux-ci collectent les adresses MAC des appareils compatibles WiFi à portée des points d'accès réseau et fournissent soit des informations RSSI de base (qui peuvent être utilisées pour estimer la distance par rapport au point d'accès afin de dériver des statistiques de fréquentation, de temps de séjour, de conversion et de taux de rebond), soit des coordonnées X/Y estimées qui peuvent être utilisées pour placer un utilisateur sur une carte et suivre les chemins qu'il emprunte autour d'un lieu. Les données de localisation peuvent être liées aux utilisateurs WiFi connus via l'adresse MAC.

Portail client

Le portail est l'application où les revendeurs et les clients gèrent leurs licences, leur infrastructure et consultent les rapports. L'accès à cette application est contrôlé par nom d'utilisateur et mot de passe. Les comptes utilisateurs peuvent se voir attribuer des droits granulaires (accès en lecture ou en écriture à de nombreuses sections individuelles du portail) et sont assignés de manière hiérarchique (par exemple, avec des droits sur un seul lieu, un groupe de lieux, une entreprise entière ou un revendeur entier, etc.). Les droits de plateforme sont accordés par des utilisateurs individuels, et un utilisateur ne peut pas accorder ou révoquer des droits au-delà de son propre périmètre.

Lorsqu'un nouvel utilisateur du portail est créé, il reçoit un nom d'utilisateur (e-mail) et un mot de passe généré aléatoirement par e-mail. Lors de la première connexion, il lui est demandé de changer ce mot de passe pour celui de son choix, qui doit comporter plus de 8 caractères et contenir à la fois des chiffres et des lettres majuscules. L'utilisateur doit changer son mot de passe tous les 90 jours et n'est pas autorisé à réutiliser un mot de passe des 12 derniers mois.

Radius

Tout trafic vers notre serveur Radius doit être authentifié avec un identifiant de station appelée et un mot de passe. Sans cela, l'accès au trafic est refusé. Pour plus de sécurité, un mot de passe à usage unique est également créé et, une fois utilisé, il est supprimé et ne peut plus être utilisé.

Gestion du personnel, procédures et politiques

Accès du personnel

L'accès au système de Purple au sein de GCP est strictement limité aux membres clés du personnel, ce qui est révisé régulièrement pour garantir que seuls les membres du personnel appropriés disposent de comptes.

Des entrepreneurs et des sociétés d'externalisation sont parfois engagés pour effectuer des travaux de développement initiaux. L'accès aux données en direct, aux serveurs ou aux services et au code existant est strictement interdit, et tout code produit est soumis à la même révision par les pairs que tout code créé par notre équipe interne.

Les rôles d'accès du personnel sont clairement définis et révisés trimestriellement et lors de tout changement de contrat. L'accès aux données et aux applications est établi sur la base du moindre privilège, les utilisateurs n'ayant accès qu'à ce dont ils ont besoin pour remplir leur rôle aussi longtemps qu'ils en ont besoin. Le personnel dispose de droits d'accès minimaux pendant sa période d'essai de trois mois, et les non-employés (par exemple, les entrepreneurs) n'ont accès à aucune donnée client, service en direct ou référentiel de code.

Les procédures de développement et de test sont clairement définies dans notre politique de développement sécurisé. Tout code est soumis via une demande de tirage (pull request) et révisé par les pairs de l'équipe et au moins deux développeurs seniors avant la fusion. Il passe ensuite par un processus de test de régression avec notre équipe QA qui crée et maintient des feuilles de test standardisées. Les tests unitaires sont utilisés dans toute la base de code, et le développement piloté par les tests est encouragé. L'UAT peut être effectuée avec des partenaires sélectionnés avant la publication de nouvelles fonctionnalités importantes sous forme de versions bêta/essais.

Versions

Les déploiements ont lieu au moins chaque semaine pour la maintenance générale et les corrections de bugs sont déployées selon les besoins. Les versions importantes suivent un calendrier de déploiement trimestriel. Tous les déploiements passent par la plateforme de test de Purple pour une validation finale par notre équipe QA.

Gestion des vulnérabilités/menaces

Purple effectue des tests automatisés mensuels d'analyse des vulnérabilités/menaces sur toutes nos applications et infrastructures, et à chaque changement significatif (versions de code importantes, changements d'infrastructure/architecture ou après des mises à jour logicielles). Les correctifs logiciels sont appliqués au moins chaque semaine. Si une vulnérabilité est découverte lors de ces tests, la menace sera évaluée en fonction de son niveau d'impact et corrigée immédiatement si cela est jugé nécessaire, ou le correctif sera intégré à la version suivante.

Un test/audit de pénétration complet par un tiers est effectué par notre partenaire de sécurité selon les besoins et au moins une fois par an.

Réponse aux incidents

Dans le cadre de la certification ISO 27001 de Purple, nous mettons en œuvre une politique de signalement des incidents de sécurité qui donne au personnel des directives claires pour protéger l'intégrité des données collectées par Purple. Cela garantit que les incidents de sécurité, ou les incidents potentiels, sont identifiés, portés à l'attention du responsable de la sécurité de l'information/délégué à la protection des données et traités de manière appropriée à l'urgence et à l'impact de la violation.

Purple tient à jour une liste des contacts chargés de la protection des données chez tous les clients, et ces clients sont informés dès que possible de toute violation les concernant.

Départ du personnel

Purple dispose d'une procédure claire pour le départ du personnel. Les demandes de suppression de l'accès aux systèmes et de récupération du matériel sont enregistrées en tant que demandes de changement sur le service desk interne.