> For the complete documentation index, see [llms.txt](https://docs.zetrix.com/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zetrix.com/en/developer-resources/zcert-issuer-platform.md).

# ZCert Issuer Platform

The **ZCert Issuer Platform** provides a structured and secure environment for organizations to manage **Verifiable Credential (VC)** components, specifically **VC Templates** and **Design Passes**. The platform assigns clear responsibilities and approval workflows based on user roles to ensure quality, governance, and consistency across issued credentials.

### **User Roles in the ZCert Issuer Platform**

The platform supports two primary roles:

#### **Issuer Admin**

* Holds the highest authority within the Issuer’s organization.
* Manages templates, design passes, and approvals.
* Oversees makers (sub-issuers) and validates their submissions.

#### **Maker (Sub-Issuer)**

* Responsible for preparing templates and design passes.
* Requires approval from the appropriate authority before templates or designs can be used.

### Understanding Templates and Design Passes

#### VC Template (Mandatory)

A **VC Template** defines the **core data schema** and **required fields** used during VC issuance.\
It is the essential component for creating Verifiable Credentials.

* Contains the key-value structure, rules, and metadata for the credential.
* Used directly by the VC Issuance API and issuance console.
* Must exist before any credential can be issued.

Example of VC template:

```json
{
    "templateType": "MYKAD",
    "data": {
            "name": "Ali bin Abuq",
            "dob": "1990-01-01",
            "gender": "Male",
            "nationality": "Malaysian",
            "mykadNo": "901231-14-5678",
            "citizenType": "Warganegara",
            "address": "No. 123, Jalan Merdeka",
            "postcode": "43000",
            "city": "Kajang",
            "state": "Selangor",
            "photo": "base64-photo-string",
            "securityImage": "base64-security-image"
            }
} 

```

#### Design Pass (Optional)

A **Design Pass** is the **visual representation** of the credential, generated by combining:

* The VC Template (data structure), and
* A custom design layout (visual appearance)

Design passes function like **digital cards**, similar to how a digital passport, MyKad, or membership card visually displays the credential data.

* Enhances user experience by providing a branded, readable, card like UI.
* Completely optional VCs can be issued without a design pass.

### Template Creation Workflow

<figure><img src="/files/ak57YKpw90A9sptAnQON" alt=""><figcaption></figcaption></figure>

#### **By Issuer Admin**

* Issuer Admin can create a template directly.
* **No approval is required.**\
  Once created, the template is immediately available for VC issuance.

#### **By Maker (Sub-Issuer)**

* Maker can create a template draft.
* The draft requires **Issuer Admin approval** before it becomes active.
* Ensures organizational governance and data schema integrity.

### Design Pass Workflow

Because design passes reflect the Issuer’s official visual identity, the platform enforces a stricter control mechanism.

#### **Approval Requirement**

* **All design passes whether created by Issuer Admin or Maker require Superadmin approval.**
* This ensures visual quality, branding consistency, and adherence to display standards.

#### **Design Pass Lifecycle**

1. **Creation**\
   Maker or Issuer Admin creates a design pass and maps it to the VC Template.
2. **Pending Approval**\
   The design pass enters the **‘Pending Approval’** state.
3. **Superadmin Review**\
   The Superadmin validates layout quality, readability, branding, and schema alignment.
4. **Approval or Rejection**\
   Only after approval can the design pass be used to generate digital card visuals during VC issuance.

### Template and Design Status Indicators

#### **Template Status: “Draft”**

<figure><img src="/files/rIUtIMBGaGBWHxUV27h2" alt=""><figcaption></figcaption></figure>

When a template is first created:

* The system marks the template as **“Draft”**.
* At this stage, the template has **not yet been submit**.
* The Issuer must **submit the template** before it can progress to the next stage.

This ensures that:

* The template structure is confirmed by the Issuer.
* No design or issuance activities can begin until the template is formally submitted.

#### **Template Status: “Pending Design”**

<figure><img src="/files/mpIaqYfAGk43s6WhEVA1" alt=""><figcaption></figcaption></figure>

After the Issuer Admin successfully creates a template:

* The system marks the template as **“Pending Design”**.
* At this stage, the template is **fully usable** for VC issuance even without a design pass.

This allows Issuers to:

* Start issuing VCs immediately using the template’s data schema.
* Optionally create a design pass later to support visual rendering.

#### **Design Pass Status: “Pending Approval”**

<figure><img src="/files/jpOLPeiJCw0KK0vjnoCI" alt=""><figcaption></figcaption></figure>

Once a design pass is created:

* Status changes to **“Pending Approval”**.
* The ZID Superadmin must validate the design before it can be used.
* Ensures the final appearance meets quality and compliance requirements.

#### **Design Pass Status: “Completed”**

<figure><img src="/files/ihropYJDiEo4KTR4zwaH" alt=""><figcaption></figcaption></figure>

When the Superadmin approves the design:

* The system marks the design as **“Completed”**.
* All approved design passes are now published and ready for use.

This enables:

* VC issuance with the finalized digital card layout.
* Seamless integration of template data into the approved visual design.

#### **Design Pass Status: “Pending Publish”**

<figure><img src="/files/Yr5Up9nodvvJToQJTzp9" alt=""><figcaption></figcaption></figure>

After a design pass is approved by the Superadmin:

* The system marks the design as **“Pending Publish”**.
* This indicates that the design is approved but **not yet published** for production use.
* The final step requires the Issuer to publish the design.

This ensures that:

* Approved designs undergo a controlled release process.
* Only intentionally published designs appear in production for VC generation.

#### **Design Pass Status: “Rejected”**

<figure><img src="/files/TofTy57tuRng0SZGcFQR" alt=""><figcaption></figcaption></figure>

If the design does not meet quality requirements:

* The system marks the design pass as **“Reject”**.
* The Maker or Issuer Admin must revise and resubmit the design.

This ensures that:

* Only compliant, high-quality visual layouts are published.
* Incorrect mapping, poor layout, or branding inconsistencies are corrected before use.

### Summary of Workflow

<table><thead><tr><th width="251.4444580078125">Component</th><th width="132.7777099609375">Created By</th><th>Approval Required</th><th>Usable for VC Issuance</th></tr></thead><tbody><tr><td><strong>VC Template</strong> (Issuer Admin)</td><td>Issuer Admin</td><td>No</td><td>Yes</td></tr><tr><td><strong>VC Template</strong> (Maker)</td><td>Maker</td><td>Yes – Issuer Admin</td><td>Yes (after approval)</td></tr><tr><td><strong>Design Pass</strong> (Issuer Admin or Maker)</td><td>Both</td><td><strong>Yes – Superadmin</strong></td><td>Yes (after approval)</td></tr></tbody></table>

### Onboarding to VC

All onboarding steps should first be performed on the **Testnet environment** for testing, and once validated, the same steps can be applied on **Mainnet** for production use:

* **Testnet**: <https://zid-issuer-sandbox.zetrix.com/#/>
* **Mainnet**: <https://zid-issuer.zetrix.com/#/>

1. Log in using the Zetrix wallet at website to register and manage VC template.\
   **Note:** Developers may also create a template directly via the API.
2. Fill in the company information and submit the application form.

   <figure><img src="/files/CumjkOaRAIrGg5Qs6KVk" alt=""><figcaption></figcaption></figure>
3. Once approved, the Issuer can create and manage a VC template as shown below.

   <figure><img src="/files/pzKvRLrWOYVBgXj3RDkG" alt=""><figcaption></figcaption></figure>
4. After the VC template is submitted, it will shown in dashboard.
