TD;DR

📣 Announcement 📣

The Factorlabs Bank mobile 📱 application is now available.

The primary purpose is to demonstrate the business cases for Verifiable Credentials.

Visit the Factorlabs VC Bank on the Google Store at https://play.google.com/store/apps/details?id=eu.factorlabs.android.bank.wallet

Details

The Verified ID service was used to build a payment system.

Big Picture

Hej

Actors

Bank Customer

  • Uses Factorlabs VC Bank Application on the Android device.
  • Can create a bank account.
  • Can use bank account to pay via supported eCommerce websites.

Bank System

  • Can create a bank account for the customer.
  • Can transfer money between accounts to support the payment process.
  • Can return account balance.

eCommerce Websites

  • Can ask for the bank account number.
  • Can receive the payment.

Demo overview

demo part 1 demo part 2

Key Features

  • VC Wallet - based on the Entra Verified ID SDK we build a native mobile application (Android) that allows users to store and manage their Verifiable Credentials. As this is a custom implementation (VC Wallet), the journey is fully customized to the needs of the Factorlabs Bank.
  • VC Issuer - the Factorlabs Bank can issue Verifiable Credentials for users. The process is fully automated, and the user can receive the VC in a few seconds. The current flow is in the alpha state, and I will update you on the progress.
  • VC Verifier/Presentation - with two simple, dedicated eCommerce websites: Art Gallery and Lunch Place. You can present your Bank Account Number (Verifiable Credential) and pay.

Technical Components - Azure Services

  • Azure App Service - to host the Factorlabs Bank API & eCommerce Websites.
  • Entra Verified ID - to issue and verify Verifiable Credentials.
  • Azure Cosmos DB - to store the bank accounts and transactions.
  • Entra ID - to use Service Principal & parent for Verified ID service.

tech

Technical details

Please check my blog post about Entra Verified ID.

Try on your own

Please check “Verified ID Workshop”: https://github.com/mjendza/workshop-verified-id

With a few simple steps, and 3-5 lines of code changes you can run a full scenario with Entra Verified ID and Verifiable Credentials.

Next Steps

  • Improve onboarding process - VC Issuance process to support account recovery process - most probably with email address.
  • Android App integration with Azure AD B2C - passwordless solution with a dedicated application from mobile, web and mobile-browser.

History

history.png

  • First Commit: 07-07-2023
  • First Android Commit: 03-04-2024
  • Total Merged PRs: 157
  • Languages: JavaScript (with JQuery), HTML, CSS, Kotlin, Java, C#

Android changes

design.png

Challenges

  • To make a public Android App in the Google Store I’m needed to keep the tests for 14 days with 20 active users. Thank you for all the testers!
  • Azure Subscription to deploy services.