diff --git a/docs/quick-start-demo.md b/docs/quick-start-demo.md index f43491b9..db73a67d 100644 --- a/docs/quick-start-demo.md +++ b/docs/quick-start-demo.md @@ -15,98 +15,132 @@ keywords: --- import useBaseUrl from '@docusaurus/useBaseUrl'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -This tutorial is a quick demonstration of some of Privado ID's main functionalities. To illustrate how Privado ID works, we will walk you through some of its products and tools by following along a simple POAP use case. -POAP stands for Proof of Attendance Protocol, which is used to prove that someone has taken part in a given event. +This tutorial illustrates Privado ID's main functionalities. It walks through Privado ID's products and tools by presenting a simple POAP use case. POAP stands for Proof of Attendance Protocol, which is used to prove that someone has taken part in a given event. -This guide will briefly touch on the 3 roles of the [Triangle of Trust](introduction.md#core-concepts-of-privado-id-verifiable-credentials-identity-holder-issuer-and-verifier), namely the Identity Holder, the Issuer and the Verifier. For that, we will take the case of an individual who needs to prove that they were able to participate in a particular event. - -These are the steps we will cover in this article: +In this tutorial, you will assume each of the 3 roles required by the [Triangle of Trust](introduction.md#core-concepts-of-privado-id-verifiable-credentials-identity-holder-issuer-and-verifier): the Identity Holder, the Issuer, and the Verifier. You will: 1. [Set up a Privado ID wallet](#set-up-a-privado-id-wallet) -2. [Issue a new credential to attest to the ID Holder's attendance to the event](#issue-a-new-credential-to-attest-to-the-id-holders-event-attendance) +2. [Issue the POAP credential](#issue-the-poap-credential) 3. [Fetch the newly created credential](#fetch-the-newly-created-credential) 4. [Verify the ID holder credential](#verify-the-id-holder-credential) ## Set up a Privado ID wallet -To store verifiable credentials, the Identity Holder (the individual receiving the credential) needs a compatible wallet. Here, we’ll use the Privado ID Wallet, which supports both mobile and web-based access. +To store verifiable credentials, the Identity Holder (the individual receiving the credential) needs a compatible wallet. Here, we’ll use the Privado ID Wallet, which supports both Mobile and Web-based access. + :::note -You can also use any Privado ID compatible wallet. Please, check our [Ecosystem page](https://marketplace.privado.id/ecosystem) for other options. +You may use any Privado ID compatible wallet. Our [Ecosystem page](https://marketplace.privado.id/ecosystem) lists all supported wallets. ::: -To get started with the Privado ID Wallet, you can either visit the [Privado ID Web Wallet](https://wallet.privado.id/) in your browser or download the mobile app and create an Identity. +To get started with the Privado ID Wallet, either visit the [Privado ID Web Wallet](https://wallet.privado.id/) in your browser or download the Mobile App and create an Identity. -- Web Browser: Privado ID Web Wallet -- For Android: Privado ID Wallet App on Google Play -- For iOS: Privado ID Wallet App on the App Store + + + +Privado ID Web Wallet :::note -- The Privado ID Web Wallet is a web based identity wallet. It is a reference implementation built using our [JS SDK](/docs/js-sdk/js-sdk-overview.md). Learn more about the Web Wallet [here](/docs/wallet/web-wallet.md). -- Privado ID Wallet App is an implementation of the [Wallet SDK](/docs/category/wallet-sdk), as a way of showcasing its possibilities. Learn more about the Wallet App [here](/docs/wallet/wallet-app/privadoid-app.md). +The Privado ID Web Wallet is a Web-based identity wallet. It is a reference implementation built using our [JS SDK](/docs/js-sdk/js-sdk-overview.md). [Learn more about the Web Wallet](/docs/wallet/web-wallet.md). ::: -## Issue a new credential to attest to the ID Holder's event attendance + + + + +- Android: Privado ID Wallet App on Google Play +- iOS: Privado ID Wallet App on the App Store + +:::note +Privado ID Wallet App is an implementation of the [Wallet SDK](/docs/category/wallet-sdk), as a way of showcasing its possibilities. [Learn more about the Molbile Wallet](/docs/wallet/wallet-app/privadoid-app.md). +::: -A trusted entity, for instance, a private institution will now play the role of an issuer. It will be responsible for creating the credential and sending it to the ID Holder. + + -We are using the Issuer Node UI Demo environment to manage credentials. This is the place where you as an issuer can can create and manage identities and credentials, generate connections and manage schemas. -However, if you are using a new credential type, you actually need to create a schema for that credential, which basically is the set of JSON files that gather all the attributes of that specific credential. +## Issue the POAP credential -To facilitate this issuance process, we have already created the credential schema with schema type POAP01 whose URLs are the following: +You will now take the role of an Issuer, in this example, the private institution/trusted entity that held the event and creates a POAP. The Issuer is responsible for both creating the credential and sending it to the Identity Holder. -- JSON schema URL - `ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX` -- JSON-LD Context - `ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X` +We will use the Issuer Node UI Demo environment to manage credentials. This environment enables an Issuer to create and manage identities and credentials, generate connections, and manage schemas. :::note -To learn how to set up your own issuer environment by deploying an issuer node, visit the [Issuer section in the documentation](./issuer/issuer-overview.md). +When an Issuer releases a new credential type, they create a schema representation of the credential. This comprises a set of JSON files that gather all the credential's attributes. + +[Learn how to set up your own Issuer environment by deploying an Issuer node](/docs/issuer/issuer-overview.md). ::: +To simplify this demo issuance, we provide an existing credential schema with schema type POAP01: + + + + +```ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX``` + +> View this credential's data using an online gateway. + + + + + + +```ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X``` + +> View this credential's data using an online gateway. + + + + + :::info -The schema used in this demo was built using the Privado ID Schema Builder and is available on [the Privado ID Schema Explorer](https://tools.privado.id/schemas/1fa99457-b2ae-4884-ae12-d658bd6abf69). Learn more about creating new schemas on [the Schema Builder UI guide](/docs/issuer/schema-builder/). +The schema used in this demo was built using the Privado ID Schema Builder and is available on [the Privado ID Schema Explorer](https://tools.privado.id/schemas/1fa99457-b2ae-4884-ae12-d658bd6abf69). Learn more about creating new schemas from [the Schema Builder UI guide](/docs/issuer/schema-builder/). ::: -### Issue a new credential to attest to the ID Holder's attendance to the event +### Generate the credential -With the new schema in hand, the issuer should now be able to generate a credential. +With the new schema in hand, the Issuer can generate a credential. -1. First, go to the the Issuer Node UI testing environment. +1. Navigate to the Issuer Node UI testing environment. :::warning - This Issuer Node is publicly available and used only for testing purposes. Do not use personal or sensitive data. All data is deleted every 48 hours. + Only use this publicly available Issuer Node for testing purposes. Do not submit personal or sensitive data. All data is deleted every 48 hours. ::: -2. Now you need to import the schema. Click on **Import Schema** and paste our previously generated schema IPFS address `ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX`: +2. Next, import the schema. -
- -
+ 2.1 Click on **Import Schema** and paste the schema's IPFS address `ipfs://QmTSwnuCB9grYMB2z5EKXDagfChurK5MiMCS6efrRbsyVX`: - You may preview the schema and then Import it. +
+ +
-3. You can go ahead and click on **Issue Credential** in the top righ-hand corner. Choose **Credential Link** on the next page and your schema on the dropdown menu ("POAP01", in our case). For this credential, we are providing a proof of attendance to an event in Paris: + 2.2 Preview the schema and then Import it. + +3. Next, click on **Issue Credential** in the top right-hand corner. Choose **Credential Link** on the next page and your schema on the dropdown menu ("POAP01", in our case). For this credential, we are providing a proof of attendance at an event in Paris:
-4. After you click on **Create Credential Link**, you'll be presented with a Universal Link and a Deep Link to the credential offer, along with a QR code configured for these links. The QR code can be scanned directly with the Privado ID Wallet app. +4. Click on **Create Credential Link** to be presented with links and a QR code configured for these links to claim the credential. The QR code can be scanned directly with supporting mobile apps, e.g. the Privado Mobile Wallet app. :::info - When the user interacts with the [Universal Link](/docs/wallet/universal-links.md) , it will launch the Privado ID Web Wallet in the browser or Privado ID Wallet app in case of a mobile phone displaying the credential offer to claim the credential. Deep link could be handled only by mobile wallet app though. + Two link types are created to provide access to the credential: + - Mobile Wallet apps such as the Privado ID Mobile App and other supported mobile wallets support Deep Link + - The Privado ID Web Wallet and other Mobile Wallet apps [ support the Universal Link](/docs/wallet/universal-links.md) ::: @@ -116,72 +150,80 @@ With the new schema in hand, the issuer should now be able to generate a credent ## Fetch the newly created credential -Now we are back to the ID Holder role. You can either use the Web Wallet on the browser or the Wallet App to accept the credential via the link or the QR code generated by the issuer in the last step. +Next, you will take the second role in this tutorial: the ID Holder. You can either use the Web Wallet in the browser or the Mobile Wallet to accept the credential via the link or the QR code generated by the Issuer in the previous step. :::note -To sync the identity and its associated credentials between the Privado ID Web Wallet and the Privado ID Wallet App, the user must log in with the same crypto wallet account on both platforms. Once you claim a credential on one platform, it will be visible on the other. + +To sync the identity and its associated credentials between the Privado ID Web Wallet and the Privado ID Mobile Wallet, the user must log in with the same crypto wallet account on both platforms. Once you claim a credential on one platform, it will then be visible on the other. + ::: -#### Web Wallet +To fetch the credential: + + + -After clicking the Universal link, it will take you to the Web Wallet. Click **Sign In** and connect your crypto wallet such as Metamask. Click **Add to my wallet**. This should add the credential to your wallet. +1. Click the Universal link, which will take you to the Web Wallet. Click **Sign In** and connect your crypto wallet such as MetaMask. Click **Add to my wallet**. This should add the credential to your wallet.
+
-Click on **Manage your credentials** to view and manage the credential in the Web Wallet. + + +1. Scan the QR code. Click **Sign In**. This should authenticate and add the credential to the Wallet.
- +
+
+
-#### Mobile Wallet App -Alternatively, Scan the QR code from the Wallet App. Click **Sign In**. This should authenticate and add the credential to the Wallet. +2. Click on **Manage your credentials** to view and manage the credential in the Wallet.
- +
- ## Verify the ID holder credential -Here comes the third role in this tutorial: the verifier. This could be represented by an organization that needs to verify some details of someone's credentials. In our use case, this organization wants to verify whether the ID holder actually attended our made-up Paris event. +Next, you will take the third role in this tutorial: the Verifier. This might be an organization that needs to verify some details of a person's credentials. In our use case, this organization wants to verify whether the Identity Holder actually attended our made-up Paris event. -Here are the steps to verify the credential: +To verify the credential: -1. Visit the [Query builder website](https://tools.privado.id/query-builder/). The [Query Builder](/docs/verifier/query-builder/) is a tool designed to simplify the creation of verification queries. +1. Visit the [Query Builder website](https://tools.privado.id/query-builder/). The [Query Builder](/docs/verifier/query-builder/) is a tool designed to simplify the creation of verification queries.
-2. You now need to define the query. You will now make use of the JSON-LD URL which we have also provided: `ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X`. Here is how the query should look like: +2. Define the query. We will use the existing JSON-LD URL: `ipfs://QmdH1Vu79p2NcZLFbHxzJnLuUHJiMZnBeT7SNpLaqK7k9X`. The query should look like this:
-3. Click **Create Query**. Now click **Test query** button which will take you the Privado ID Web Wallet +3. Click **Create Query**. Now click the **Test query** button which will take you to the Privado ID Web Wallet:
-4. Click **Sign in** and connect your crypto wallet. As you have already claimed the credential, it shows as 'claimed'. Click **Verify**, after which the process of generating the proof starts. +4. Click **Sign in** and connect your crypto wallet. As you have already claimed the credential, it shows as 'claimed'. Click **Verify**, to initiate the process of generating the proof.
-5. Finally, the proof is generated and sent to the verifier. The verifier will then check the revocation status and any additional information to validate the proof. You will receive the following response on the Query Builder website: +5. Finally, the proof is generated and sent to the Verifier. The Verifier will then check the revocation status and any additional information to validate the proof. You will receive the following response on the Query Builder website:
-Alternatively, you can also use Privado ID Wallet app to verify. +Alternatively, you can also use the Privado ID Wallet app to verify. After Step 3, once you are redirected to Web Wallet, click on **Continue via app**, this should present a QR code. Open the Privado ID Wallet App and scan the QR code. Click on **Verify** @@ -189,9 +231,7 @@ Click on **Verify** -

-This quick-start guide demonstrates Privado ID’s basic functionalities through a POAP use case, covering wallet setup, credential issuance, retrieval, and verification. While this is a simplified example, Privado ID provides a comprehensive suite of SSI tools for managing decentralized identity and verifiable credentials. - +This quick-start guide demonstrates Privado ID’s basic functionalities through a POAP use case, covering wallet setup, credential issuance, retrieval, and verification. This example requires the user to participate in all three roles to demonstrate Privado ID's comprehensive suite of Self-Sovereign Identity (SSI) tools for managing decentralized identity and verifiable credentials. In real-world uses cases, a single entity would typically fit just one of these roles. diff --git a/docusaurus.config.js b/docusaurus.config.js index bb9adcc5..40cbc23d 100755 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -6,7 +6,7 @@ require("dotenv").config(); module.exports = { title: "Privado ID Documentation", tagline: "The official developer documentation hub for Privado ID.", - url: "https://devs.polygonid.com", + url: "https://docs.privado.id", baseUrl: "/", favicon: "/img/privado_favicon.png", organizationName: "0xPolygonID", @@ -112,19 +112,19 @@ module.exports = { label: "Tools", items: [ { - href: "https://schema-builder.polygonid.me/", + href: "https://tools.privado.id", label: "Schema Explorer", }, { - href: "https://schema-builder.polygonid.me/builder", + href: "https://tools.privado.id/builder", label: "Schema Builder", }, { - href: "https://schema-builder.polygonid.me/query-builder", + href: "https://tools.privado.id/query-builder", label: "Query Builder", }, { - href: "https://jwz.polygonid.me", + href: "https://jwz-validator.privado.id", label: "JWZ Validator", }, ],