September 19, 2023
The Truvity demo is finally here, explore the benefits of SSI with this in-depth companion guide and explanation of the architecture, and see how our API can empower your business.
Today, we’re excited to announce the Truvity Demo, a brief, but informative, showcase of some of the functionality of the Truvity API. In this example, we’ll be exploring the usecase of requesting a COVID test, receiving its result from a lab, and using it to book a boarding pass, all within a fully interactive environment. You can launch the demo now, or if you’re already an expert in self-sovereign identity technology, you can explore our extensive developer documentation, request your full API, and get to building now.
So let’s get started with our in-depth walkthrough of the technology, functionality, and components of the demo.
To access the demo, click on any of our “try now” buttons, and you’ll be taken to the account creation page.
You can create your account by either logging in through Google, or entering your email in the account creation tab. Once you’ve gained access, you’re brought to the apps page. At this time, we have just one demo app available, but rest assured, many more are coming soon!
Before we dive into the demo, it’s important to explain the components of the functionality involved. The demo utilises three major components of SSI technology: the wallet, a verifiable credential, and a verifiable presentation, as well as the data transfer protocol which enables shareability, DIDComm. Let’s break those down:
Entity: Entity refers to any participant or actor in the SSI ecosystem that can be identified, own, manage, or interact with decentralised identifiers (DIDs) and verifiable credentials. This encompasses any actor, whether it's a human, an organisation, a device, or a service, that participates in the decentralised identity system.
Wallet: a wallet in SSI functions very similarly to the kinds of wallets you’ve probably gotten used to within the blockchain context. It is a cryptographically unique way to store all SSI related data in a way that is connected to a unique user. SSI takes the technology a bit further, by adding more advanced capability to its usability, such as machine-readable and instantly-verifiable documentation.
Verifiable credentials: also known as VCs, verifiable credentials are digital statements made by the issuer about a subject. Think of them as the digital equivalent of physical credentials like passports, driver's licences, or academic degrees. They contain assertions about a subject, and they can be independently verified by anyone, without having to contact the issuer.
Verifiable presentations: also known as VPs, Verifiable Presentations come into play when a holder of one or more VCs wants to present them to a verifier. The holder may not wish to share all the details of the VCs or may need to combine credentials from multiple issuers. This is where VPs come in.
A Verifiable Presentation is a collection of one or more VCs packaged together, possibly with some additional data, and presented by the holder to the verifier. The presentation itself is then signed by the holder, allowing the verifier to ensure:
DIDComm: DIDComm stands for "DID Communication." It refers to a protocol for peer-to-peer encrypted messaging, anchored in decentralized identifiers (DIDs). DIDs are globally unique identifiers that are created, owned, and controlled by the user of a given digital identity, without requiring a centralized registry, authority, or intermediary. DIDComm is a foundational protocol for secure, private, and authenticated communication in the self-sovereign identity ecosystem. It enables parties to establish trusted communication channels, exchange data with confidence, and engage in various protocols built on top of this trusted foundation.
First, you’ll want to create an entity and a wallet. This is a cornerstone of self-sovereign identity models, as your unique entity represents you (the owner) of the wallet, where all your machine-readable documents and verifiable credentials are stored. Let’s get started.
As this is a travel usecase demo, we have two options for the creation of verifiable credentials, also known as VCs: covid certification and a boarding pass. Let’s create our covid certification first, as without it we won't be able to get our boarding pass.
Check it out! Here’s our interactive VC creation wizard. All the fields you expect are here on the left, while you can watch the JSON-LD data for the VC be updated in realtime as we fill these fields in. Take a look–
Once it’s ready, let’s create the VC.
As you create your VC, you’ll see all the data you input, as well as the final data for the credential, grow from your initial request grows to a VC. Issuing the credential finalises the VC, so we we present our data now with a Verifiable Presentation, or VP, which is the final stage before submitting it to DIDComm, an SSI protocol. That allows all kinds of VCs to be shared and verified across all manner of platforms and wallets.
Now, our covid certification request VC is presented, but we haven’t received the certification from the testing centre yet. So let’s make that request. As we click through the stages of the request, the granting of the certification, and the sharing with DIDComm, we can see the changes to the data, this mirrors how your VCs will transform in practice. Let’s finalise our now-certified covid certification request VC.
We’ll see that the little status icon for our VC has changed from the in-progress hourglass, to a a checkmark. We’re verifiably covid-free! Now to create a boarding pass, another VC, and one which can be linked with our covid certification. This process is slightly different from the previous one, as our hypothetical boarding pass already has the credentials contained part of our purchase process with the airline. What we’re doing here, is linking the covid certificate to the boarding pass container.
As we move through the steps, and complete the process, we can see how the code has grown to encapsulate the relationship between the two VCs. Now let’s complete the request, and issue the finalised boarding pass, with covid certification.
And now we’re done! In a practical situation, our wallet would now contain a complete pair of VCs which verify that we are covid-free and able to board our flight.
This boarding pass might resemble the kind you’re already used to, such as those with QR codes you can download to your phone. But this is technologically much more secure and advanced– it’s unable to be edited or modified, therefore fraudproof, is held outside of the airline so you’re not at the mercy of the airline’s database to receive the boarding pass, and is stored behind an encrypted wall that only you hold the access keys to.
And that concludes our demonstration! I hope you’ve enjoyed this walkthrough of the basics of Truvity’s platform. If you want to learn more, please explore our full range of detailed developer documentation, request access to the full API to start building a platform like this on your own, or join the conversation in our community discord, all found under the “developer” tab on our website.
Remember to check back for more demo apps, coming soon!