{"id":23167420,"url":"https://github.com/a-sit-plus/valera","last_synced_at":"2025-05-12T19:22:11.273Z","repository":{"id":267647246,"uuid":"691079460","full_name":"a-sit-plus/valera","owner":"a-sit-plus","description":"Identity Wallet App written with Compose Multiplatform","archived":false,"fork":false,"pushed_at":"2025-05-12T14:17:12.000Z","size":9419,"stargazers_count":20,"open_issues_count":18,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-12T19:21:59.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://wallet.a-sit.at","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-sit-plus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-13T13:09:36.000Z","updated_at":"2025-05-09T12:53:15.000Z","dependencies_parsed_at":"2024-12-11T16:20:43.885Z","dependency_job_id":"9134e47a-b18d-43b4-a745-3965723c99d9","html_url":"https://github.com/a-sit-plus/valera","commit_stats":null,"previous_names":["a-sit-plus/valera"],"tags_count":24,"template":false,"template_full_name":"JetBrains/compose-multiplatform-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fvalera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fvalera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fvalera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-sit-plus%2Fvalera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-sit-plus","download_url":"https://codeload.github.com/a-sit-plus/valera/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253806089,"owners_count":21967093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-18T02:28:19.698Z","updated_at":"2025-05-12T19:22:11.240Z","avatar_url":"https://github.com/a-sit-plus.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpicture\u003e\n  \u003cimg alt=\"Logo\" src=\"assets/gh.png\"\u003e\n\u003c/picture\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/valera-w.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/valera-b.png\"\u003e\n  \u003cimg alt=\"Valera\" src=\"assets/Valera-b.png\"\u003e\n\u003c/picture\u003e\n\n\n# Valera – VC-K-powered CMP Identity Wallet App for iOS and Android\n[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-brightgreen.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)\n[![A-SIT Plus Official](https://img.shields.io/badge/A--SIT_Plus-official-005b79?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDMuNzYyODYgMTg0LjgxOTk5Ij48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIj48cGF0aCBkPSJNMCA1OTUuMjhoODQxLjg5VjBIMFoiLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBjbGlwLXBhdGg9InVybCgjYSkiIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMzMyAwIDAgLTEuMzMzMzMzMyAtNDgyLjI1IDUxNy41MykiPjxwYXRoIGZpbGw9IiMwMDViNzkiIGQ9Ik00MTUuNjcgMjQ5LjUzYy03LjE1LjA4LTEzLjk0IDEtMjAuMTcgMi43NWE1Mi4zMyA1Mi4zMyAwIDAgMC0xNy40OCA4LjQ2IDQwLjQzIDQwLjQzIDAgMCAwLTExLjk2IDE0LjU2Yy0yLjY4IDUuNDEtNC4xNCAxMS44NC00LjM1IDE5LjA5bC0uMDIgNi4xMnYyLjE3YS43MS43MSAwIDAgMCAuNy43M2gxNi41MmMuMzkgMCAuNy0uMzIuNzEtLjdsLjAxLTIuMmMwLTIuNi4wMi01LjgyLjAzLTYuMDcuMi00LjYgMS4yNC04LjY2IDMuMDgtMTIuMDZhMjguNTIgMjguNTIgMCAwIDEgOC4yMy05LjU4IDM1LjI1IDM1LjI1IDAgMCAxIDExLjk2LTUuNTggNTUuMzggNTUuMzggMCAwIDEgMTIuNTgtMS43NmM0LjMyLjEgOC42LjcgMTIuNzQgMS44YTM1LjA3IDM1LjA3IDAgMCAxIDExLjk2IDUuNTcgMjguNTQgMjguNTQgMCAwIDEgOC4yNCA5LjU3YzEuOTYgMy42NCAzIDguMDIgMy4xMiAxMy4wMnYyNC4wOUgzNjIuNGEuNy43IDAgMCAwLS43MS43VjMzNWMwIDguNDMuMDEgOC4wNS4wMSA4LjE0LjIgNy4zIDEuNjcgMTMuNzcgNC4zNiAxOS4yMmE0MC40MyA0MC40MyAwIDAgMCAxMS45NiAxNC41N2M1IDMuNzYgMTAuODcgNi42MSAxNy40OCA4LjQ2YTc3LjUgNzcuNSAwIDAgMCAyMC4wMiAyLjc3YzcuMTUtLjA3IDEzLjk0LTEgMjAuMTctMi43NGE1Mi4zIDUyLjMgMCAwIDAgMTcuNDgtOC40NiA0MC40IDQwLjQgMCAwIDAgMTEuOTUtMTQuNTdjMS42Mi0zLjI2IDMuNzctMTAuMDQgMy43Ny0xNC42OCAwLS4zOC0uMTctLjc0LS41NC0uODJsLTE2Ljg5LS40Yy0uMi0uMDQtLjM0LjM0LS4zNC41NCAwIC4yNy0uMDMuNC0uMDYuNi0uNSAyLjgyLTEuMzggNS40LTIuNjEgNy42OWEyOC41MyAyOC41MyAwIDAgMS04LjI0IDkuNTggMzUuMDEgMzUuMDEgMCAwIDEtMTEuOTYgNS41NyA1NS4yNSA1NS4yNSAwIDAgMS0xMi41NyAxLjc3Yy00LjMyLS4xLTguNjEtLjcxLTEyLjc1LTEuOGEzNS4wNSAzNS4wNSAwIDAgMS0xMS45Ni01LjU3IDI4LjUyIDI4LjUyIDAgMCAxLTguMjMtOS41OGMtMS44Ni0zLjQ0LTIuOS03LjU1LTMuMDktMTIuMmwtLjAxLTcuNDdoODkuMTZhLjcuNyAwIDAgMCAuNy0uNzJ2LTM5LjVjLS4xLTcuNjUtMS41OC0xNC40LTQuMzgtMjAuMDZhNDAuNCA0MC40IDAgMCAwLTExLjk1LTE0LjU2IDUyLjM3IDUyLjM3IDAgMCAwLTE3LjQ4LTguNDcgNzcuNTYgNzcuNTYgMCAwIDAtMjAuMDEtMi43N1oiLz48cGF0aCBmaWxsPSIjY2U0OTJlIiBkPSJNNDE5LjM4IDI4MC42M2gtNy41N2EuNy43IDAgMCAwLS43MS43MXYxNS40MmE4LjE3IDguMTcgMCAwIDAtMy43OCA2LjkgOC4yOCA4LjI4IDAgMCAwIDE2LjU0IDAgOC4yOSA4LjI5IDAgMCAwLTMuNzYtNi45di0xNS40MmEuNy43IDAgMCAwLS43Mi0uNzEiLz48L2c%2BPC9zdmc%2B\u0026logoColor=white\u0026labelColor=white)](https://a-sit-plus.github.io)\n[![Powered by VC-K](https://img.shields.io/badge/VC--K-powered-8A2BE2?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4LjAzIDkuNSI+PGcgZmlsbD0iIzhhMmJlMiIgZm9udC1mYW1pbHk9IlZBTE9SQU5UIiBmb250LXNpemU9IjEyLjciIHRleHQtYW5jaG9yPSJtaWRkbGUiPjxwYXRoIGQ9Ik01OS42NCAyMjIuMTNxMC0uOTguMzYtMS44Mi4zNy0uODQuOTgtMS40Ni42Mi0uNjIgMS40Ni0uOTYuODMtLjM2IDEuOC0uMzUgMS4wMy4wMiAxLjkuNDIuODcuNCAxLjUgMS4xMi4wNC4wNS4wMy4xMSAwIC4wNy0uMDUuMWwtMSAuODZxLS4wNi4wMy0uMTIuMDN0LS4xLS4wNnEtLjQyLS40OC0xLS43Ni0uNTYtLjMtMS4yMi0uMjgtLjYuMDEtMS4xMy4yNy0uNTQuMjQtLjkzLjY3LS40LjQyLS42Mi45OC0uMjMuNTYtLjIzIDEuMiAwIC42My4yNCAxLjE4LjI0LjU2LjY1Ljk4LjQuNDIuOTQuNjYuNTMuMjMgMS4xNC4yMy42My0uMDEgMS4yLS4zLjU1LS4yNy45Ni0uNzUuMDQtLjA1LjEtLjA1LjA2LS4wMi4xMS4wM2wxIC44NnEuMDYuMDMuMDYuMS4wMS4wNi0uMDMuMTEtLjY0LjczLTEuNTMgMS4xNC0uOS40MS0xLjk1LjQtLjk1IDAtMS43OS0uMzYtLjgyLS4zNy0xLjQzLS45OS0uNjEtLjYzLS45NS0xLjQ4LS4zNS0uODUtLjM1LTEuODN6IiBzdHlsZT0iLWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpWQUxPUkFOVDt0ZXh0LWFsaWduOmNlbnRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTU5LjY0IC0yMTcuNDIpIi8+PHBhdGggZD0iTTY2LjIxIDIyMS4zNWgxLjNjLjEgMCAuMTYuMDYuMTYuMTd2MS4zOGMwIC4xMS0uMDUuMTctLjE2LjE3aC0xLjNjLS4xIDAtLjE2LS4wNi0uMTYtLjE3di0xLjM4YzAtLjExLjA1LS4xNy4xNi0uMTd6IiBsZXR0ZXItc3BhY2luZz0iLTMuMTIiIHN0eWxlPSItaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOlZBTE9SQU5UO3RleHQtYWxpZ246Y2VudGVyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTkuNjQgLTIxNy40MikiLz48L2c+PC9zdmc+\u0026logoColor=white\u0026labelColor=white)](https://github.com/a-sit-plus/vck)\n[![Kotlin](https://img.shields.io/badge/kotlin-multiplatform--mobile-orange.svg?logo=kotlin)](http://kotlinlang.org)\n[![Kotlin](https://img.shields.io/badge/kotlin-2.1.0-blue.svg?logo=kotlin)](http://kotlinlang.org)\n\n\n\u003c/div\u003e\n\nThis [Compose Multiplatform](https://www.jetbrains.com/lp/compose-multiplatform/) app implements an Identity Wallet for iOS and Android, using [VC-K](https://github.com/a-sit-plus/vck) to load, store and present verifiable credentials.\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg alt=\"screenshot\" src=\"https://github.com/user-attachments/assets/751de375-652f-4270-8cfc-00db761c26a9\" width=\"30%\" height=\"30%\"\u003e\n\n\u003c/div\u003e\n\nValera seeks to comply with the emerging eIDAS2 technical specification, the regulation itself is still a very much moving target when it comes to technical details.\nStill, it is already possible to interop with the EU reference issuing service and EU verifier.\n\u003cbr\u003e\nValera does not aim to be production-ready, but should rather be considered a testbed, allowing you to already experience\nwhat an [EU digital identity wallet](https://github.com/eu-digital-identity-wallet) (EUDIW) application can look and feel like.\n\n## Features\n\nCurrently, Valera can be used to fetch credentials from [wallet.a-sit.at](https://wallet.a-sit.at/m5/) to in various formats\neven beyond what is targeted by the upcoming EUDIW.\n\u003cbr\u003e\nTo explore verifiable presentation in all its glory (and technical details), check out our [demo service provider](https://apps.egiz.gv.at/customverifier/#),\nto present previously provisioned credentials.\nThis demo service allows for freely defining how and which details of a verifiable credentials are requested for presentation.\n\nCurrently, the following credentials are supported:\n* e-Prescription\n* mDL \n* PID \n* IDA Credential\n* Power of Representation (PoR)\n* Certificate of Residence (CoR)\n\nPresentation type can be either SD-JWT  or ISO mDoc.\n\u003cbr\u003e\nFor more details on these credentials, head over to our [credentials collection repo](https://github.com/a-sit-plus/credential-collection)!\n\n## Design Principles\nValera is designed with distinctly different goals in mind than the EU reference implementation.\nMost prominently, we follow a KMP-first approach. In a nutshell, this means that given the choice between\nusing two platform-native libraries and glue code to get a job done and investing the blood, sweat and tears it takes to\nconceive a proper KMP solution, we go the distance and invest in the KMP solution.\n\nIn the end, this (at times) tiresome approach brings a couple of advantages to the table:\n* Consistency across platforms\n* Shared UI tests\n* Common, consistent, and thoroughly tested [VC-K-powered](https://github.com/a-sit-plus/vck) business logic across\n  * Issuer\n  * Verifier\n  * iOS App\n  * Android App\n* As an immediate consequence: far less margin for mistakes\n* Unified cryptographic functionality integrated with platform-native biometric and passcode-base authentication based on\n[Signum](https://github.com/a-sit-plus/signum).\n\nThis much tighter integration of all moving parts across all parts of back-end and front-end opens up makes experimenting\nwith new features much easier compared to having multiple discrete codebases.\nAs a consequence, introducing new credentials (and testing issuing, and presenting them) must only be done once.\nIt is even possible to introduce new cryptographic algorithms or alter any part of certain workflows and propagate such changes\nwith very little friction across back-end and front-end.\nAs such, Valera, VC-K and Signum make for an ideal sandbox\u0026nbsp;\u0026mdash; a property actively used in teaching at TU Graz's\n[Institute of Information Security](https://www.isec.tugraz.at/).\n\nValera, the issuing service and the demo service provider are under active development and are updated\nin tandem with each other.\nOutside contributions are welcome (see [CONTRIBUTING.MD](CONTRIBUTING.md))!\n\n---\n\n| ![eu.svg](assets/eu.svg) \u003cbr\u003e Co\u0026#8209;Funded\u0026nbsp;by\u0026nbsp;the\u003cbr\u003eEuropean\u0026nbsp;Union |   This project has received funding from the European Union’s \u003ca href=\"https://digital-strategy.ec.europa.eu/en/activities/digital-programme\"\u003eDigital Europe Programme (DIGITAL)\u003c/a\u003e, Project 101102655 — POTENTIAL.   |\n|:-------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n\n---\n\nThe 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! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-sit-plus%2Fvalera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-sit-plus%2Fvalera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-sit-plus%2Fvalera/lists"}