CertificatesVerifiable credentialing, not PDF generation

Verifiable certificates with a visual designer.

The certificate system is a complete credentialing surface — not a PDF generator. Institutions design templates in a Fabric.js visual canvas with placeholder tokens for certificate number, QR code, and verification URL. Pack-level rules govern auto-issuance with configurable completion thresholds, including retroactive issuance for students who already meet the criteria. Every issued certificate has a public verification page that returns valid/revoked status with partial-name privacy.

The designer

Institutions design their own certificates.

  • 938×660 visual canvas

    Fabric.js editor with text, image, shape, grid-snap, and zoom.

  • Placeholder tokens

    {certificateNumber}, {qrCode}, {verificationUrl}, plus arbitrary {fieldName} mapped to the student record.

  • Immutable versioning

    Every save creates a new revision. Previously issued certificates retain their template version forever.

  • Brand fidelity

    Bring institutional logo, fonts, signatures, and seals. The institution owns the visual; ArthurAI owns the issuance discipline.

Issuance discipline

How a certificate becomes a certificate.

  • Pack-level rules

    A certificate rule is attached to a pack with a configurable completion-percentage threshold (default 100%) and a named competency statement.

  • Auto-issuance on completion

    When a student crosses the threshold, the certificate is issued without administrator intervention. Queue → Function → PDF in tenant blob storage → email with SAS-secured download link.

  • Retroactive issuance

    Adding a new rule to an existing pack evaluates every previously-completed student and issues certificates where the new rule’s conditions are met. No bulk re-import. No manual reconciliation.

  • Revocation with audit

    Certificates can be revoked. The verification page returns revoked status. The original certificate and the revocation event are both preserved.

Public verification

Every certificate is verifiable. No login required.

  • Public verification surface

    /verify/{verificationCode} returns the certificate status without authentication.

  • Privacy by default

    First name + last-name-initial only on the public verification page. Full identity is never disclosed publicly.

  • QR code embedded

    Every certificate carries a QR code that resolves to its public verification URL.

  • Revocation transparency

    A revoked certificate returns "revoked" — not 404. Holders of a screenshot cannot make the revocation invisible.

Code is truth
  1. 01

    Visual designer is a 938×660 Fabric.js canvas supporting text, images, shapes, grid snap, and zoom.

  2. 02

    Placeholder tokens supported in templates: {certificateNumber}, {qrCode}, {verificationUrl}, plus arbitrary {fieldName} mapped to student record.

  3. 03

    Template versioning: every edit creates an immutable version; previously-issued certificates retain their original template revision.

  4. 04

    Pack-level certificate rules: configurable completionPercentage threshold (default 100%); auto-issue on course completion; competency statement attached to the rule.

  5. 05

    Retroactive issuance: when a new rule is added to an existing pack, every previously-completed student is evaluated and a certificate issued where the rule conditions are now met.

  6. 06

    Async rendering pipeline: queue → Function → PDF in tenant blob storage → SAS-secured download URL.

  7. 07

    Public verification: /verify/{verificationCode} returns valid/revoked + partial-name privacy (First-name + last-initial); revocation supported with audit trail.