Ce qui protège un cabinet ici

Chaque affirmation de cette page nomme ce qui la rend vraie. Quand une protection a un coût, ce coût est écrit à côté.

Un cabinet ne voit pas les autres

C’est la base de données qui l’impose, pas le code
Chaque table contenant les données d’un cabinet a la sécurité au niveau des lignes activée et forcée, et l’application se connecte avec un rôle qui ne possède rien et ne peut pas la contourner. Une requête qui aurait oublié son cabinet ne renvoie rien plutôt que tout.
Une ligne ne peut pas pointer vers celle d’un autre cabinet
Les références portent sur le couple (cabinet, ligne) et non sur la ligne seule. Une référence simple permettrait à un cabinet de désigner les données d’un autre, car ces vérifications s’exécutent avec les droits du propriétaire et passent au travers de l’isolement.

Entrer

Les mots de passe sont stockés en Argon2id
64 Mio, trois passes, quatre voies, avec les paramètres enregistrés à côté de chaque empreinte : un ancien mot de passe reste vérifiable après un relèvement des réglages, et il est recalculé à la prochaine utilisation.
Un mauvais mot de passe et une adresse inconnue répondent pareil
Les deux demandent le même travail, car une adresse inconnue est comparée à une véritable empreinte d’une valeur que personne ne connaît. Répondre plus vite dans un cas permettrait de découvrir qui a un compte en chronométrant.
Un administrateur de la plateforme ne peut pas exister sans deuxième facteur
La base refuse de l’enregistrer, et refuse ensuite de retirer le facteur. L’imposer dans l’application reviendrait à l’imposer à chaque porte par laquelle on se connecte.
Une session volée se remarque à son utilisation
Les sessions changent à mesure qu’on les utilise. Présenter une session déjà changée est traité comme un vol : toute la famille est révoquée, tout le monde est déconnecté, et cela figure dans le registre.

Le registre de ce qui s’est passé

Écrit avec ce qu’il enregistre, et jamais modifié
Chaque entrée est écrite dans la même transaction que l’action, si bien qu’un rendez-vous pris et la ligne qui dit qui l’a pris ne peuvent pas se séparer. Un déclencheur refuse toute modification ultérieure.
Une seule correction est permise
Oublier qui était une personne, lorsqu’un compte est effacé. C’est nommé dans le déclencheur plutôt qu’obtenu en l’assouplissant : toute autre modification reste impossible.
Lire le registre de la plateforme est lui-même enregistré
Aucun administrateur ne peut regarder sans laisser la trace d’avoir regardé.

Partir

Une copie de vos données, dans des formats qui s’ouvrent ailleurs
Votre compte, vos cabinets et vos rendez-vous dans un fichier de calendrier que n’importe quel agenda saura lire. Le dossier qu’un patient demande se produit depuis sa page, dans le navigateur, car les comptes rendus sont scellés et ce serveur ne pourrait transmettre que du texte chiffré.
Supprimer veut dire que les lignes n’existent plus
Un test demande à la base quelles colonnes nomment une personne, puis interroge chacune d’elles au sujet du compte effacé. Ajouter une table que l’effacement ignore fait échouer ce test, nommément.
Un cabinet dont vous êtes l’unique responsable ne peut pas être supprimé tant qu’il contient des données. Il faut d’abord le transmettre ou le vider.

Ce que nous pouvons lire, et ce que nous ne pouvons pas

Nous ne pouvons pas lire ce qui a été fait en séance
Le compte rendu est scellé dans votre navigateur avec la clé de votre cabinet avant d’être envoyé. Tout collègue que vous avez laissé entrer peut le lire — c’est l’intérêt d’une clé de cabinet plutôt que d’une clé personnelle — et ce serveur ne détient que du texte chiffré et une clé enveloppée dont il n’a aucune moitié.
Un mot de passe oublié est une perte réelle. La clé de secours imprimée lors de la mise en place du cabinet est le seul chemin de retour : nous ne pouvons pas réinitialiser ce que nous ne pouvons pas lire.
Personne ne peut lire vos notes personnelles
L’autre moitié d’une séance est scellée avec votre propre clé, pas celle du cabinet. Ni un collègue, ni le responsable, ni l’administrateur de la plateforme, ni ce serveur.
Perdez votre mot de passe et vos notes disparaissent avec lui. La clé de secours du cabinet ouvre les comptes rendus du cabinet, pas les notes d’une personne.

Ce qui n’est pas encore fait

Un effacement atteint la base vivante et non la sauvegarde de cette nuit, ce qui est la limite honnête de toute suppression dans un système qui en conserve — détruire une clé rend une ancienne copie illisible, et c’est la direction prise. Une note supprimée est supprimée plutôt que barrée, et savoir si un dossier clinique devrait le permettre est une question que nous préférons trancher que découvrir.