The SSI Verifier is completely open-source. Feel free to contribute, request features, or deploy your own instance.
Presentations of credentials are highly sensitive data. Therefore, we immediately forward the data to the verifier who requested the presentation and do not store it in the application itself.
The SSI Verifier aims to support a variety of SSI credential formats like AnonCreds, JWT Credentials, and BBS+/JSON-LD Credentials. focuses on connectionless proof requests of any type of verifiable credential.
The SSI Verifier comes with a UI that allows one to use the SSI Verifier without requiring any integration into the own systems. Moreover, the UI is optimized for mobile devices. In case you want to verify credentials on the go using your smartphone you now have the chance.
To integrate the SSI Verifier into you existing systems a variety of API interfaces exist:
- HTTP API: Generate new proof requests based on existing proof templates and show them to your user in your own application or even in an email.
- Webhook and WebSocket Interfaces: Be notified whenever a new presentation arrives.
- Open ID Connect Identity Provider (OIDC IdP): Authenticate and authorize users based on verifiable credentials.
Feel free to start your own instance and try it out! (for more information see also ./docs/Build and Run.md)
1. Start Ngrok to expose the DIDcomm endpoint to the internet
cd ./docker-compose/ngrok
./runNgrok.sh
2. Start the databases and AcaPy
cd ./docker-compose
./manage.sh start
docker logs -f ssi-verifier-acapy
3. Start the SSI Verifier
./mvnw spring-boot:run -Dspring-boot.run.profiles=local
4. Use the SSI Verifier
As an SSI wallet we recommend using the Lissi Wallet: https://lissi.id
Feature | Status | Description |
---|---|---|
AnonCreds + Aries RFC 0037 and 0056 | ✅ | Request AnonCreds and self-attested attributes using connectionless proof requests and the Present Proof Protocol 1.0 |
AnonCreds + Aries RFC 0454 and 0434 | 🚧 | Request AnonCreds and self-attested attributes using out-of-band (OOB) messages and the Present Proof Protocol 2.0 |
BBS+/JSON-LD Credentials | Request BBS+ credentials using out-of-band (OOB) messages and the Present Proof Protocol 2.0 | |
JWT Credentials | Request JWT Credentials |
Feature | Status | Description |
---|---|---|
WebSockets | ✅ | Be notified about new presentation results via WebSocket STOMP connections |
HTTP API | 🚧 | Manage proof templates and create new proof requests to show to holders |
Webhooks | Be notified about new presentation results via Webhooks | |
OIDC IdP | Integrate the SSI Verifier as an Open ID Connect Identity Provider (OIDC IdP) |
Feature | Status | Description |
---|---|---|
JSON Editor for Proof Templates | ✅ | Edit proof templates in JSON format |
Visualize Proof Requests as QR Codes | ✅ | Show proof requests in the form of a QR code that holders can scan using their SSI wallet |
Show the Result of a Proof Request | ✅ | Show the validated presentation including all credential attributes as well as self-attested attributes |
Visualize Image-based Credential Attributes | ✅ | Render image-based credential attributes as images that can be enlarged by clicking on them |
Share Proof Templates | ✅ | Share proof templates with other users of the SSI Verifier so that they can generate the same kind of proof requests |
Define new Proof Templates based on existing ones | ✅ | Editing an existing proof template will not overwrite it but create a new proof template to ensure that the old version continues to exist |
Form-based Editor for Proof Templates | Edit proof templates using a guided editor | |
User Accounts | Introduces user accounts to create private proof templates that can optionally be shared with other users | |
Groups | Invite multiple users into a group to share proof templates between them | |
Group Admins | Only group admins can invite users to a group and manage the proof templates of the group |
Feature | Status | Description |
---|---|---|
URL Shortener | A URL shortener to shorten the URL encoded proof requests to make the QR codes easier to scan |
We are working to make everything about the verification of SSI credentials easy. To stay up-to-date with the latest developments [drop us an email](mailto:[email protected]?subject=SSI Verifier Mailing List ) and we will put you on the mailing list. Don't worry, we won't spam you and you can unsubscribe at any time.
Everyone is welcome to contribute. Feel free to request a feature or open a pull request.
This project would not be possible without AcaPy a big thank you to all AcaPy contributors!
The SSI Verifier is a Spring Boot application with a server-side rendered web application. To offer a SPA-like user experience Hotwire is leveraged. To create proof requests and verify presentations the AcaPy is used. Finally, the proof templates are stored in a Postgres database.
You can find more information about how to build and run your own instance here.
Due to the sensitivity of the data shared in presentations, the data will only be shared with your own session and immediately removed from the server. This also means that the presentation data will be inaccessible in case the browser session is exited before the presentation data was shared by the holder.