Cet addenda s'applique lorsque SpoolStream (« nous », le sous-traitant) traite des renseignements personnels pour le compte d'une organisation qui utilise le service (le client, le responsable). Il fait partie des conditions d'utilisation. Pour obtenir un exemplaire signé, écrivez à [email protected].
1. Ce que nous traitons, et pourquoi
Nous traitons les documents et les données de tâches que le client envoie par le service, ainsi que les coordonnées de ses membres, uniquement pour exploiter le service pour le client : conserver, livrer et imprimer des documents, tenir l'historique des tâches et envoyer des avis. Les documents peuvent contenir des renseignements personnels de toute nature, y compris sensibles. Nous n'avons pas besoin de les lire, nous ne les lisons pas, et nous ne nous en servons à aucune autre fin. Notre règle veut que le contenu des documents, les noms de fichiers et les références externes n'apparaissent jamais dans les journaux, les traces, les exceptions, les diagnostics, les journaux de livraison des webhooks ni la piste d'audit.
2. Les instructions du client
Nous traitons les données selon les instructions documentées du client, soit ces conditions, les réglages qu'il choisit et son utilisation du service. Si nous pensons qu'une instruction enfreint la loi, nous le disons au client.
3. Confidentialité et accès
Seules les personnes qui en ont besoin pour exploiter le service peuvent atteindre les données, et elles sont tenues à la confidentialité. Le service n'a ni console d'exploitation, ni écran d'administrateur de la plateforme, ni moyen pour son personnel de se connecter à la place d'un client. Les tâches d'exploitation (attribuer un forfait, relier un client de facturation) sont des commandes ponctuelles exécutées avec l'identifiant du propriétaire de la base de données, que la sécurité au niveau des lignes ne restreint pas; chaque modification qu'elles apportent est inscrite dans la piste d'audit de l'organisation.
4. Sécurité
Nous protégeons les données par des mesures adaptées au risque, notamment :
- Chaque table qui contient les données d'un client porte l'identifiant de l'organisation, un filtre dans l'application et la sécurité au niveau des lignes (row-level security) de PostgreSQL. Nos tests d'intégration prouvent que l'organisation B ne peut ni lire ni modifier les données de l'organisation A, et reçoit 404, non 403.
- Les clés d'API et les justificatifs des agents ne sont stockés que sous forme de hachage à clé (HMAC-SHA256 sous un « poivre » secret). Une clé perdue est remplacée, jamais récupérée.
- Les secrets de second facteur, les codes de récupération et les secrets de signature des webhooks sont stockés chiffrés (AES-256-GCM) sous une clé conservée dans le magasin de secrets, et non dans la base de données. Les mots de passe ne sont stockés que sous forme de hachage produit par ASP.NET Core Identity.
- Un document de plus de 5 Mo va directement de votre système au stockage des documents par un lien signé de courte durée, un document plus petit voyage dans la requête à l'API, et l'agent ne reçoit un nouveau lien valide cinq minutes qu'au moment d'imprimer.
- L'agent de chaque ordinateur possède sa propre clé d'identité, générée à l'inscription de l'ordinateur. La clé privée ne quitte jamais l'ordinateur, et un justificatif d'identité volé ne permet à lui seul aucun renouvellement.
- Les actions d'administration et les connexions sont inscrites dans une piste d'audit en ajout seulement, que la base de données refuse de modifier ou de supprimer, sauf pour le retrait planifié des lignes plus anciennes que la durée de conservation.
La page Sécurité donne le reste.
5. Sous-traitants ultérieurs
Le client accepte que nous recourions aux sous-traitants ultérieurs listés à la page des sous-traitants. Nous lions chacun d'eux à protéger les données et à ne s'en servir que selon nos instructions. Nous prévenons par courriel les propriétaires de l'organisation du client au moins 30 jours avant d'en ajouter ou d'en remplacer un. Le client peut s'y opposer pour un motif sérieux dans ce délai; si nous ne pouvons pas répondre à l'objection, le client peut mettre fin à l'entente et supprimer son organisation.
6. Où les données sont traitées
L'application et la base de données fonctionnent à Toronto, au Canada. La région du stockage des documents n'est pas choisie : le stockage (Cloudflare R2) ne garantit pas que les documents restent au Canada. Certains sous-traitants sont établis aux États-Unis ou ailleurs. Lorsque des renseignements personnels quittent le Québec ou le Canada, nous veillons à ce qu'ils soient protégés comme la loi l'exige, notamment par les conditions contractuelles du fournisseur concerné. Sur demande, nous remettons au client une description des mesures de protection.
7. Aider le client
Nous aidons le client à répondre aux demandes des personnes concernées (accès, correction, suppression), à faire une évaluation des facteurs relatifs à la vie privée et à traiter avec les autorités, dans la mesure de notre rôle. Une organisation peut exporter les rapports de preuve d'une période dans une archive zip avec un manifeste, consulter sa piste d'audit par l'API et télécharger son relevé d'utilisation mensuel en JSON ou en CSV.
8. Incidents
Nous prévenons le client sans délai injustifié, et au plus tard 48 heures après en avoir pris connaissance, d'un incident qui touche ses renseignements personnels. Nous donnons ce que nous savons à ce moment et nous complétons à mesure que nous en apprenons davantage.
9. Suppression et restitution
- Par défaut, un document est supprimé du stockage 24 heures après la fin de sa tâche, et 168 heures (7 jours) après l'échec d'une tâche, et jamais tant que la tâche est en cours ou incertaine.
- La fiche d'une tâche et son historique survivent au document et sont conservés tant que l'organisation existe; aucune durée de conservation distincte ne s'y applique encore.
- La suppression d'une organisation efface tout, y compris les tâches et leur historique, 30 jours après la demande du propriétaire; le propriétaire peut la restaurer pendant ces 30 jours. Une seule chose est conservée : si l'organisation était facturée par Stripe, son numéro de client Stripe, avec la date de l'effacement et rien d'autre du client dans notre base de données, afin qu'un message tardif de Stripe soit reconnu et ignoré. Lorsque l'effacement est effectué, les abonnements de l'organisation chez Stripe sont résiliés, de sorte que Stripe cesse de la facturer; ce numéro n'est plus jamais relié à une organisation.
- Seul un propriétaire peut supprimer une organisation, après s'être authentifié de nouveau et avoir saisi le nom de l'organisation; les autres membres sont déconnectés immédiatement, les propriétaires reçoivent un rappel 7 jours et 1 jour avant l'effacement, et une exportation de la piste d'audit (CSV et JSON, avec un manifeste et des empreintes SHA-256) est préparée pour qu'ils la téléchargent d'ici là.
10. Vérifications
Nous répondons aux questions raisonnables du client sur cet addenda et nous mettons notre documentation de sécurité à sa disposition. Le client peut demander une fois par an qu'un questionnaire de sécurité soit rempli. Si cela ne suffit pas, il peut procéder à une vérification une fois par an, à ses frais, avec un préavis de 30 jours, pendant les heures ouvrables et sous réserve de confidentialité. Les sous-traitants ultérieurs sont vérifiés par leurs propres rapports.
11. Responsabilité et droit applicable
Les conditions d'utilisation, y compris leur limite de responsabilité et leur droit applicable, s'appliquent à cet addenda.
12. Durée
Cet addenda dure aussi longtemps que nous traitons des données pour le client. Ce que nous conservons ensuite, et pour combien de temps, est indiqué plus haut.