# zicula-certificate-kit — free sample

Three real files from the full kit (18 files), each **trimmed to taste** — enough to
judge the quality, not enough to run an issuing operation:

- `issue-badges-SAMPLE.py` — the entire primitive layer of the issuer
  (`issuer/issue_badges.py`): the salted SHA-256 recipient hash (the reason no
  plaintext email ever lands in a badge) and the HMAC-SHA256 assertion signature,
  complete and runnable — `python3 issue-badges-SAMPLE.py` prints a live demo,
  standard library only. What it does not include: the CSV reader, the
  BadgeClass/Assertion builders, the file writer, the `validate` command and the
  20-test selftest.
- `verify-checks-SAMPLE.html` — the exact validation logic the kit's one-file
  verifier runs (`sha256Sync`, `canonicalize`, `validateAssertion`), openable in
  any browser with console experiments ready. What it does not include: the
  paste-a-badge UI, the rendered credential card, the interactive recipient-hash
  check, and the hosted-copy byte-for-byte comparison.
- `linkedin-share-SAMPLE.md` — the recipient email template from the LinkedIn
  share guide, complete with the 60-second "add to LinkedIn" steps. What it does
  not include: the issuer-side distribution tips and the forwardable recipient FAQ.

What the full kit adds (the other 15 files):

- Issuing: the complete `issue_badges.py` (CSV → `badgeclass.json` + `issuer.json`
  + one `assertions/<uuid>.json` per recipient) and `render_badge_html.py`, which
  fills a badge design per recipient — your browser's print dialog is the PNG/PDF engine
- Templates: all three 800x800 print-ready badge designs (navy/gold serif,
  green/cream sans-serif, dark/copper "with distinction")
- The one-file verifier: paste a badge, load its JSON file, see the credential
  rendered, confirm the recipient hash by email, compare against the hosted copy
- Going live: the deploy runbook (GitHub Pages / Cloudflare Pages / Netlify, or
  Cloudflare Workers + KV with worker source included), the issuer profile and
  recipients CSV examples, and the LinkedIn share guide in full
- The license: single-buyer commercial license — issue unlimited certificates for
  your own courses, forever

One-time purchase $42 (≈ ฿1,450) · free updates for v1.x · 30-day full refund.
