Zilath

Une bibliothèque pour vérifier les droits d'accessibilité sans traiter de données de santé.

Pour faire valoir un droit prévu par la loi, comme le billet de l'accompagnateur, un accès prioritaire ou un tarif réduit, il faut prouver qu'on y a droit. En personne, il suffit de montrer une carte. En ligne, il n'y a jamais eu d'équivalent, alors on envoie une copie, jointe à un courriel ou déposée dans un formulaire, à la billetterie ou au service concerné. Et cette copie reste dans leurs systèmes.

Cette copie n'est pas nécessaire. La Carte européenne du handicap, instituée dans toute l'Union par la directive (UE) 2024/2841, existe déjà sous forme numérique : en Italie, elle figure depuis décembre 2024 dans le portefeuille public de l'application IO, signée par l'autorité qui la délivre et vérifiable cryptographiquement. Il manque le composant qui permet à un site de la contrôler. Zilath est ce composant, et il est open source.

Principes de conception

  1. La vérification n'est jamais à la charge de la personne vérifiée. Sous aucune forme et à aucune étape. Il s'agit d'une contrainte du projet et non d'un choix tarifaire, et elle vaut pour tout ce qui en découle.
  2. Ni le diagnostic ni le document ne sont jamais demandés. La bibliothèque vérifie une présentation cryptographique et renvoie le minimum : si le droit existe. La pathologie, le taux et le certificat n'entrent jamais dans le système car ils ne sont jamais demandés.
  3. Ce qui reste, dit avec précision. Le justificatif présenté n'est jamais conservé : il est vérifié puis écarté. Pendant la transaction, il reste le résultat et, si la vérification réussit, les attributs que la personne a réellement divulgués, parce qu'ils sont nécessaires entre la réponse du portefeuille et le moment où l'application lit le résultat. Dans la configuration par défaut, ils restent en mémoire et expirent d'eux-mêmes. C'est écrit ici parce que « rien n'est conservé » sonnerait mieux, mais ce ne serait pas vrai.
  4. Aucun profilage. Il n'existe ni compteur par personne, ni historique, ni profil à constituer, pas même à des fins de prévention des abus. La fraude se traite là où elle se produit, et non en tenant des registres des titulaires d'un droit.
  5. Le code est entièrement ouvert. Tout le code, pas un noyau ni une édition communautaire, sous AGPL-3.0. Quiconque intègre la bibliothèque peut lire exactement ce qu'elle fait des données de la personne en face, et qui a des doutes peut vérifier plutôt que croire.
  6. Le projet ne certifie personne. La seule autorité est l'État qui a émis le justificatif. La bibliothèque ne décide pas qui a droit à quoi, ne tient aucun registre, ne délivre aucune accréditation et ne s'interpose pas entre une personne et son droit. Elle vérifie une signature.

Contexte

On envoie des copies de documents parce qu'en ligne il n'y avait pas d'alternative praticable, pas parce que quelqu'un l'a choisi. Les autorités de protection des données rappellent depuis longtemps que voir le document suffit pour accorder un avantage, et qu'en garder une copie dépasse la finalité. Avec les portefeuilles publics, l'alternative existe : le justificatif est délivré et signé par l'autorité compétente, et il est déjà entre les mains de la personne.

Zilath était le magistrat suprême de la cité étrusque : la charge qui constatait et sanctionnait. Constater, non juger.

La bibliothèque

Zilath est une bibliothèque Kotlin/JVM qui permet à une application d'agir comme partie utilisatrice OpenID4VP selon le profil IT-Wallet : elle demande un justificatif au portefeuille, le vérifie cryptographiquement et renvoie un oui ou un non.

C'est un logiciel libre sous AGPL-3.0 : ceux qui construisent des logiciels ouverts l'utilisent gratuitement, tandis que son intégration dans un produit à code fermé nécessite une licence commerciale, qui ne concerne jamais la personne vérifiée.