The Verida Protocol alpha release, which offers a way to abstract away the complexities of encryption, permissioning, schemas, and user management, is currently live for Web 3.0 developers.
As mentioned in the announcement, this release comes with the Verida Client (software development kit) SDK, Single Sign-On (SSO) SDK, Storage Node, and Verida Vault (iOS).
As noted in a blog post, the Verida Protocol aims to give users “greater control and privacy over their own data.”
The Verida protocol enables application developers to create applications with:
- A QR code based single sign-on experience for decentralized applications or dApps
- Decentralized personal data storage that is GDPR compliant, suitable for securing PII, region aware and high performance.
- Decentralized messaging to “communicate between users, applications and consensually share private data.”
- An intuitive interface “enabling users to conduct transactions on multiple blockchains (coming in the next beta release).”
- Developers are able to quickly develop self-sovereign apps that “allow users to own their data and control how it is used.” It has been “designed from the ground up on the foundations of user-owned data, with a strong focus on decentralized identities, application interoperability, and data security.”
As explained in the update, the Verida Protocol offers an easy to use client library (Client SDK) that has been designed to abstract away the complexities of encryption, permissioning, schemas and user management.
Apps are able to access user data “once unlocked by a user’s mobile data wallet (Verida Vault),” the update noted.
Apps created using the Verida Protocol with common schemas enable data to be “shared or synchronized across all other applications used by the same user.” This offers “unparalleled data portability.” The system is “distributed by design, enabling user data to be stored on the Verida storage node, a user’s own infrastructure, or use third party hosting providers,” the announcement explained.
The blog post further noted that apps may store unstructured data, but are “encouraged to use the built-in data schemas pre-defined by Verida (or develop their own custom schemas).”
This ensures interoperability between apps deployed on top of the Verida Protocol “since data of a particular type created in one application can be used in all other applications that support that data type,” the announcement explained.
Verida Vault
As noted in the update, the Verida Vault is a mobile app for users that offers private key management and an intuitive interface for “interacting with the Verida network.”
It holds the end users’ personal data (including credentials) and “securely synchronizes it with other applications,” the announcement added.
To integrate Verida Vault authentication into your app, you can “pull in the Verida Single Sign-On (SSO) SDK into your app.” The Verida SSO SDK is “a decentralized single sign-on client and server SDK that enables seamless QR code authentication via the Verida Vault mobile.”
Some of the benefits of using the Verida Vault when creating apps include:
- Protect your data — The Verida Vault ensures you own and control your personal data. With Verida Vault, your data is always encrypted using a private key stored on your device. You can also apply a set of delegated permissions when consensually sharing it with other users and services.
- Secure messaging — The Verida Vault has a secure data inbox that allows you to safely transfer messages and data to other users or third-party services.
Manage your profile — You can use Verida Vault to manage your decentralized public profile and consensually share private profiles with third parties. - Leverage a superior single sign-on experience — The Verida Vault provides a simple yet effective way of securing access to decentralized applications built on top of the Verida framework.
As mentioned in the update, the Verida Client SDK is an open source implementation of the Verida protocol to “connect to the Verida network.” It enables developers to “access the encrypted storage, identity, messaging, and schemas capabilities.”
The announcement also mentioned that this Verida Client SDK is the primary library used by developers to “add Verida protocol support into an application.”
There are two implementations for the client SDK:
- NodeJs Client — A package that can be used in a web browser or NodeJs environment.
- React Native client — A package that can be used in React Native mobile applications (Learn more).
The Client SDK offers the following key capabilities:
- Authenticate a user via a known private key or by scanning a QR code
- Access encrypted database storage for your application for the authenticated user
- Send/receive messages between different users and applications
A user is able to have “multiple application contexts that provide completely separate databases, messaging and storage,” the announcement noted.
The announcement also clarified that this is an alpha testnet release, and there “are no API stability or data storage guarantees.”
As explained in the update, the Verida SSO SDK is “a decentralized single sign-on client and authentication server SDK that enables seamless QR code authentication via the Verida Vault mobile application.”
The blog post pointed out that Verida “provides secure database storage and encryption for user data” and “no user data or Personally Identifiable Information (PII) is stored on-chain.”
The Verida Node Storage, is “designed for storing private user data, incorporates access controls with flexible encryption and permissioned data synchronization.” And it is “region aware and is designed to meet GDPR requirements,” the update noted.
For more details on this update, check here.