Keygen starts at $49/month, Cryptlex at $100/month — and both hold your license data. This kit is a zero-dependency Cloudflare Worker + D1 database that issues, validates, activates and deactivates license keys for your software: device limits, an offline grace window, Ed25519-signed offline license files and a private admin dashboard. One payment of ฿1,490 — less than one month of Keygen — then nothing, and the data stays yours.
Get the kit — ฿1,490One zip: the license server, the schema, a private dashboard, client SDKs and the docs — everything runs on your own Cloudflare account, nothing routes through a vendor.
One worker.mjs answers /v1/validate, /v1/activate and /v1/deactivate; you issue keys from the dashboard or the admin API. Runs on the Cloudflare free tier — your database, your URL, no vendor in the middle.
Each key carries a device limit and grace window. Activation is idempotent per machine fingerprint, DEVICE_LIMIT rejections include used/limit counts, and customers free a seat themselves — before it becomes a support ticket.
Every key can carry a signed offline license file your app verifies against one embedded public key — any edited byte fails the signature. Apps keep working when the server doesn't answer, within the grace window you choose (7–30 days is typical).
Machine fingerprints are SHA-256 hashed before they touch the database — the raw device id never leaves your customer's machine. You stay the data controller, on infrastructure you own.
Validation answers with the exact reason, plus an append-only event log you can use as a usage meter. Suspend on a chargeback, resume after it's resolved, revoke forever — all from the dashboard.
The kit never touches payments. Your existing checkout webhook POSTs /v1/keys to mint a key automatically (pattern included), or you issue manually from the dashboard in about 20 seconds per sale.
Tamper-evident, not tamper-proof. The Ed25519 signature makes edited license files fail loudly and keys are 80-bit random — but a determined attacker who patches your binary is a different problem. Anyone selling "unbreakable" licensing is not being straight with you.
Your data, your uptime. Keys live in your D1 database and validation is answered by your Worker. No vendor account to lose, no per-key fee, no export cliff if you ever move on — it's a worker.mjs you can actually read.
The free-tier math is in the box. Cloudflare's free allowances (100k requests/day, 5M row reads/day) cover validation traffic most indie products never reach. SETUP.md shows the exact arithmetic and when the $5/month plan starts to matter.
Three steps from zip to a licensed build of your software.
wrangler login, d1 create, apply schema.sql, set two secrets, deploy. SETUP.md is copy-paste end to end — about 25 minutes including the coffee.
Create a product (device limit, offline grace), press Issue. The dashboard shows the key, its activated machines and its event log — or let your checkout webhook POST /v1/keys.
Drop in sdk/validate.mjs or sdk/validate.py: validate at startup, cache the success, keep running offline until expires_at + grace days, and verify the signed license file against your public key.
No monthly plan, no per-key fee, no vendor lock-in.
≈ US$42
Secure checkout via Stripe · card payments · taxes calculated at checkout
A zip with 13 files: the license server (worker.mjs, zero npm dependencies), the D1 schema, a private admin dashboard, Node and Python client SDKs with offline grace built in, curl examples for every endpoint, a copy-paste deploy guide (20–30 minutes), a customization guide — including auto-issuing keys from your existing checkout — a 14-day playbook, and a single-developer commercial license.
Yes — by design the kit doesn't take payments. Keep selling with Stripe (or Paddle, Lemon Squeezy, a store, whatever you use). CUSTOMIZE.md shows the webhook pattern that mints a key right after checkout; manual issuing from the dashboard takes about 20 seconds per sale.
If the kit doesn't fit how you work, email within 14 days of purchase and we refund in full — the zip is yours to keep or delete. One refund per purchase; we only ask for optional feedback.
You could — at its core it's a Worker and four D1 tables. The kit is the parts that actually take time: reject semantics (EXPIRED / REVOKED / SUSPENDED / DEVICE_LIMIT), idempotent activation, canonical-JSON Ed25519 signing that server and SDKs agree on byte-for-byte, a dashboard that never leaks your admin token, and a test suite that exercises all of it. Expect a focused week to reach this quality from zero.
Honest answer: licensing is a business control, not DRM. Keys are 80-bit random, fingerprints are stored as SHA-256 hashes only, the admin API is closed and constant-time compared, and license files are tamper-evident. None of that stops someone patching your app — no licensing scheme can. What it does: make casual sharing annoying, seats visible, and revocation instant.
Cloudflare's paid Workers plan is $5/month and lifts the daily limits — the kit itself never charges per key or per validation. That's the entire cost model, and it's printed in SETUP.md so you can plan before it matters.
฿1,490 one-time · ≈ US$42 · free updates v1.x · instant download
Get the License Key Kit — ฿1,490