Principios de diseño
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.