The Verifier is a key entity within the AIR Credential ecosystem, responsible for verifying the authenticity of a user’s credential and determining whether it meets predefined conditions. Leveraging zero-knowledge proofs, the Verifier can validate credentials without accessing or exposing sensitive user data.
As a Verifier, your role is to verify the authenticity of user credentials and ensure they meet the required conditions. Follow these steps to integrate and operate the verification process.
Access the Verifiable Widget SDK:
Download and integrate the Verifiable Widget SDK into your application environment.
Refer to the SDK documentation to connect it to your backend system.
Access the Verifier Dashboard:
Log in to the Verifier Dashboard to configure verification programs.
Select Network and Credential Schema:
In the Dashboard, configure the network.
Specify the schema of the credentials to be verified.
Define Verification Conditions:
Use the Define Query module to set up specific verification conditions, such as:
Attributes to verify (e.g., age, nationality).
Operators (e.g., Equals, Not Equals, Includes, Excludes).
Attribute values to match.
Specify the Issuer’s DID to ensure the credentials being verified originate from a trusted issuer. (if needed)
Review and Save the Program:
Provide a program name and review all configured details before saving.
Deploy the Program:
Deploy the verification program to the Chain. Once deployed, the program cannot be modified.
Request Credential Verification:
Use the Verifiable Widget SDK to send credential verification requests to users.
Fetch Encrypted Credentials:
The SDK retrieves the user's encrypted credentials from the Decentralized Storage using the user’s wallet address and program configuration.
Decrypt Threshold Keys:
Users approve the decryption process by authorizing the threshold key to the Verifier:
The SDK ensures the threshold key is securely signed and encrypted before storing it in the Decentralized Storage.
Decrypt Credential and Validate Conditions:
The SDK uses the user’s private key to decrypt the credential.
Verify the credential’s validity and expiration.
Generate Zero-Knowledge Proof (ZKP):
Based on the verification program’s queries, the SDK generates a ZKP.
On-Chain Verification:
Submit the ZKP to the on-chain smart contract.
The smart contract validates the ZKP and returns the verification result.
Access Verification Records:
Use the Verifier Dashboard to view all verification records, including:
Holder ID
Schema Name
Program Name and ID
Verification Time and Status
Query Details
Search and Filter Records:
Search by user identifier or credential ID to locate specific records.