Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Verifiable Credentials

Privacy-preserving credentials compliant with W3C VC v2.0 and anchored to SafePulse.

Overview

SafePulse Verifiable Credentials (VCs) provide a secure, decentralized way to issue, verify, and present proofs of skills, achievements, education, compliance, licenses, membership, identity attributes, business records, or attestations.

VCs are tamper-proof and cryptographically verifiable. They are stored in the user's device (self-sovereign), portable across networks and platforms, and privacy-preserving through selective disclosure and verifiable presentations. Built on the W3C Verifiable Credential v2.0 standard, a VC is signed by the issuer's Wallet, held by the user device, and verifiable by any third party.

Context & Problem

Traditional credentials like certificates, licenses, and IDs are easy to forge, hard to verify internationally, and often reveal too much personal data. They require slow manual processes and are not portable across platforms.

SafePulse VCs solve this by being verified via blockchain and DID signatures, requiring no central authority. They support selective disclosure—revealing only what is necessary—and can represent any type of claim, from academic to corporate to legal. VCs integrate deeply with SafePulse's identity and document ecosystem, powering secure verification workflows.


Step-by-Step Tutorial

A. Receiving a Credential

This process stores a credential issued to you in your local wallet.

  1. Open the SafePulse Lite dApp.
  2. Navigate to Credentials.
  3. Tap Load Credential.
  4. Scan the QR code provided by the issuer, or paste the credential payload directly.
  5. dApp will automatically verify:
    • The issuer's DID and its validity.
    • The cryptographic signature on the credential.
    • The credential's expiration date and revocation status (if applicable).
  6. Once verification is successful, Credential will be loaded locally.

Your new Credential is now available in your dApp for future presentations or sharing.

B. Issuing a Credential

This process allows an authorized issuer to create and sign a new Verifiable Credential for a subject.

Prerequisites for Issuers

  • Your issuer account DID must be created.
  • You must have the necessary issuer permissions within your organization's workflow (for organization usecase's).
  • (Optional) A pre-created Verifiable Document if you wish to attach additional files to the credential.

Steps

  1. Navigate to the Credential tap on Create Credential button in the application and choose the New Credential.
  2. Fill in the credential fields:
    • Type: Select the appropriate type, such as Certificate, Membership, License, or a custom type.
    • Subject DID: Enter the decentralized identifier of the person or entity receiving the credential.
    • Data Fields: Input the specific claims and attributes (e.g., course name, achievement level, compliance status).
  3. (Optional) Attach a Verifiable Document if the credential requires supplementary proof or a linked document.
  4. Tap Issue to create the credential.
  5. Your wallet will sign the VC using your issuer DID's private key.
  6. Share the completed VC with the subject using one of the available methods:
    • A QR Code for them to scan.
    • A Export/Import button if user wants to share the full credential file.

C. Presenting a Credential (Verifiable Presentation)

A Verifiable Presentation allows you, the holder, to share only the required parts of a credential, preserving maximum privacy.

  1. Open the credential you wish to share from your wallet.
  2. Tap the Present button.
  3. Use the selection interface to choose only the specific fields you need to reveal to the verifier. Unselected fields will be hidden.
  4. The dApp will generate a Verifiable Presentation that includes:
    • The selectively disclosed data.
    • A cryptographic proof of your DID authentication as the holder.
    • An on-chain anchor for proof integrity.
  5. Share the generated presentation with the verifier via QR code or direct message.

D. Revoking a Credential (Optional)

If an issued credential needs to be invalidated, the original issuer can revoke it.

  1. Navigate to the Issued Credentials section of your profile.
  2. Select the specific credential you need to revoke.
  3. Tap the Revoke button.
  4. Confirm the revocation action, which will be signed with your issuer DID.

Once revoked, any future verification checks against this credential will show it as invalid.


Credential Structure (Simplified Example)

A VC is a JSON object containing the claims, the issuer and subject DIDs, and a cryptographic proof.

{
  "@context": ["https://www.w3.org/2018/credentials/v2"],
  "type": ["VerifiableCredential", "EducationCertificate"],
  "issuer": "did:ethr:0xABC...",
  "credentialSubject": {
    "id": "did:ethr:0x123...",
    "name": "John Doe",
    "course": "Blockchain Development"
  },
  "proof": {
    "type": "EcdsaSecp256k1Signature",
    "created": "2025-01-01T00:00:00Z",
    "proofPurpose": "assertionMethod",
    "verificationMethod": "did:ethr:0xABC#owner",
    "signatureValue": "0x..."
  }
}

Use Cases

  • Education & Certification: A university issues a digital degree as a VC. A student shares it with an employer, who verifies its authenticity instantly without contacting the school.
  • Enterprise Compliance: An employee receives a "Certified AML Officer" credential. A financial institution verifies the employee's DID, the issuing company's DID, and the credential's integrity in seconds.
  • Talent & Freelancing: A freelancer presents a verified work history or skill credential. A client validates their identity attributes without seeing any unnecessary personal details.
  • Privacy-Preserving ID Checks: A user needs to prove they are over 18. They present a Verifiable Presentation from a government ID credential that reveals only the "Over 18" attribute, keeping their full name and address hidden.
  • Web3 & DAO Reputation: A DAO issues a contribution-based VC to a member. On-chain tools read this VC to grant roles, voting rights, or access to gated channels.

Benefits & Drawbacks

Benefits

  • Trustless and verifiable: Authenticity is proven by cryptographic signatures, not by trusting a platform.
  • Self-sovereign: Credentials are stored in your wallet, not controlled by SafePulse or any other platform.
  • Portable: Use your credentials across different applications, companies, and blockchain networks.
  • Privacy-preserving: Selective disclosure and Verifiable Presentations allow you to share only the minimum necessary data.
  • W3C Compliant: Global standard compatibility ensures broad interoperability.

Drawbacks

  • User responsibility: You must safeguard your wallet and your credentials. Loss of a device or private key requires a secure backup to recover.
  • Revocation requires active issuer: A credential can only be revoked if the original issuer maintains their DID and performs the action.
  • Ecosystem adoption: Some external platforms may still rely on centralized or non-standard credential formats.

Best Practices

For Issuers

  • Use a stable, persistent DID to ensure long-term verifiability of your credentials.
  • Anchor your revocation registry on-chain so verifiers can always check the latest status.
  • Avoid including unnecessary personal data in the credential itself; only put what is required for verification.
  • Use credential types aligned with global schemas (like those from W3C) to improve interoperability.

For Holders

  • Make secure, encrypted backups of your wallet and stored credentials.
  • Always use Verifiable Presentations with selective disclosure to maximize your privacy.
  • Keep your DID keys secure and follow best practices for key rotation.

For Verifiers

  • Always check the DID signature on the credential and its validity timestamp.
  • Verify the credential's revocation status against the issuer's registry before accepting it.
  • Use standards-compliant VC parsers to ensure correct interpretation and best interoperability.