Device locking

HWID license lock: one key, one computer

A key that works on every computer is a key that ends up on every computer. Hardware-ID locking makes the first device the only device — until you decide otherwise.

How HWID locking works

When your app starts, the SDK reads a stable machine identifier — the Windows MachineGuid, Linux /etc/machine-id, or macOS platform UUID — and hashes it with SHA-256. Only that hash ever leaves the computer.

On first activation the server binds the key to the hash. On every later run it compares: same hash, valid; different hash, refused with a signed “different device” answer. See the device-ID specification for the exact algorithm, so you can implement it in any language.

Devices change — so resets are built in

  • A customer who bought a new PC opens the license check page, enters their key and asks for a reset.
  • You review the request in your dashboard (or get an e-mail) and approve it in one click; the key unbinds and locks to the next device that activates it.
  • Every reset is logged, and keys used on several devices raise an alert so you can spot sharing early.

Privacy and honesty

The raw machine ID never leaves the device and cannot be reversed from the hash. A determined attacker with full control of a machine — using a virtual machine or a spoofed ID — can still work around any client-side check; device locking stops casual sharing and key resale, which is where most losses happen.

FAQ

Common questions

What if a customer reinstalls their operating system?

Machine IDs usually survive a reinstall on the same hardware, but if the ID changes the customer can request a device reset.

Can I block a specific device or address?

Yes — the blocklist bans a device hash or IP address across the license API, for example after a key leak.

Ready to license your software?

Create a free account, generate your first keys and drop in an SDK — it takes a few minutes.