Skip to main content

Floating Licensing

Floating licenses share a pool of concurrent seats. A client checks out a seat, heartbeats to keep it, and releases it when done. Optional borrow covers short time-limited holds that still count toward pool capacity.

Floating is a licensing mode (policy/plan), not a substitute for a license key. Runtime exposes checkout / heartbeat / release / borrow; Management administers pools. Where site policy allows, the same action paths can run on Local Relay LAN.

Seat lifecycle

StepMeaning
CheckoutAllocate one seat (or return the existing seat for the same idempotent request)
HeartbeatExtend TTL; must match the seat holder
ReleaseFree the seat explicitly
BorrowTime-limited hold under policy borrowDuration
Zombie reclaimExpired seats without release are reclaimed asynchronously

Seat safety: mutating calls are idempotent; PostgreSQL is source of truth (cache assists TTL only). Missing or expired seats are deny — never invent capacity from a cache alone.

When to use

  1. Shared concurrent users/seats across machines.
  2. Always-online Runtime, or Relay LAN when cloud is far but the site pool is known.
  3. Fixed machine binding without a shared pool → prefer node-locked (Activations · Device identity).

Next steps