Introduction
============


In a public, decentralized system like the Canton Network with no central authority to establish 
identity or credentials, having a standardized way to attest certain facts about parties and assets is 
critical and fundamental.  Based on the W3C Verifiable Credentials concept, the credential module 
leverages Canton and Daml to create a new standard of trust and efficiency. Verifiable Credentials 
allow claims about an entity to be securely and tamper-evidently represented. These credentials can 
be issued, held, and verified by different parties, ensuring trustworthy and privacy-respecting information.

Deploying these credentials on a network ensures transparency, immutability, and decentralization. 
Each credential is represented by a smart contract, certifying the credential and enabling its use in 
various contexts, such as managing permissions or verifying eligibility for regulated assets.

The Credential utility enables individuals and organizations to own and issue credentials easily, 
supporting use cases like identity verification, regulatory compliance, asset management and 
professional certification. By integrating verifiable credentials with blockchain technology, we are 
transforming trust and verification in the financial services industry.


.. image:: pictures/credential_utility_intro.png


Use Cases
-------------------

* **Identity Verification:** Financial institutions require robust identity verification processes for customer onboarding. 

  * Example: A bank issues a verifiable credential to a customer upon successful KYC (Know Your Customer) verification. 
    This credential can be used by other financial service providers to verify the customer's identity without repeating the KYC process, 
    reducing costs and improving customer experience.

* **Regulatory Compliance:** Financial institutions must comply with anti-money laundering (AML) and counter-terrorist financing (CTF) regulations.

  * Example: Regulators can issue compliance certificates as verifiable credentials to institutions that meet AML and CTF requirements. 
    Financial service providers can present these credentials to prove compliance during audits or transactions, ensuring a transparent 
    and efficient regulatory process.

* **Creditworthiness Assessment:** Lenders need to assess the creditworthiness of individuals or businesses applying for loans.

  * Example: Credit rating agencies issue verifiable credentials representing credit scores. Applicants can present these credentials to lenders, 
    who can verify the information on the blockchain, ensuring the credibility and authenticity of the credit scores.

* **Professional Certification and Licensing:** Ensuring that financial advisors, brokers, and other professionals are properly certified and licensed. 

  * Example: Certification authorities issue verifiable credentials to professionals who meet specific qualifications and licensing requirements. 
    Financial institutions can verify these credentials before engaging in business relationships, ensuring compliance with industry standards and 
    regulations.



Roles
-------------------

The credential model offers two roles, which are presented by two different service contracts.

.. image:: pictures/credential_utility_roles.png
   :height: 200px
   :width: 200px

Operator
^^^^^^^^^^^^^^
* Maintains Daml models, provides the User Interface, operates automation on behalf of users
* Onboards Users to the Credential Utility
* Example: Digital Asset


User:
^^^^^^^^^^^^^^
Users generally fall into one of two categories:

* Credential Issuer

  * issues credentials to other users (Holders)
  * credentials can be offered as free or as a paid option 
  * Example: financial institutions issuing KYC / AML credentials

* Credential Holder

  * Receives, purchases, and holds credentials from Issuers
  * Example: investors (as holders)

An entity can be both issuer (of some credentials) and holder (of other credentials).



The Credential Contract
--------------------------

The Credential is represented by a Daml Smart Contract that adapts the concept of the W3C verifiable credentials, a standard for digitally representing information about individuals, organizations, or entities in a secure and privacy-respecting way. These credentials can be used to  prove various claims, such as identity, qualifications, or attributes.

The credential Contract has the following data structure:

* **Issuer:** PartyId of the Credential Issuer
* **Holder:** PartyId of the Credential Holder
* **Id:** Identifier of the Credential
* **Description:** Description of the Credential
* **Claims:** A list of claims, which are statements about a subject, e.g. “Pat is an alumni of XYZ University" ... Each claim contains:

  * **Subject**: The subject of the claim (“Pat” in the example above).
  * **Property**: Property of the claim ("alumniOf" in the example above).
  * **Value**: Value of the claim property ("XYZ University" in the example above)