Zilath

A library for verifying accessibility entitlements without processing health data.

Claiming an entitlement recognised by law — a companion ticket, priority access, a reduced fare — means proving it. In person, showing a card is enough. On a remote channel there has been no equivalent, so the proof takes the form of a copy: a document attached to an email, uploaded into a form, sent to a box office or a venue. The copy then lives in their systems.

That copy is unnecessary. The European Disability Card — established across the Union by Directive (EU) 2024/2841 — already exists in digital form: in Italy it has been in the public wallet of the IO app since December 2024, signed by the issuing authority and cryptographically verifiable. What is missing is the component that lets a website check such a credential. Zilath is that component, and it is open source.

Design principles

  1. Verification is never charged to the person being verified. In no form, at any stage. This is a constraint of the project rather than a pricing decision, and it holds for anything derived from it.
  2. Neither the diagnosis nor the document is ever requested. The library verifies a cryptographic presentation and returns the minimum: whether the entitlement exists. The condition, the percentage and the certificate never enter the system because they are never asked for.
  3. What remains is stated precisely. The presented credential is never stored: it is verified and discarded. What survives for the duration of the transaction is the outcome, which for a successful verification carries the attributes actually disclosed — they must exist between the wallet response and the reading of the result. Under the default configuration they are held in memory and expire on their own. This is stated because a claim of "nothing is retained" would be more attractive and less true.
  4. No profiling. There are no per-person counters, no history and no profile to build — not even for abuse prevention. Fraud is addressed where it occurs, not by keeping records of those who hold an entitlement.
  5. The whole codebase is open. Not a core, not a community edition: all of it, under AGPL-3.0. Anyone integrating the library can read exactly what it does with the data of the person in front of them, and anyone who is unconvinced can check rather than trust.
  6. Nothing is certified by this project. The only authority is the state that issued the credential. The library does not decide who is entitled to what, keeps no registry, issues no accreditation and does not place itself between a person and their entitlement. It verifies a signature.

Context

Handing over documents persists because a remote channel had no practical alternative, not because anyone chose it. Data protection authorities have long held that presenting a document is enough to grant a benefit, and that keeping a copy exceeds the purpose. Public wallets remove the last obstacle: the credential is already issued, already signed, and already in the holder's possession.

Zilath was the supreme magistrate of the Etruscan city: the office that ascertained and sanctioned. To ascertain, not to judge.

The library

Zilath is a Kotlin/JVM library that allows an application to act as an OpenID4VP relying party under the IT-Wallet profile: it requests a credential from the wallet, verifies it cryptographically and returns a yes or a no.

It is free software under AGPL-3.0. Those building open software use it without charge; a commercial licence covers embedding in closed-source products, and is the project's only intended source of revenue. It never applies to the person being verified.