Truvity's Challenge: Enable Miko's Journey
Tracks: Reusable Identity
Register: DevPost
Informational Session: Watch the recording
DIF Hackathon Discord Channel: #truvity
Website: Truvity
Overview
This track invites participants to explore how decentralized identity and verifiable credentials can streamline complex eKYC processes and digital identity management using self-sovereign identity solutions. The challenges focus on building innovative applications that simplify the journey of individuals like Miko, an expat moving to Amsterdam, by leveraging digital wallets, to-do lists, and interlinked verifiable credentials.
To build the applications you need to leverage the Truvity SDK (available in TypeScript and Java).
Challenges
Challenge 1: Miko’s Journey to Amsterdam: Reusable Digital Identity for Expats
Challenge Description
Miko, a talented backend developer from outside of Europe, is relocating to Amsterdam to join a small yet ambitious startup to develop a cutting-edge Self-Sovereign Identity solution. Amsterdam, the new Verifiable Credentials capital, has a relatively new requirement: all documents in legally-binding processes should be exchanged in the form of Verifiable Credentials between Digital Identity Wallets (both for businesses and retail users). Her Digital Identity Wallet with an embedded to-do list is the key to navigating the complex process of settling as an expat. The wallet's to-do list guides Miko through each step, ensuring that she gathers and submits all required verifiable credentials (VCs) from the right issuers.
The to-do list is pre-configured to:
- Know all necessary issuers and where to send collected credentials for verification and further actions.
- Ensure that some issuers, particularly for more complex processes, only accept interlinked VCs, meaning Miko can’t submit non-linked credentials, ensuring that the integrity of her data is maintained across all processes.
Note: The Municipality of Amsterdam fully controls the document issuance in Amsterdam, therefore all businesses and municipal workers must use the municipality's platform and issue VCs on its behalf.
Miko's To-Do List:
- Obtain an Employment Contract
- VC: Employment Offer Letter
- The to-do list prompts Miko to receive and store this VC from her new employer.
- Apply for and Receive a Visa
- VCs:
- Proof of Identity
- Employment Contract
- Proof of Financial Stability
- Drafts: Allow Miko to begin the process while gathering necessary documents. The visa application can’t be submitted until all relevant VCs are linked.
- Register with the Municipality
- VCs:
- Employment Contract
- Proof of Identity
- Birth Certificate
- The to-do list automatically guides Miko through the residency registration process.
- Open a Bank Account
- VCs:
- Proof of Registration issued by the municipality
- Employment Contract
- Proof of Identity
- Bank institutions that are integrated with the wallet’s interlinked VCs require a full set of linked documents to open her account.
- Secure Housing and Sign a Rental Agreement
- VCs:
- Employment Contract
- Proof of Identity
- Bank Account Details
- The final task, completing her journey with signing a rental agreement, depends on all the previous linked VCs in her wallet.
What we are looking for:
- eKYC with Reusable Identity is a complex process involving many actors, processes, and documents. You can model the process from the perspective of an Issuer or a Relying Party (Verifier), but the most interesting part would be building the Expat Wallet that orchestrates the entire flow using a pre-built To-Do List.
- We've created many features to simplify this journey. Review them all and use as many as possible in your solution.
- You don’t need to focus on the real content of the documents; feel free to model them with few fields found online.
Challenge 2: eKYC: Compliance Officer Panel
Challenge Description
Building on the journey in Challenge 1, this second challenge focuses on the role of a Compliance Officer in the process of verifying and approving the credentials Miko submits. You may model just a part of the whole process (as well as Miko's wallet, it shouldn't even have the UI).
In Step 4, Miko submits her documents to open a bank account. These documents include:
- Proof of Registration from the Municipality
- Employment Contract
- Proof of Identity
- Proof of Address
The task is to build a simple Compliance Officer Panel (webpage) where:
- Miko's submitted VCs are received by the bank's compliance officer.
- The compliance officer reviews the documents, approves or rejects them, and logs the decision.
- On approval, the officer issues a new VC (e.g., “Bank Account Information") and sends it back to Miko’s Digital Wallet.
Key Features:
- The panel allows the compliance officer to view and review interlinked VCs.
- The panel allows the compliance officer to search through received VCs and their content.
- The panel provides clear options for approval or rejection of each document.
- The VCs are interconnected, and documents can’t be reviewed or approved unless all linked VCs are present.
Prizes
Total: $5,000 USD
- Challenge 1
- 1st place: $1,500 USD
- 2nd place: $700 USD
- 3rd place: $300 USD
- Challenge 2
- 1st place: $1,500 USD
- 2nd place: $700 USD
- 3rd place: $300 USD
Submission requirements
- W3C-compliant verifiable credentials.
- 3-minute video describing the application and its functionality.
- URL to the public code repository.
- Text description of:
- Project's features and functionality.
- How DIDs, VCs, and other submission requirements were used in the application.