# 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](https://docs.zerolabs.green/zerolabs-tokenization-module/domain-definitions/certificate) in the [Certificate Registry](https://docs.zerolabs.green/zerolabs-tokenization-module/domain-definitions/smart-contracts/certificate-registry) 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>
