Inspiration
Currently each multiple jurisdictions globally requires a QR Code based check-in and proof of vaccination scenarios. While this system does allow for paper based proof of vaccination, this capability weakens the trust of the overall system, as these paper based records can be faked.
As a way to increase trust, we built a Proof of Concept solution which can exchange an internationally verified credential for a localised format, enabling travellers to consume each jurisdictions service. This solution could be used in travel/customs scenarios. We also spent a fair bit of time tinkering with different issuance scenarios, integrating different flows to our demo.
What it does
Our applications enable citizens of Zamunda to issue a localised passport, vaccine certificate and internationally recognised "VaxPass". When the citizens travel overseas, the Wakandan government has created a service where the VaxPass can be transferred for a localised VC format, known as WakandaVax.
How we built it
As a team, we separated focus areas, with Chris working on the "Government of Zamunda" websites which issues three VC and demonstrates multiple flows. James worked on the "Vax-Verifier" website, enabling travellers to "Wakanda" to exchange their international pass. The Well-Known endpoint for the vax-verifier solution has been re-used from a previous demo.
Chris' code is mostly custom developed, including B2C Flows. James leveraged Microsoft and 425 Show samples as a starting point for his development.
Challenges we ran into
Ideally, we would support transfer with a single scan of a QR code. As an example, we can require a VC to issue another separate VC, however this must be specified at design/deployment. This means that we cannot implement a simpler verification and issuance flow which allows us to customise the required DID's on the fly.
We noticed an issue with credentials which require a VC to issue, authenticator allows us to "click next" until success however.
Accomplishments that we're proud of
- James: I'm really proud I was able to get a demo working. I come from an IT Infrastructure background and I don't write .Net or JavaScript code often (never professionally). As such I spent a lot of time learning .net concepts required to build the Vax-Pass website.
- Chris: I implemented some B2C Flows that I'm quite happy with!
What we learned
- There is multiple ways within Azure AD Verifiable Credentials to issue a VC. Each method has it's own nuances to be catered for. In General, we think Credential Exchange within Verifiable Credentials could be improved.
- James learnt a bunch of new .net skills - Hooray!
What's next for Vaccine Passports - Credential Exchange
- Update transfer to localised device specific credentials (Apple/Android Wallets)
- Currently accepted DID's are hard-coded to the Vax-Verifier, ideally we would update the site with an admin panel to specify these.
- Enhance feedback and options for scenarios where the user does not have an acceptable pass to convert.
Log in or sign up for Devpost to join the conversation.