Documentation

HWID locking

HWID locking ties a license to one machine, so a shared or leaked key can't be used on a second device.

A HWID (hardware id) is a stable, per-machine string. Your app computes it and sends it as hwid on /register, /login and /license. LumenAuth only ever stores and compares the hash — the raw machine id never leaves the device un-hashed.

How the lock works

  • The first HWID seen for a user is bound to that account.
  • Any later login from a different HWID is rejected — the key is stuck to the original device.
  • Reset it under Users → Reset HWID in the dashboard so the user can move to a new machine (a support/reset flow you control).

Generating a HWID

Every SDK ships a cross-platform helper so you don't have to write this yourself — it reads a stable id per OS (Windows MachineGuid, Linux /etc/machine-id, macOS IOPlatformUUID) and SHA-256-hashes it:

  • JS: getHwid() · Python: get_hwid() · Rust: hwid() · C#: Hwid.Get() · C++: Client::hwid()

Pass it once when you construct the client and the SDK sends it on every auth call. See the SDKs.