Licensing models
Node-locked licenses, explained
A node-locked license binds activation to specific devices. Here's how node-locking works, how it differs from floating, and how Keylight enforces device limits — verified offline.
Start FreeUpdated June 2026
Node-locked is the default model for software sold to people, not server farms. A license works on the device it’s activated on, up to a limit you set. It’s how most desktop apps stop one purchase from running on a hundred machines. Here’s how it works.
What is a node-locked license
A node-locked license is bound to a specific device — the “node.” When a customer activates, the app registers that device, usually via a fingerprint, and the license becomes valid there. Activate on a second machine and it counts against the license’s allowance — say three devices. Past the limit, activation is refused until a seat is freed.
It’s the natural fit when you sell to individuals: a license is a license for their machines, not a key that floats anywhere.
How node-locking works
Three pieces:
- A device fingerprint identifies the machine stably across launches and updates.
- An activation limit sets how many devices a license allows.
- Enforcement registers each device server-side and refuses activations past the limit.
Done well, this is invisible to honest customers and a real wall against casual sharing. Done badly — fingerprints that change on every OS update, limits that lock people out after a reinstall — it generates support tickets. The craft is a stable fingerprint plus an easy way to free a seat when someone gets a new machine.
Node-locked vs floating
Node-locked binds licenses to devices. Floating shares a pool of seats used concurrently, with no fixed device. Node-locked suits apps sold to individuals and small teams; floating suits shared environments — a lab, a classroom, a large org where the same seats rotate across many people. Most indie and pro desktop apps want node-locked.
Node-locked licensing in Keylight
Keylight is node-locked by design. Each license has a device allowance; each activation registers a device server-side and is enforced against that count. The customer’s app carries an Ed25519-signed lease it verifies locally, so it runs offline — while the live device count stays server-side, the one place a limit can actually be enforced.
That binding is also the simplest defense against key sharing: a key pasted onto more machines than it allows simply stops activating. And freeing a seat when a customer switches Macs is one action, so the limit protects revenue without punishing the people who paid.
Plans start at $19/month, with a free tier. Set a device limit, drop in the SDK, ship.
Frequently asked
What is a node-locked license?+
A node-locked license is tied to a specific device — a 'node' — usually identified by a device fingerprint. The license is valid only on the devices it's activated on, up to an allowed count. It's the most common model for desktop apps sold directly.
Node-locked vs floating — what's the difference?+
Node-locked binds a license to specific devices, up to a limit. Floating shares a pool of seats used concurrently across a team, with no fixed device binding. Node-locked suits apps sold to individuals; floating suits shared environments like labs or large teams.
How does Keylight enforce a device limit?+
Each activation registers a device server-side against the license's allowed count. The count is enforced when a device activates or re-validates. The signed lease the app carries proves the license is valid offline, while the live device count stays server-side where it can be enforced.
Start licensing your app today
Drop in the Swift SDK, point it at your dashboard, and sell paid apps in under a minute. Free forever tier included.
Start Free