# zkPass

## zkPass Developer's Guide

- [Introduction](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/introduction.md)
- [Architecture](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/architecture.md): To address the limitations of the client-based proof system architecture, we introduce zkPass, a service-based proof system operating as a Proof-as-a-Service platform.
- [zkPass Components](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/zkpass-components.md): The zkPass is a cloud-based infrastructure composed of three main components: zkPass Service, zkPass Modules, and zkPass Client Library.
- [Trust Models](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/trust-models.md): The zkPass Service employs different trust models with regard to data privacy, data integrity, and computation integrity.
- [Deployment](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/deployment.md)
- [Public-Cloud Hosting](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/deployment/public-cloud-hosting.md)
- [Private-Cloud Hosting](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/deployment/private-cloud-hosting.md)
- [On-Premise Hosting](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/deployment/on-premise-hosting.md)
- [SDK Objectives](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/sdk-objectives.md)
- [API Key](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-overview/api-key.md)
- [DVR](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr.md): Data Verification Request
- [High Level View](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/high-level-view.md): Data Verification Request (DVR) is the main zkPass module running within the framework of the zkPass Service.
- [Key Concepts](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/key-concepts.md)
- [User Data](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/key-concepts/user-data.md): User data encapsulates a spectrum of sensitive and confidential attributes, credentials, or claims, ranging from driver's licenses and passports to financial credentials such as bank account details.
- [DVR Info](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/key-concepts/dvr-info.md): Data Verification Request Info
- [zkPass Proof](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/key-concepts/zkpass-proof.md)
- [DVR Client Roles](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles.md): The DVR follows a robust trust model inspired by the W3C Decentralized Identifiers (DID) standards. Within the zkPass ecosystem, we define three client roles which participate in the zkPass ecosystem.
- [Data Issuer](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-issuer.md)
- [Providing User Data Retrieval API](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-issuer/providing-user-data-retrieval-api.md): Providing a REST API to retrieve the user data
- [Data Holder](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-holder.md)
- [1. Retrieving the DVR](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-holder/1.-retrieving-the-dvr.md): Retrieving the Data Verification Request (DVR) from the Proof Verifier
- [2. Retrieving the User Data](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-holder/2.-retrieving-the-user-data.md): Retrieving the User Data from the Data Issuer
- [3. Generating the Proof](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-holder/3.-generating-the-proof.md): Calling zkPass Service's generate\_zkpass\_proof REST API to create the ZkPass Proof
- [4. Verifying the Proof](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/data-holder/4.-verifying-the-proof.md): Sending the ZkpassProof object to the Proof Verifier for verification
- [Proof Verifier](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/proof-verifier.md)
- [1. Providing DVR Retrieval API](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/proof-verifier/1.-providing-dvr-retrieval-api.md): Providing a REST API to retrieve the DVR
- [2. Providing Proof Verification API](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-client-roles/proof-verifier/2.-providing-proof-verification-api.md): Providing a REST API to verify ZkPass Proof
- [DVR Query](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-query.md): DVR defines a JSON query language that allows the Proof Verifier to check if the user has data that meets specific requirements, conditions, or constraints.
- [Building Query Engine](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-query/building-query-engine.md)
- [Processing Query](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-query/processing-query.md)
- [Query Grammar](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-query/query-grammar.md)
- [Integration Guidelines](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/integration-guidelines.md): For successful integration into the DVR application workflow, each client stakeholder is advised to follow the guidelines specified in this documentation.
- [DVR Workflows](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/zkpass-modules/dvr/dvr-workflows.md)
- [Typescript](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/typescript.md)
- [Running Code](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/typescript/running-code.md)
- [Code Snippet](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/typescript/code-snippet.md)
- [Directory Structure](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/typescript/directory-structure.md)
- [Rust](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/rust.md)
- [Running Code](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/rust/running-code.md)
- [Code Snippet](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/rust/code-snippet.md)
- [Directory Structure](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/sdk-tutorial/rust/directory-structure.md)
- [Typescript](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript.md)
- [Classes](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/classes.md)
- [Class: DvrModuleClient](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/classes/class-dvrmoduleclient.md): Client class for the DVR module, accessing the DVR module functions
- [Functions](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/functions.md)
- [Functions: ffiHelper](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/functions/functions-ffihelper.md): Helper functions for transforming data into FFI-compatible format
- [Functions: jwtHelper](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/functions/functions-jwthelper.md): Helper functions for extracting and validating JWT payloads
- [Functions: publicKeyOptionUtils](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/functions/functions-publickeyoptionutils.md): A collection of utility functions for converting between PublicKey and KeysetEndpoint
- [Type Aliases](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/type-aliases.md)
- [Types](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/type-aliases/types.md): A collection of types used in the DVR module
- [Types: ffiType](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/type-aliases/types-ffitype.md): A collection of FFI types used in the DVR module
- [Interfaces](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/interfaces.md)
- [Interfaces](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/interfaces/interfaces.md): A collection of interfaces used in the DVR module
- [Constants](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/constants.md)
- [Constants](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/constants/constants.md): A collection of constants used in the DVR module
- [Enums](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/constants/enums.md): A collection of enums used in the DVR module
- [Errors](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/typescript/errors.md): A collection of error codes reference for the DVR module
- [Rust](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/rust.md)
- [Building Rust doc](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/rust/building-rust-doc.md)
- [RESTful API](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api.md)
- [Overview](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/overview.md)
- [Endpoints](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/endpoints.md)
- [Generate Proof](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/endpoints/generate-proof.md)
- [Utilities](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/utilities.md)
- [Generate Key Pair](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/utilities/generate-key-pair.md)
- [Sign User Data and DVR](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/utilities/sign-user-data-and-dvr.md)
- [Encrypt User Data and DVR](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/utilities/encrypt-user-data-and-dvr.md)
- [Errors](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/api-reference/restful-api/errors.md)
- [DVR](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/glossary/dvr.md): Data Verification Request
- [User Data](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/glossary/user-data.md): User Data encapsulates a spectrum of sensitive and confidential attributes, ranging from governmental identification forms like driver's licenses and passports to bank accounts.
- [ZKP](https://gl-docs.gitbook.io/zkpass/zkpass-developers-guide/glossary/zkp.md): Zero Knowledge Proof

## zkPass User's Guide

- [Introduction](https://gl-docs.gitbook.io/zkpass/getting-started/introduction.md): Welcome to the zkPass User's Guide! If you're a software engineer or a technical professional seeking an introduction to zkPass, this is the ideal starting point for you.
- [What is zkPass?](https://gl-docs.gitbook.io/zkpass/getting-started/introduction/what-is-zkpass.md)
- [How does it work?](https://gl-docs.gitbook.io/zkpass/getting-started/introduction/how-does-it-work.md)
- [How zkPass can help you](https://gl-docs.gitbook.io/zkpass/getting-started/introduction/how-zkpass-can-help-you.md)
- [What's Ahead](https://gl-docs.gitbook.io/zkpass/getting-started/introduction/whats-ahead.md)
- [Service-based Proof System](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system.md)
- [Main Features](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system/main-features.md)
- [zkPass Workflows](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system/zkpass-workflows.md)
- [Deployment Options](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system/deployment-options.md)
- [Public-Cloud Hosting](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system/deployment-options/public-cloud-hosting.md)
- [Private-Cloud Hosting](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system/deployment-options/private-cloud-hosting.md)
- [On-Premise Hosting](https://gl-docs.gitbook.io/zkpass/getting-started/service-based-proof-system/deployment-options/on-premise-hosting.md)
- [Key Concepts](https://gl-docs.gitbook.io/zkpass/getting-started/key-concepts.md)
- [User Data](https://gl-docs.gitbook.io/zkpass/getting-started/key-concepts/user-data.md): User data encapsulates a spectrum of sensitive and confidential attributes, credentials, or claims, ranging from driver's licenses and passports to financial credentials such as bank account details.
- [DVR](https://gl-docs.gitbook.io/zkpass/getting-started/key-concepts/dvr.md): Data Verification Request
- [zkPass Proof](https://gl-docs.gitbook.io/zkpass/getting-started/key-concepts/zkpass-proof.md)
- [Service Architecture](https://gl-docs.gitbook.io/zkpass/core-components/service-architecture.md)
- [RESTful API Web Service](https://gl-docs.gitbook.io/zkpass/core-components/service-architecture/restful-api-web-service.md)
- [zkPass Query Host](https://gl-docs.gitbook.io/zkpass/core-components/service-architecture/zkpass-query-host.md)
- [zkPass Client Roles](https://gl-docs.gitbook.io/zkpass/core-components/zkpass-client-roles.md): zkPass follows a robust trust model inspired by the W3C Decentralized Identifiers (DID) standards. Within the zkPass ecosystem, we define three client roles which participate in the zkPass ecosystem.
- [Trust Models](https://gl-docs.gitbook.io/zkpass/core-components/trust-models.md)
- [Data Privacy Trust Model](https://gl-docs.gitbook.io/zkpass/core-components/trust-models/data-privacy-trust-model.md)
- [Data Integrity Trust Model](https://gl-docs.gitbook.io/zkpass/core-components/trust-models/data-integrity-trust-model.md)
- [Computation Integrity Trust Model](https://gl-docs.gitbook.io/zkpass/core-components/trust-models/computation-integrity-trust-model.md)
- [zkPass Module](https://gl-docs.gitbook.io/zkpass/core-components/zkpass-module.md)
- [Employee Onboarding](https://gl-docs.gitbook.io/zkpass/use-cases/employee-onboarding.md): Jane Doe has accepted a job offer from Namaste Tech. As part of the drug screening process required by the company, she has to take a blood test.
- [“Blood Test Result” User Data](https://gl-docs.gitbook.io/zkpass/use-cases/employee-onboarding/blood-test-result-user-data.md)
- ["Employee Onboarding" DVR](https://gl-docs.gitbook.io/zkpass/use-cases/employee-onboarding/employee-onboarding-dvr.md)
- [zkPass Integration](https://gl-docs.gitbook.io/zkpass/use-cases/employee-onboarding/zkpass-integration.md)
- [Call Sequence](https://gl-docs.gitbook.io/zkpass/use-cases/employee-onboarding/call-sequence.md): The following call sequence diagram provides a visual representation of the programmatic workflow interactions among the zkPass client stakeholders and the zkPass Service.
- [Loan Application Screening](https://gl-docs.gitbook.io/zkpass/use-cases/loan-application-screening.md): To illustrate the car loan application screening use case, BCA Bank and BCA Finance act as stand-ins for the roles of Data Issuer and Proof Verifier, respectively.
- [“BCA Customer Profile” User Data](https://gl-docs.gitbook.io/zkpass/use-cases/loan-application-screening/bca-customer-profile-user-data.md)
- [Loan Screening DVR](https://gl-docs.gitbook.io/zkpass/use-cases/loan-application-screening/loan-screening-dvr.md)
- [zkPass Integration](https://gl-docs.gitbook.io/zkpass/use-cases/loan-application-screening/zkpass-integration.md)
- [Call Sequence](https://gl-docs.gitbook.io/zkpass/use-cases/loan-application-screening/call-sequence.md): The following call sequence diagram provides a visual representation of the programmatic workflow interactions among the zkPass client stakeholders and the zkPass Service.
- [Sharing OIDC Users Securely](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely.md)
- ["ShopSphere ID Token" User Data](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/shopsphere-id-token-user-data.md)
- ["ShopSphere Account Holder" DVR](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/shopsphere-account-holder-dvr.md)
- [zkPass Integration](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/zkpass-integration.md)
- [Integration Guidelines for ShopSphere OIDC Provider](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/zkpass-integration/integration-guidelines-for-shopsphere-oidc-provider.md)
- [Integration Guidelines for Krisna Service](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/zkpass-integration/integration-guidelines-for-krisna-service.md)
- [Integration Guideline for ShopSphere App](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/zkpass-integration/integration-guideline-for-shopsphere-app.md)
- [Call Sequence](https://gl-docs.gitbook.io/zkpass/use-cases/sharing-oidc-users-securely/call-sequence.md)
- [How is verifiable computing implemented by ZKP?](https://gl-docs.gitbook.io/zkpass/faq/how-is-verifiable-computing-implemented-by-zkp.md)
- [Client-based Proof System](https://gl-docs.gitbook.io/zkpass/glossary/client-based-proof-system.md): In a conventional ZKP-based, client-side privacy protection architecture, the generation of the Zero Knowledge Proof (ZKP) takes place on the user's device.
- [DVR](https://gl-docs.gitbook.io/zkpass/glossary/dvr.md): Data Verification Request
- [User Data](https://gl-docs.gitbook.io/zkpass/glossary/user-data.md)
- [zkPass Proof](https://gl-docs.gitbook.io/zkpass/glossary/zkpass-proof.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://gl-docs.gitbook.io/zkpass/getting-started/introduction.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
