Résidence, sous-traitants et vie privée
Cette page dit où vivent vos données, qui d'autre les touche, et ce que chacun voit réellement. Elle est publique parce qu'une affirmation qu'on ne peut pas vérifier ne vaut pas mieux que pas d'affirmation du tout.
Où vivent les données
Écho tourne dans la région `canadacentral` de Microsoft Azure, à Toronto. Le service et sa base de données y sont, et nulle part ailleurs. Il est exploité par une société québécoise, soumise au droit québécois et canadien.
Ce n'est pas un détail de configuration. La Loi 25 impose une évaluation des facteurs relatifs à la vie privée pour chaque communication de renseignements personnels hors Québec. Un outil dont le siège et l'infrastructure sont ici réduit cette évaluation à peu de chose ; un outil américain, même avec des serveurs au Canada, ne la réduit pas du tout.
Ce que la livraison des notifications communique, et ce qu'elle ne communique pas
C'est le point le plus important de cette page, et le plus contre-intuitif.
Écho ne choisit pas son transporteur. Quand votre navigateur s'abonne aux notifications, il désigne lui-même le service de push de son éditeur : Google pour Chrome et Android, Apple pour Safari et iOS, Mozilla pour Firefox. Ces trois-là sont aux États-Unis. Livrer une notification veut donc nécessairement dire émettre une requête vers l'un d'eux. Dans nos applications iOS et Android, il n'y a pas davantage de choix : le système d'exploitation impose le sien.
Ce qu'ils ne peuvent pas lire. Le contenu est chiffré de bout en bout selon la RFC 8291, avec une clé générée sur votre appareil et connue de lui seul et d'Écho. Le service de push ne détient pas cette clé. Il transporte un bloc d'octets qu'il ne peut pas ouvrir. Sont donc hors de sa portée :
le titre de la notification ;
son corps ;
le lien attaché ;
la catégorie et toute donnée applicative.
Ce n'est pas une garantie contractuelle qu'il faudrait nous croire sur parole. C'est une propriété cryptographique du protocole — vérifiable par quiconque veut la vérifier.
Et cela vaut aussi dans nos applications iOS et Android. Il faut le souligner, parce que c'est là que la plupart des produits abandonnent : par défaut, les services d'Apple et de Google transportent la notification en clair pour une application mobile, et la lisent. Écho ne s'en remet pas à ce défaut. Il chiffre lui-même avant de leur remettre le bloc, et c'est l'application, sur votre téléphone, qui l'ouvre — la clé privée est déposée dans le Keychain ou le Keystore et n'en sort jamais.
Autrement dit, la promesse de cette page ne s'est pas affaiblie en arrivant sur mobile : elle tient désormais sur trois transports au lieu de deux.
Ce qu'ils voient quand même. Il faut le dire aussi :
l'identifiant opaque de votre appareil chez eux, qu'ils ont eux-mêmes émis : il ne contient ni votre nom, ni votre courriel, ni votre identifiant Écho ;
dans les applications mobiles, le fait qu'Écho soit installé sur votre appareil — qu'ils savent de toute façon, puisque vous l'avez installé depuis leur magasin ;
la taille approximative du bloc chiffré ;
l'horodatage de chaque livraison, donc une fréquence. C'est le renseignement résiduel le plus significatif : un observateur peut inférer qu'un appareil reçoit des notifications, et à quel rythme, sans jamais savoir lesquelles ;
l'adresse IP de nos serveurs, pas la vôtre ;
notre identité d'émetteur, par la clé VAPID (RFC 8292) — c'est voulu, elle nous distingue d'un abus et permet d'être limité en débit plutôt que bloqué.
Les images, et le tiers qu'elles ajouteraient. Quand une notification porte une image, il y a un quatrième acteur possible : l'hébergeur de cette image, que l'expéditeur a choisi et que nous ne pouvons pas nommer sur cette page. Si votre appareil allait la chercher lui-même, cet hébergeur apprendrait votre adresse IP, votre opérateur, votre position approximative et l'instant exact où votre écran s'est allumé — un accusé de réception sur un écran verrouillé, remis à quelqu'un dont vous n'avez jamais entendu parler.
Votre appareil ne va pas la chercher. C'est Écho qui émet la requête, une seule fois, depuis ses propres serveurs, et la notification ne transporte qu'un lien vers nous. Ce que l'hébergeur voit est donc l'adresse IP de nos serveurs, exactement comme pour le reste de cette section — jamais la vôtre, et jamais celle d'un appareil.
Ce qu'il apprend quand même, et il faut le dire : le moment où l'image est demandée pour la première fois, qui n'est pas le moment où la notification a été composée. Nous n'allons la chercher que lorsqu'un premier appareil s'apprête à l'afficher. Cela reste un renseignement de temps, du même ordre que la fréquence décrite plus haut, mais il porte sur nos serveurs et non sur vous. Deux conséquences qui vont dans votre sens : la requête est faite une fois quels que soient le nombre de vos appareils, et si aucun d'eux n'affiche jamais l'image, l'hébergeur n'est jamais contacté.
L'évaluation complète, avec sa méthode et ses conclusions, est dans docs/loi25-efvp-web-push.md du dépôt.
Vos droits
Vous pouvez, à tout moment et depuis vos réglages :
consulter ce qui est conservé à votre sujet ;
exporter vos données dans un format lisible par une machine ;
effacer votre compte, ce qui efface tout ce qui s'y rattache ;
choisir la durée de conservation du tampon serveur, par catégorie, jusqu'à zéro.
Aucune de ces opérations ne demande d'écrire à qui que ce soit.
Nous joindre
Les coordonnées du responsable de la protection des renseignements personnels figurent au bas de cette page et de la politique de confidentialité.
Les sous-traitants
Qui d’autre touche à quelque chose, et ce que chacun voit réellement. La deuxième colonne est celle qui compte : savoir qu’un fournisseur est dans la chaîne n’apprend rien tant qu’on ne sait pas ce qu’il peut lire.
| Qui | Ce qu’il fait | Ce qu’il voit | Où |
|---|---|---|---|
| Microsoft Azure (canadacentral) | Hébergement du service et de la base de données. | Tout ce qu’Écho conserve, puisque les serveurs et la base y tournent — dans la région canadacentral, à Toronto. C’est le seul sous-traitant qui voit du contenu en clair. | Canada (Ontario) |
| Google (FCM), Apple (APNs), Mozilla (Autopush) | Transport de la notification jusqu’à l’appareil, dans un navigateur comme dans l’application. Dans un navigateur, Écho ne choisit pas son transporteur : c’est le navigateur qui le désigne. Dans l’application iOS ou Android, la plateforme n’en propose qu’un. | Un bloc chiffré qu’ils ne peuvent PAS déchiffrer (RFC 8291) : ni le titre, ni le corps, ni le lien, ni la catégorie. Cela vaut à l’identique dans l’application native, où Écho chiffre lui-même avant de remettre le bloc à APNs ou à FCM — alors que le défaut de ces deux services est de transporter la notification en clair. Ils voient l’identifiant opaque de l’appareil qu’ils ont eux-mêmes émis, la taille approximative du bloc, l’horodatage — donc une fréquence —, et l’adresse IP de nos serveurs, pas celle de la personne. | États-Unis |
| Zitadel | Authentification. Il vérifie qui vous êtes ; il ne voit aucune notification. | Votre adresse de courriel et vos horodatages de connexion. Rien du contenu d’Écho. | Auto-hébergé, Canada |
| Twilio | Repli SMS et appel vocal, uniquement au palier Équipe et uniquement lors d’une escalade. | Le numéro appelé et le texte du message d’alerte — nom du service et titre. Un SMS n’est pas chiffrable de bout en bout : c’est la contrepartie assumée d’un canal qui fonctionne quand tout le reste est tombé. | États-Unis |
| Stripe | Facturation. | Le nom, l’adresse de facturation et le moyen de paiement. Aucun numéro de carte n’entre dans Écho : le paiement se fait sur les pages de Stripe. | États-Unis |
- Microsoft Azure (canadacentral)
- Ce qu’il fait
- Hébergement du service et de la base de données.
- Ce qu’il voit
- Tout ce qu’Écho conserve, puisque les serveurs et la base y tournent — dans la région canadacentral, à Toronto. C’est le seul sous-traitant qui voit du contenu en clair.
- Où
- Canada (Ontario)
- Google (FCM), Apple (APNs), Mozilla (Autopush)
- Ce qu’il fait
- Transport de la notification jusqu’à l’appareil, dans un navigateur comme dans l’application. Dans un navigateur, Écho ne choisit pas son transporteur : c’est le navigateur qui le désigne. Dans l’application iOS ou Android, la plateforme n’en propose qu’un.
- Ce qu’il voit
- Un bloc chiffré qu’ils ne peuvent PAS déchiffrer (RFC 8291) : ni le titre, ni le corps, ni le lien, ni la catégorie. Cela vaut à l’identique dans l’application native, où Écho chiffre lui-même avant de remettre le bloc à APNs ou à FCM — alors que le défaut de ces deux services est de transporter la notification en clair. Ils voient l’identifiant opaque de l’appareil qu’ils ont eux-mêmes émis, la taille approximative du bloc, l’horodatage — donc une fréquence —, et l’adresse IP de nos serveurs, pas celle de la personne.
- Où
- États-Unis
- Zitadel
- Ce qu’il fait
- Authentification. Il vérifie qui vous êtes ; il ne voit aucune notification.
- Ce qu’il voit
- Votre adresse de courriel et vos horodatages de connexion. Rien du contenu d’Écho.
- Où
- Auto-hébergé, Canada
- Twilio
- Ce qu’il fait
- Repli SMS et appel vocal, uniquement au palier Équipe et uniquement lors d’une escalade.
- Ce qu’il voit
- Le numéro appelé et le texte du message d’alerte — nom du service et titre. Un SMS n’est pas chiffrable de bout en bout : c’est la contrepartie assumée d’un canal qui fonctionne quand tout le reste est tombé.
- Où
- États-Unis
- Stripe
- Ce qu’il fait
- Facturation.
- Ce qu’il voit
- Le nom, l’adresse de facturation et le moyen de paiement. Aucun numéro de carte n’entre dans Écho : le paiement se fait sur les pages de Stripe.
- Où
- États-Unis
La question du CLOUD Act
Une entreprise américaine reste soumise au CLOUD Act quel que soit l’emplacement de ses serveurs : une injonction américaine peut viser les données qu’elle détient, y compris hébergées au Canada. « Serveurs au Canada » chez un fournisseur américain n’est donc pas une réponse à la question que pose la Loi 25. Écho est exploité par une société québécoise, sur une infrastructure canadienne. Les sous-traitants américains listés plus haut ne détiennent pas de contenu lisible, sauf Twilio, qui ne reçoit que ce qu’une escalade lui remet.
Pratiques de sécurité
- Chiffrement
- HTTPS partout, et le contenu des notifications chiffré de bout en bout vers Apple, Google et Mozilla selon la RFC 8291 — sur les trois transports : le Web Push, APNs et FCM. Ce n’est pas une garantie contractuelle : c’est une propriété du protocole, donc invérifiable seulement pour qui ne veut pas vérifier. Le chiffrement de l’application native emploie la même bibliothèque que celui du navigateur, et un test le déchiffre à la main, sans elle, pour que les deux ne puissent pas diverger en silence.
- Cloisonnement
- Chaque requête à la base passe par un client restreint à un compte, ou à une organisation. Le filtre est injecté par le code d’accès lui-même, pas ajouté à la main dans chaque requête, et une suite de tests refuse la mise en production d’un modèle qui aurait été oublié.
- Conservation
- L’historique vit sur votre appareil. Le serveur ne garde qu’un tampon, dont vous choisissez la durée par catégorie — jusqu’à zéro, ce qui veut dire livrer sans rien conserver.
- Identités
- Un appareil appairé garde une identité pendant 365 jours. Si aucune adresse de notification ne lui est jamais rattachée — permission refusée sur le téléphone, pas de réseau au moment de l’appairage — elle est révoquée après 14 jours : c’est la seule qui puisse répondre à une question sans que le téléphone soit déverrouillé, donc elle ne survit pas à l’appareil qui ne s’est jamais présenté. Une identité arrivée au bout de ses 365 jours n’est pas seulement refusée à la porte : elle est révoquée par le balayage de conservation, au plus tard 1 heure après son expiration — et c’est cette révocation, et non le simple refus à la porte, qui rend juste le nombre d’identités actives que vous lisez dans vos réglages. Se tromper ici ne coûte rien de silencieux — l’application affiche « Non appairé » et un appairage la rétablit. Quand vous retirez un appareil, nous gardons le fait que vous l’avez retiré, le temps que l’identité qu’il pourrait encore présenter expire d’elle-même, pour qu’il ne puisse pas se réinscrire tout seul. Un enregistrement d’application tierce qui n’a jamais servi est effacé après 30 jours. Une identité révoquée qui n’a jamais servi une seule fois — jamais présentée, pas même pour enregistrer le téléphone — est effacée 30 jours après sa révocation : elle ne documente rien, puisque personne ne l’a jamais tenue. Les autres restent : une identité qui a servi garde sa ligne, révoquée, datée, avec les pouvoirs qu’elle portait, parce que c’est ce qui répond à « qu’est-ce que ceci pouvait atteindre » après une fuite.
- Incident
- Procédure écrite d’avis à la Commission d’accès à l’information et aux personnes concernées, conforme à l’article 3.5 de la Loi 25, avec registre des incidents de confidentialité.
Responsable de la protection des renseignements personnels
Frederick Chapleau — [email protected]