制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Valera is a single-codebase Compose Multiplatform Identity Wallet for iOS and Android. It lets you load, store and present W3C Verifiable Credentials — your PID, driving licence, health insurance card and more — straight from your phone, powered end-to-end by VC-K.
It is the holder side of a complete, self-contained EUDIW playground:
🪪 Issuer → 📲 Valera (this app) → ✅ Relying Party
Provision credentials from the demo issuer, keep them in your wallet, and present them to the demo verifier — all speaking the same emerging eIDAS 2 / EUDIW protocols.
| ⛔️ Not for production — read before you tap |
|---|
| Valera is a Technology Demonstrator and testbed. Do not load real identity data into it. See Limitations. |
Valera tracks the emerging eIDAS 2 technical specification — a regulation that is still very much a moving target when it comes to technical details. Even so, it already interoperates with the EU reference issuing service and EU verifier, and lets you experience first-hand what an EU Digital Identity Wallet (EUDIW) can look and feel like.
Built on VC-K 9, the 5.9 line is all about trust: Valera now checks who it is talking to, and tells you what it found.
CredentialValidator: signature, issuer trust per credential type, validity period, status, and mandatory claims. If any check fails, Valera tells you why and asks before storing the credential.mso_mdoc_zk) using the Longfellow-ZK backend. A badge on the consent screen shows whether the request is for a plain mdoc or a ZK proof.eu-eaa-offer and eu-eaap links on Android and iOS.null wildcards, whole objects and typed values. Each credential the system picker selects is presented only for the query it was picked for.See the CHANGELOG for the full list.
Valera fetches credentials from wallet-issuer.a-sit.plus in a range of formats — even beyond what the upcoming EUDIW targets — and presents them to verifiers over multiple transports.
Get credentials (issuance)
Show credentials (presentation)
mso_mdoc_zk)Verify credentials
Supported credentials
| Credential | SD-JWT VC | ISO mDoc |
|---|---|---|
| Person Identification Data (PID) | ✅ | ✅ |
| Mobile Driving Licence (mDL) | ✅ | ✅ |
| European Health Insurance Card (EHIC) | ✅ | |
| Age Verification | ✅ | ✅ |
| Power of Representation (PoR) | ✅ | |
| Certificate of Residence (CoR) | ✅ | |
| Tax ID | ✅ | |
| e-Prescription | ✅ |
Unknown schemes degrade gracefully via a fallback scheme, so even credentials Valera doesn't natively model can still be loaded and inspected. For full schema details, head over to the credentials collection repo.
Valera is developed in lockstep with two companion reference services, so the whole issue → hold → present loop stays interoperable:
| What it is | Try it | |
|---|---|---|
| 🪪 Issuing Backend | A Spring Boot OpenID4VCI issuer (also issuance over the DC API) that mints wallet-ready PID, mDL, EHIC, Age Verification, PoR, CoR and Tax ID credentials as JWT VC, SD-JWT VC and ISO mDoc. | wallet-issuer.a-sit.plus · repo |
| ✅ Relying Party | A Spring Boot OpenID4VP verifier that requests and validates presentations over QR, deep link and the DC API, with configurable DCQL and ISO DeviceRequest queries. | wallet-rp.a-sit.plus · repo |
The demo relying party in particular lets you freely define how and which details of a credential are requested — the best way to explore verifiable presentation in all its (technical) glory.
Valera is a testbed and technology demonstrator, not a shippable wallet. Concretely:
It is, however, an excellent sandbox — actively used in teaching at TU Graz's Institute of Information Security.
Valera is designed with distinctly different goals in mind than the EU reference implementation. Most prominently, we follow a KMP-first approach. In a nutshell, this means that given the choice between using two platform-native libraries and glue code to get a job done and investing the blood, sweat and tears it takes to conceive a proper KMP solution, we go the distance and invest in the KMP solution.
In the end, this (at times) tiresome approach brings a couple of advantages to the table:
This much tighter integration of all moving parts across all parts of back-end and front-end opens up makes experimenting with new features much easier compared to having multiple discrete codebases. As a consequence, introducing new credentials (and testing issuing, and presenting them) must only be done once. It is even possible to introduce new cryptographic algorithms or alter any part of certain workflows and propagate such changes with very little friction across back-end and front-end. As such, Valera, VC-K and Signum make for an ideal sandbox — a property actively used in teaching at TU Graz's Institute of Information Security.
Valera, the issuing service and the demo service provider are under active development and are updated in tandem with each other. Outside contributions are welcome (see CONTRIBUTING.MD)!
To set up this project locally see DEVELOPMENT.md.
| Co‑Funded by theEuropean Union | This project has received funding from the European Union’s Digital Europe Programme (DIGITAL), Project 101102655 — POTENTIAL. |
|---|
The Apache License does not apply to the logos, (including the A-SIT logo) and the project/module name(s), as these are the sole property of A-SIT/A-SIT Plus GmbH and may not be used in derivative works without explicit permission!