Protection
Lock a license to a machine, and cut it off the moment it is shared.
A license key by itself is a string anybody can copy. What makes it worth checking is what happens after it is issued: where it is allowed to run, and how fast you can take it back.
What it does
Machine locking
Send a hardware id with the check and the license binds to the first machine that used it. The same key on a second machine is refused. Leave the field out and the license is not locked to anything, which is the right call for a bulk buyer.
Revoke without a new release
Block a license from the panel or from Discord and the next check fails immediately. No update to ship, no key to rotate.
A blacklist for machines and addresses
Block a hardware id or an IP outright, ahead of any specific license. A Pro plan and above; the check itself is free on every plan.
Every check recorded
Each validation is logged: which license, when, and why it was refused. A key being tried from ten places is visible rather than guessed at.
Locking a license to one machine
Send a hwid with the validate call. The first successful check binds the license to it; every later check from a different hwid is refused with "hwid_mismatch".
{ "key": "BLM-XXXX-XXXX", "hwid": "a1b2c3d4e5f6", "version": "1.4.0" }
// -> { "valid": false, "reason": "hwid_mismatch" }Who this is for
Read it in the words of what you actually make.