cover_image_wallet.png

Affinidi’s Digital Wallet — Explained

The Affinidi Wallet is a web-based responsive SSI wallet application for holders to request, store, share and manage their digital identity and verifiable credentials.
image
Affinidi
Nov 15, 2021

Wallets are an important accessory that we carry at all times. Besides money and debit/credit cards, it also holds our driver’s license, health insurance, and other documents that identify you and authenticate you to access certain services.

As we transition to a digital life, the physical wallet is giving way to a digital wallet that contains all the information related to our identity, but in a digital format.

In this sense, a digital wallet is an encrypted storage for securely storing your verifiable credentials, public and private keys, or any other secure information related to your identity.

Now that you have an idea of what a wallet is, let’s learn more about the Affinidi wallet.

What is the Affinidi Wallet?

The Affinidi Wallet is a web-based responsive Self-Sovereign Identity (SSI) wallet application for holders to request, store, share and manage their Verifiable Credentials (VCs) and digital identity.

Specifically, you can do the following with Affinidi’s wallet.

Store Verifiable Credentials

Affinidi wallet is a single repository of all your verifiable credentials obtained from different issuers.

You can imagine this digital wallet to be something similar to your physical wallet where you carry your driver’s license, credit cards, and other IDs. Except that in this wallet, everything is digital, so it is safe from thefts and accidental losses.

Share Verifiable Credentials

You can share your VC with anyone on the Internet with just a click. Simply click the share button and copy the link that the Affinidi wallet generates for that VC.

You can share the link with anyone or you can even choose to share the link directly through social media platforms like Facebook, LinkedIn, Twitter, and Whatsapp.

Control your VCs

One of the key tenets of SSI is to give you complete control over your data and credentials.

With Affinidi wallet, you can choose to accept or reject any VC, and can decide whom you want to share it with. Also, you can choose to select only some part of the VCs, based on how the VC is implemented.

Additionally, you can view the VCs issued to you at any time and delete the ones that you think are revoked, expired, or not applicable for you anymore.

Thus, these are some things you can do with the Affinidi wallet.

Next, let’s look at the workflow of the wallet, right from the time a VC is issued to a new user.

Workflow of Affinidi Wallet

The Affinidi wallet is simple to use, thereby making it ideal for all scenarios and use-cases.

Here is the step-by-step workflow for a new user.

Step 1: Create a VC and send an email

When an issuer issues a new VC to a holder who is not already signed up for the Affinidi wallet, an email is sent to the holder with a link to create the Affinidi wallet.

wallet_1.png

When the user clicks the “Add to wallet!” button, the onboarding process begins.

Step 2: Create a new account

The user is directed to an onboarding screen. Here, the user is prompted to enter a new password and confirm it. Also, there is a two-factor authentication check in place, and the user has to enter the OTP sent to the associated email ID.

Please note that the password must contain a minimum of eight characters with one lowercase, one uppercase, one special character, and one number respectively.

wallet_2.png

Step 3: Accept or Reject the VC

Once the user logs in, he or she can choose to accept or reject the VC.

wallet_3.png

As you can see, all the pertinent information about the VC is displayed, so the user can make an informed decision.

This is an important step as it gives the user complete control over what he/she wants to do with every VC. If the user rejects the VC, the same is discarded and not stored in the wallet. On the other hand, if the VC is accepted, it is stored in the wallet.

Step 4: View the VC

After accepting the VC, the same is stored in the wallet and is displayed to the user.

During subsequent logins, the user can see all the VCs stored in the wallet and can click on them for specific details.

When the user clicks on a particular VC, all the information contained in it is displayed.

wallet_4.png

Step 5: Share the VC

Sharing the information contained in the VC is easy.

There are two ways to share the VC, and they are:

  • Entire VC, where all the information such as your first name, last name, email ID, etc. are shared.
  • Selective disclosure, where you choose to share only some information from the VC.

To do this, choose a VC and click on “Selective Share” at the top right-hand corner and a pop-up will appear showing all the details.

You can select the information you want to share and click the “Update” button.

This will create a shareable link that you can send to anyone. You can even share it through Facebook, Twitter, Whatsapp, and LinkedIn.

wallet_5.png

Please note that the “selective share” option will be displayed only if the VC supports selective disclosure that’s implemented through BBS+ signatures. If the VC doesn’t support selective disclosure, you will see only a “share” option.

wallet_6.png

In this case, you can share the entire VC only.

Step 6: Delete the VC

An important pillar of self-sovereign identity is to give you control to do whatever you want with your information, including deleting it.

Affinidi wallet gives you the option to delete any VC at any time. Simple click on the three dots on the right-hand top corner and choose “delete”.

You will be asked for confirmation.

wallet_7.png

When you select “yes”, the VC will be deleted.

Thus, these are the things a user can do with the Affinidi wallet, right from the time a VC is issued.

Moving on, let’s dwell a bit on the technical implementation.

Technical Implementation of the Wallet

The key API of our tech stack that supports wallet implementation is the Cloud-wallet-api

wallet_api.png

This API interacts with the user and enables this entity to securely store, access, and share VCs.

Functionality

This API supports the following functionalities.

Onboarding

  • DID/key creation
  • Recovery flow

Storage

  • Backup of VCs
  • Key Recovery
  • Key Rotation
  • VC Revocation

Exchange

  • Claim a VC
  • Share a VC
  • Share a VP

Selective disclosure

  • User management
  • API for signup — This API will create DIDs and keys.
  • API for sign in
  • API for forgot password

Credential management

  • Store VCs
  • Pull VCs

Signing operations

  • signVC

  • signVP

  • signJWT

  • Sharing a temporary public link to access a particular VC.

To learn more about this wallet and how you can implement it in your application, reach out to us on Discord.

Why Use the Affinidi Wallet?

Now that we have seen the technical side of the Affinidi wallet, here are some compelling reasons to use it today.

  • It is a safe place to store your VCs
  • Sharing VCs is simple and easy.
  • Supports selective disclosure
  • Comes with a simple and intuitive user interface.
  • Gives complete control over every VC.
  • Follows the principles of SSI
  • Highly extensible, as you can use it for custom wallet implementations like yourEdge wallet.

We welcome you to try this wallet to understand how simple and easy it can be to securely store and share your credentials.

For more such articles, go to our Learning Hub.

To learn more about SSI, visit our dev portal, join our mailing list and follow us on LinkedIn, Facebook, and Twitter.

The information materials contained in this article are for general information and educational purposes only. It is not intended to constitute legal or other professional advice.

Get an email whenever Affinidi Publishes!

Subscribe