Zilath

Una biblioteca para verificar derechos de accesibilidad sin tratar datos de salud.

Para hacer valer un derecho reconocido por ley, como la entrada del acompañante, el acceso prioritario o una tarifa reducida, hay que demostrarlo. En persona basta con mostrar una tarjeta. En línea nunca ha existido un equivalente, así que se envía una copia, adjunta a un correo o subida a un formulario, a la taquilla o a la oficina que corresponda. Y esa copia se queda en sus sistemas.

Esa copia no hace falta. La Tarjeta Europea de Discapacidad, establecida en toda la Unión por la Directiva (UE) 2024/2841, ya existe en formato digital: en Italia está en la cartera pública de la aplicación IO desde diciembre de 2024, firmada por la autoridad que la emite y verificable criptográficamente. Falta el componente que permite a un sitio web comprobarla. Zilath es ese componente, y es de código abierto.

Principios de diseño

  1. La verificación nunca recae sobre la persona verificada. En ninguna forma ni en ninguna fase. Es una restricción del proyecto y no una decisión de precio, y se aplica a todo lo que derive de él.
  2. Nunca se solicitan ni el diagnóstico ni el documento. La biblioteca verifica una presentación criptográfica y devuelve lo mínimo: si el derecho existe. La patología, el grado y el certificado nunca entran en el sistema porque nunca se piden.
  3. Lo que queda, dicho con precisión. La credencial presentada nunca se conserva: se verifica y se descarta. Durante la transacción queda el resultado y, si la verificación sale bien, los atributos que la persona ha revelado de verdad, porque hacen falta entre la respuesta de la cartera y el momento en que la aplicación lee el resultado. Con la configuración predeterminada están en memoria y caducan solos. Está escrito aquí porque «no se conserva nada» sonaría mejor, pero no sería verdad.
  4. Sin elaboración de perfiles. No hay contadores por persona, ni historial, ni perfil que construir, ni siquiera para prevenir abusos. El fraude se aborda donde se produce, no llevando registros de quienes son titulares de un derecho.
  5. Todo el código es abierto. Todo, no un núcleo ni una edición community, bajo AGPL-3.0. Quien integre la biblioteca puede leer exactamente qué hace con los datos de la persona que tiene delante, y quien tenga dudas puede comprobarlo en lugar de confiar.
  6. El proyecto no certifica a nadie. La única autoridad es el Estado que emitió la credencial. La biblioteca no decide quién tiene derecho a qué, no lleva registros, no expide acreditaciones y no se interpone entre una persona y su derecho. Verifica una firma.

Contexto

Se envían copias de documentos porque en línea no había una alternativa viable, no porque alguien lo eligiera. Las autoridades de protección de datos sostienen desde hace tiempo que para conceder un beneficio basta con ver el documento, y que guardar una copia excede la finalidad. Con las carteras públicas esa alternativa existe: la credencial la emite y la firma la autoridad competente, y ya está en manos de la persona.

Zilath era el magistrado supremo de la ciudad etrusca: el cargo que constataba y sancionaba. Constatar, no juzgar.

La biblioteca

Zilath es una biblioteca Kotlin/JVM que permite a una aplicación actuar como parte usuaria OpenID4VP con el perfil IT-Wallet: solicita una credencial a la cartera, la verifica criptográficamente y devuelve un sí o un no.

Es software libre bajo AGPL-3.0: quien construye software abierto la usa gratis, mientras que para incorporarla en un producto de código cerrado se necesita una licencia comercial, que nunca afecta a la persona verificada.