zkPass
zkPass User's Guide
zkPass User's Guide
  • Getting Started
    • 🔊Introduction
      • What is zkPass?
      • How does it work?
      • How zkPass can help you
      • What's Ahead
    • 🌤️Service-based Proof System
      • Main Features
      • zkPass Workflows
      • Deployment Options
        • Public-Cloud Hosting
        • Private-Cloud Hosting
        • On-Premise Hosting
    • 🗝️Key Concepts
      • User Data
      • DVR
      • zkPass Proof
  • Core Components
    • 🏛️Service Architecture
      • RESTful API Web Service
      • zkPass Query Host
    • 👥zkPass Client Roles
    • 🤝Trust Models
      • Data Privacy Trust Model
      • Data Integrity Trust Model
      • Computation Integrity Trust Model
    • 👩‍💻zkPass Module
  • Use Cases
    • 🩸Employee Onboarding
      • “Blood Test Result” User Data
      • "Employee Onboarding" DVR
      • zkPass Integration
      • Call Sequence
    • 🚘Loan Application Screening
      • “BCA Customer Profile” User Data
      • Loan Screening DVR
      • zkPass Integration
      • Call Sequence
    • 🛒Sharing OIDC Users Securely
      • "ShopSphere ID Token" User Data
      • "ShopSphere Account Holder" DVR
      • zkPass Integration
        • Integration Guidelines for ShopSphere OIDC Provider
        • Integration Guidelines for Krisna Service
        • Integration Guideline for ShopSphere App
      • Call Sequence
  • FAQ
    • How is verifiable computing implemented by ZKP?
  • Glossary
    • Client-based Proof System
    • DVR
    • User Data
    • zkPass Proof
Powered by GitBook
On this page
Export as PDF
  1. Use Cases
  2. Loan Application Screening

Loan Screening DVR

Previous“BCA Customer Profile” User DataNextzkPass Integration

Last updated 1 year ago

Following the zkPass SDK guideline, BCA Finance which takes the client role of the Proof Verifier, defines the “Loan Screening” for users who are applying for the car loan. The requirements for the car loan are encapsulated in a query, which is detailed in the Data Verification Request (DVR). This query is formulated using the zkPass Query language, which is JSON-based.

Query

The DVR Query for Ramana Maharshi looks like the following.

All these conditions must be met for the overall criteria to be satisfied:

  1. The Document ID (bcaDocID) should exactly match "DOC897923CP", which is the document id for BCA Customer Profile.

  2. The first name under personalInfo should match "Ramana" (case insensitive).

  3. The last name under personalInfo should match "Maharshi" (case insensitive).

  4. The driver's license number under personalInfo should match "DL77108108" (case insensitive).

  5. The credit rating from Pefindo, found under financialInfo, should be equal to or greater than 650.

  6. The balance in the savings account, under financialInfo, should be equal to or greater than 55,000,000.

[
  {
    "assign": {
      "loan_application": {
        "and": [
          {
            "==": [
              {
                "dvar": "bcaDocID"
              },
              "DOC897923CP"
            ]
          },
          {
            "~==": [
              {
                "dvar": "personalInfo.firstName"
              },
              "Ramana"
            ]
          },
          {
            "~==": [
              {
                "dvar": "personalInfo.lastName"
              },
              "Maharshi"
            ]
          },
          {
            "~==": [
              {
                "dvar": "personalInfo.driverLicenseNumber"
              },
              "DL77108108"
            ]
          },
          {
            ">=": [
              {
                "dvar": "financialInfo.creditRatings.pefindo"
              },
              650
            ]
          },
          {
            ">=": [
              {
                "dvar": "financialInfo.accounts.savings.balance"
              },
              55000000
            ]
          }
        ]
      }
    }
  },
  {
    "output": {
      "title": "Loan Query Results"
    }
  },
  {
    "output": {
      "result": {
        "lvar": "loan_application"
      }
    }
  },
  {
    "if": {
      "condition": {
        "lvar": "loan_application"
      },
      "then": [
        {
          "output": {
            "name": {
              "dvar": "personalInfo.firstName"
            }
          }
        }
      ],
      "else": [
        {
          "output": {
            "rejected": "Your loan application has been rejected."
          }
        }
      ]
    }
  }
]
🚘
DVR