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 & SDKsThe 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:
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:
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.
Node-locking behavior is configured through several license fields that work together to define how activations and transfers are handled.
Defines the maximum number of devices that can hold an active license simultaneously.
Tracks the current number of active device bindings. Increments on activation, decrements on deactivation, and must always stay at or below Max Activations.
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 Type | Max Activations | Result |
|---|---|---|
Node-Locked | 1 | License bound to a single machine |
Multi-Seat | 3 | License can activate on three devices |
Enterprise | Custom | Vendor-defined limits |
Depending on your product and commercial model, you can configure node-locking behavior anywhere on the spectrum from fully locked to freely transferable.
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.
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 Limit | Behavior |
|---|---|
Prevent transfers | Permanent device binding |
1 transfer | License can move once |
3 transfers | Limited portability |
Unlimited | License movable when deactivated |
Node-locked licenses are not restricted to always-online environments.
| Feature | Node-Locked License | Floating 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 |
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