# zicula-license-key-kit — free sample

Three real files from the full kit (13 files), each **trimmed to taste** — enough to
judge the quality, not enough to run a license server:

- `PLAYBOOK-14D-sample.md` — Days 1–2 of the 14-day playbook, complete: the deploy +
  first key day and the policy-decision day, with their "done when" gates exactly as
  written in the kit. Days 3–14 (app integration, activation UX, dogfood release,
  checkout delivery, auto-issue, the rejection matrix, existing customers, support
  policy) are listed by title only — the full playbook walks every one of them.
- `schema-preview.sql` — 2 of the 4 D1 tables from `schema.sql`, complete and runnable:
  `products` and `licenses` with the same column comments, CHECK constraints and the
  seed INSERT. The `machines` and `validation_events` tables and the indexes are
  described in comments — the full DDL comes with the kit (the server, SDKs and
  dashboard need all four tables).
- `curl-preview.sh` — the 4 app-facing calls from `sdk/curl-examples.sh`, complete and
  runnable once you deploy: `healthz`, `validate`, `activate`, `deactivate`. The admin
  half of the API (issue, list, inspect, suspend/resume/revoke, signed license file,
  public key) is indexed at the bottom — every endpoint is copy-paste curl in the kit.

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

- The server: `worker/worker.mjs` — the whole license API (validate / activate /
  deactivate / keys / products / events / signed license files) in one zero-npm-
  dependency Cloudflare Worker, with reject semantics for EXPIRED · REVOKED ·
  SUSPENDED · DEVICE_LIMIT and fingerprints stored as SHA-256 hashes only
- The deploy path: `schema.sql` (all 4 tables + indexes, re-runnable), `SETUP.md`
  (copy-paste deploy, 20–30 min, free-tier math), `worker/wrangler.jsonc` (3 marked
  values to edit) and `worker/public/dashboard.html` (private admin dashboard: issue,
  inspect, suspend, seat management — token stays in your browser)
- The clients: `sdk/validate.mjs` (Node) and `sdk/validate.py` (Python, stdlib only)
  with offline-grace replay built in, plus `verifyOffline` for the Ed25519-signed
  license files — so your app keeps working when the server doesn't answer
- The operating manual: `CUSTOMIZE.md` (products & policies, signing + key rotation,
  the checkout webhook pattern that mints a key automatically, hardening, full error
  reference), `README-buyer.md`, `LICENSE.txt` and the full `PLAYBOOK-14D.md`

One-time purchase $69 · free updates for v1.x · 30-day full refund.
