LicenseSpring

Node-Locked Licensing: Tie Software Access to a Specific Device

Node-locked licensing ties a software license to a specific machine using a unique hardware identifier. Once activated, the license runs only on the authorized device, preventing unauthorized sharing while giving vendors precise control over how licenses activate, transfer, and behave across installations.

  • ISO 27001
  • Trusted by global software vendors
  • Developer-first APIs & SDKs

How Node-Locked Licensing Works and Why Vendors Use It

Prevent License Sharing

Hardware binding ensures the software can only run on authorized machines, not copied to a colleague's workstation or spun up in an unauthorized VM.

Protect High-Value Software

The right model for CAD, industrial, engineering, medical, and enterprise desktop applications where per-seat control matters commercially and legally.

Control How Many Devices Can Activate

Define exactly how many machines can hold an active license at any given time.

Set the Right Transfer Policy

Licenses can be permanently bound to a single machine, transferable a limited number of times, or freely movable on deactivation, depending on what your product and customer base requires.

Support Diverse Deployment Environments

Node-locked licenses work with online activation, offline activation, and fully air-gapped environments, with no connectivity requirement at runtime.

The Activation Flow: From License Request to Device Binding

1License Authorization
The client application sends an activation request containing the product code, license authorization (key or user credentials), and the device's hardware identifier.
2Device Identification
LicenseSpring SDKs generate a hardwareID—the unique fingerprint that identifies the machine. See the section below for detail on how this is calculated and why it matters.
3License Activation
The activation request binds the license to the device fingerprint on the LicenseSpring platform.
4License Validation
Subsequent license checks include the hardwareID to confirm the software is running on the authorized machine.

Hardware Fingerprinting: How Device Identity Is Calculated and Why It's Hard to Get Right

The hardware ID (also referred to as device fingerprint) is the foundation of node-locked licensing. For it to work reliably, it needs to satisfy two requirements:

  1. It must be unique to the device
  2. It must be persistent across reboots, reinstalls, and software updates.

If either property fails, node locking breaks down.

This is harder to get right than it sounds, and it's why common identifiers like IP addresses and MAC addresses aren't sufficient on their own. MAC addresses can be spoofed or reassigned. IP addresses change. Neither can be relied on as a stable, unique machine identity across environments.

LicenseSpring's approach accounts for the real-world complexity of device identification:

  • Serial numbers and UUIDs: Some devices expose a hardware serial number or system UUID that can serve as a stable identifier. Where available, these are strong inputs for fingerprint calculation.
  • Virtual machine environments: VMs present a particular challenge—identical hardware profiles mean the same fingerprint would be generated for multiple instances. LicenseSpring's algorithms account for this, and vendors can incorporate VM detection data in activation requests to handle this correctly.
  • Multiple algorithms, matched to deployment context: LicenseSpring offers several fingerprinting algorithms so vendors can select the approach best suited to their target environment, whether that's standard desktop hardware, embedded industrial systems, or cloud-hosted instances.
  • Vendor-defined or combined identifiers: If your product already generates its own device identifier, or if you need more control over how the fingerprint is constructed, vendors can supply their own hardwareID or combine it with the LicenseSpring-generated value. This gives you flexibility to handle edge cases your specific deployment context requires without being locked into a single algorithm.

The goal is a fingerprint that will reliably identify the same machine next month as it does today. LicenseSpring's SDK handles the calculation automatically for standard environments, while giving vendors the override options needed for non-standard ones.

Control How Many Devices Can Activate and How Transfers Are Handled

Node-locking behavior is configured through several license fields that work together to define how activations and transfers are handled.

Max Activations

Defines the maximum number of devices that can hold an active license simultaneously.

Times Activated

Tracks the current number of active device bindings. Increments on activation, decrements on deactivation, and must always stay at or below Max Activations.

Transfer Count

Tracks how many times a license has moved between devices. A transfer occurs when a license is deactivated on one machine and activated on another, allowing vendors to enforce portability limits over the license lifetime.

License TypeMax ActivationsResult
Node-Locked
1
License bound to a single machine
Multi-Seat
3
License can activate on three devices
Enterprise
Custom
Vendor-defined limits

Lock a License to One Machine Forever, or Allow Controlled Transfers: Your Choice

Depending on your product and commercial model, you can configure node-locking behavior anywhere on the spectrum from fully locked to freely transferable.

Prevent Device Transfers—Strict Node-Locking

When this option is enabled, the license binds permanently to the first machine it activates on. It cannot be transferred, reassigned, or reused elsewhere after deactivation. The right choice for high-security or regulated software where machine identity must be fixed.

Configurable Transfer Limits

For products where customers legitimately need to move licenses between machines (hardware upgrades, workstation replacements) vendors can allow a defined number of transfers without losing control of where the license ends up.

Transfer LimitBehavior
Prevent transfers
Permanent device binding
1 transfer
License can move once
3 transfers
Limited portability
Unlimited
License movable when deactivated

Node-Locked Licensing Works in Every Environment, Including Disconnected Ones

Node-locked licenses are not restricted to always-online environments.

Online Activation

The device communicates with LicenseSpring's API at activation time. Subsequent license checks can run locally without requiring ongoing connectivity.

Offline Activation

Activation is completed using license files or refresh files, with no direct API connection required.

Air-Gapped Environments

Devices on fully isolated networks can activate through secure offline workflows. Critical for defense systems, industrial equipment, manufacturing environments, and regulated industries.

Node-Locked or Floating: Which Model Fits Your Product?

FeatureNode-Locked LicenseFloating License
Device Binding
Yes
No
Concurrent Users
1 device
Multiple users
Connectivity Requirement
Optional
Usually network
Best For
Desktop / single machine apps
Teams / shared usage

Where Node-Locked Licensing Is the Right Call

Desktop Software

Bind licenses to individual workstations where per-machine control is a commercial or security requirement.

Engineering & CAD Software

Prevent unauthorized duplication of high-value tools that are expensive to license and easy to copy.

Industrial Equipment Software

Tie software functionality to specific hardware installations, ensuring the software runs only on the physical system it was licensed for.

Medical Devices

Keep regulatory-controlled software restricted to approved machines, supporting audit and compliance requirements.

Secure Environments

Support licensing in offline and isolated networks where cloud-based license checks aren't an option.

Everything You Need to Deploy Node-Locked Licensing, Without Building It Yourself

LicenseSpring provides the infrastructure to deploy node-locked licensing without building it yourself. Key capabilities include:

Device fingerprinting with multiple algorithms and vendor-override support

Hardware ID binding and activation APIs

SDKs for C++, .NET, Java, Python, Go, and Swift

Offline and air-gapped activation support

Configurable transfer policies and activation limits

VM detection and edge-case handling

Ready to Lock Your Software to the Devices It's Licensed For?

Protect high-value software with device-bound licenses, configurable activation controls, and transfer policies built for real-world deployment environments.