DIDoT - DID of Things
Decentralized Identity of Things. Allergen management in food shopping.
What if 'things' had a verifiable credential (VC)?
For foods a VC could detail its certified ingredients and specific information pertinent to those with specific dietary or allergen requirements. For produce the providence of them maybe important for items such as Feta or Champagne.
For medicines it could go further with solutions that take VCs from a patient for each of their medications and anonymously provide a drug interaction checker for the specific combination of those medications.
Our team met each day to discuss ideas for the hackathon that met the brief but that would also be interesting to build. Something that we hadn't done, but that we thought was a reference example for how decentralized identity could be used.
After discussing the primary concept of 'things' having a VC, we expanded that to our own personal lives and how some of us struggle with trusting ingredients and the hopeless feeling sometimes of not being able to eat anything. Its exhausting! We used this as inspiration for our hack.
After deciding on the solution we'd proceed with we fleshed out the idea and produced the narrative and wireframes before dividing up the tasks and setting up the schedule to produce the solution over the hackathon period.
DIDoT - DID of Things
Our solution is based on the concept of 'things' having verifiable credentials as detailed in the above.
Each year in the U.S., 200,000 people require emergency medical care for allergic reactions to food.
Furthermore approximately 40 percent of children with food allergies are allergic to more than one food.
- shellfish: 8.2 million
- milk: 6.1 million
- peanut: 6.1 million
- tree nuts: 3.9 million
- egg: 2.6 million
- fin fish: 2.6 million
- wheat: 2.4 million
- soy: 1.9 million
- sesame: 0.7 million
Expanding globally food allergy cases have risen by as much as 50 percent in the past decade with a 700 percent rise in hospitalisations due to anaphylaxis. Globally, more than 250 million people suffer from a food allergy with more than 17 million people suffering from food allergies in Europe alone. It is estimated that over three percent of adults and up to six percent of children have a food allergy.
If foods had a certified ingredients verifiable credential we could have a service that provides confidence to the millions of people with food allergies and sensitivities without them needing to share personal information.
DIDoT Verifiable Credentials Process Flow
If foods had a verifiable credential what would the information flow look like? How could such a service anonymously provide the necessary allergen information sought by allergen sufferers?
This is our concept of the interaction of an Online Food Store with a Allergen Check service utilising Azure AD Verifiable Credentials.
Our proposed solution requires a virtual wallet that can be orchestrated programmatically. We discussed how other self sovereign solutions have this capability and confirmed with the AAD Verifiable Credentials hackathon support team that this capability is not available.
We decided to proceed by creating a workaround simulating the issuing and verification of a product (thing) based verifiable credential using the Microsoft Authenticator. We envisage that a virtual wallet for scenarios like this would be highly advantageous.
Our team is globally dispersed and the development of our solution had the feel of a follow the sun methodology. Each team member worked on elements of the solution that they previously were not intimately familiar with. We worked great together during the hackathon period and are all very proud of what we achieved and learned.
Give it a try - Demo Links
The Orange Meta-Hypermart is online here with our food shopping site.
The Solution Issuer and Verifier are online here.
How we built it
The solution was built on Azure extending the Verifiable Credentials Code Samples.
- We configured a development Azure Tenant for Azure AD Verifiable Credentials
- We created and issued a VC for our Identirati Pasta Elbows product.
- We configured our VC Verifier
- We extended the sample code to publish the ingredients and allergens of our Identirati Pasta Elbows to an endpoint for our Online Store to poll and retrieve.
The endpoint is always present but is null unless an item has just been verified.
When verified the product details are published in JSON for the front end to pick up. Once the endpoint has been accessed and the details retrieved the endpoint is automatically flushed reverting to null.
End User Online Food Store Experience
The end user online experience is detailed in the series of screenshots below.
This repo contains the files from our Decentralized Identity of Things allergen management in food shopping solution.
** VC (./VC) This folder contains the VC templates and MVC app for the verifier application