> For the complete documentation index, see [llms.txt](https://polygon-id.gitbook.io/demoissuer/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://polygon-id.gitbook.io/demoissuer/demo-issuer.md).

# Demo Issuer

{% hint style="success" %}
[Demo Issuer - Github Repo](https://github.com/0xPolygonID/demo-issuer)
{% endhint %}

### Introduction to Polygon ID

[Issuers](https://0xpolygonid.github.io/tutorials/issuer/issuer-overview/) are core parts of [Polygon ID.](https://0xpolygonid.github.io/tutorials/) Their role is to attest to identity-related information by issuing Claims.&#x20;

You can think of a [Claim](https://docs.iden3.io/protocol/claims-structure/#index-vs-value) as a statement made by one identity about another. A claim is a flexible and modular data primitive representing any identity-related information.&#x20;

*Users* hold claims in their [Wallets](https://0xpolygonid.github.io/tutorials/wallet/wallet-overview/) and portably use them to authenticate privately across platforms.

{% hint style="info" %}
Claims live off-chain as they are stored locally inside users' Wallets
{% endhint %}

On the other side, there are [Verifiers,](https://0xpolygonid.github.io/tutorials/verifier/verifier-overview/) web2 or web3 platforms that want to authenticate users based on their claims. In particular, Verifiers consume ZK-Proofs generated by the user based on the claims stored in their wallet.&#x20;

### Demo Issuer&#x20;

The Demo Issuer is an open-source [Sample Library](https://github.com/0xPolygonID/demo-issuer) written in Golang built on top of [Iden3 Protocol](https://docs.iden3.io/). It contains the minimum functionalities necessary to run an issuer. Any integrators can fork the repo and start issuing claims!&#x20;

&#x20;The features of the Demo Issuer are:&#x20;

* Issue Claims to other Identities and publishes the state on-chain
* Store these Claims and manage their access:
  1. It can store the issued claims in a database (a key-value database in our case)
  2. It can make sure that only identities for whom these claims were issued can access them
* Make these claims available to be fetched only to specific Identities after authentication
* Provide further data related to claims, such as their [Revocation Status](https://docs.iden3.io/protocol/spec/#revocation-tree)

Implementors can start from the [Demo Issuer](https://github.com/0xPolygonID/demo-issuer) to understand its core functionalities and build on top of that: for example by plugging the issuer into an existing database or modifying the key management system.

### Index&#x20;

* Complete the [Getting Started](/demoissuer/getting-started.md) to configure your Demo Issuer locally
* Discover all the functionalities made available through the Demo Issuer [APIs](/demoissuer/apis.md)
* Check out the [KYC Age Demo](/demoissuer/kyc-age-demo.md) for an example of an application built on top of the Demo Issuer
