NineAuthDocs
Core ConceptLicensing Engine

Licenses & Lifecycle

NineAuth licenses govern access entitlements for native software. Every license key is cryptographically bound to hardware fingerprints (HWID) and enforces seat limits, expiration, and automated reset quotas.

License Lifecycle States

A license moves through deterministic lifecycle stages:

  • Inactive: Key generated but not yet activated on any client machine.
  • Active: Bound to one or more HWID devices within allowed maximum seats.
  • Expired: Expiration timestamp passed; runtime validation immediately returns 403 LICENSE_EXPIRED.
  • Revoked: Operator manually invalidated the license; triggers instant cascade session termination across all active tokens.
  • Banned: Flagged for fraud or abuse; hardware fingerprint is added to blacklists.

Hardware Fingerprinting (HWID)

NineAuth computes deterministic 256-bit SHA-256 digests over immutable motherboard, CPU, and disk identifiers on client machines.

hwid-hash.ts
// Client-side computed HWID structure:
// SHA256(CPU_ID + MOTHERBOARD_UUID + DISK_SERIAL_0)
const hwid = "hwid_sha256_e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
Automated HWID Resets
Applications can configure automated HWID reset quotas (e.g. 1 reset per 30 days). When a user switches PCs, the SDK can request an automated reset without operator manual intervention if within quota limits.