> For the complete documentation index, see [llms.txt](https://docs.zerolabs.green/zerolabs-tokenization-module/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zerolabs.green/zerolabs-tokenization-module/domain-definitions/issuer.md).

# Issuer

An **Issuer** is an on-chain entity that [issues](https://app.gitbook.com/s/J1hmZlUO8raciusperMH/~/changes/P5GTpIhCn9Diil5OE1Fh/domain-definitions/bi-directional-link/issuance) [Certificates](/zerolabs-tokenization-module/domain-definitions/certificate.md) in the [Certificate Registry](/zerolabs-tokenization-module/domain-definitions/smart-contracts/certificate-registry.md) smart contract.

The issuer can be one of the following:

1. Privately held **public/private keypair**, i.e. a regular Ethereum account
   * When you want a single party to be responsible for the issuance
   * Works in automated environments, but otherwise discouraged
   * <mark style="color:red;">NOT RECOMMENDED</mark> due to the fact that if the keypair is leaked, the issuance process is, compromised.
2. **Multisig wallet**
   * Recommended when you want multiple parties to be in charge of the issuance process
   * A bit more complex setup in automated environments
   * [Gnosis Safe](https://gnosis-safe.io/), etc.
3. **Smart Contract**
   * The issuer can be ANY smart contract with an Ethereum address
   * Can be used when a more complex permissioning setup is needed as compared to the previous options\ <br>
