Skip to main content
Migrate Already selling? Move your customers to Keylight without re-issuing a single key.
Keylight

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 Free

Updated 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