Sandbox — LSD is in active testing. All systems operational·payments are test-mode (no real charges).
Overview Use Cases News Docs Tool Store Support Community Get LSD
All docs
Docs/ Packages/ Collaboration & seats
Packages

Collaboration & seats

The host runs the engine and guests join. When connected devices exceed a package's seats, the host freezes it and shows a banner.

TL;DRIn a collaboration session the host desktop runs the engine and guests join as pure collab UI. Seats are counted per live device. When connected devices exceed a paid package's licensed seats, the host freezes that package for the whole project and shows a warning banner that auto-clears once a device disconnects.

Licensing seats and multi-user collaboration meet at one rule: a paid package's concurrent seats are enforced live against the devices connected to a session.

Host and guests#

A collaboration session has one host — a desktop app that runs the engine, holds the project, and approves changes — and any number of guests who join as pure collaboration UI (the remotedesktop app never runs an engine of its own). Because only the host runs the engine, only the host enforces licensing.

Seats are counted per device#

A seat is one live human device:

  • The host is seat one.
  • Each connected guest device adds a seat.
  • Agents don't consume seats, and two devices of the same user count as two seats.

The host tracks this count on every connect and disconnect.

Over the limit → the host freezes the package#

When the number of connected devices exceeds a paid package's licensed seats, the host freezes that package for the whole project: its nodes serve their cached output and stop recomputing (the same project-scoped freeze the Package Manager switch applies), with the reason recorded as seat-exceeded.

text
# → 4 devices connected, package licensed for 3 seats
# → host freezes the package (reason: seat-exceeded), banner appears

A warning banner shows on the host, and guests see a matching notice. The freeze respects any package a user manually disabled — the host only freezes packages it froze for seats.

Auto-clear on disconnect#

The check runs on every connect and disconnect. As soon as a device leaves and the count drops back within the license, the host re-enables the package (frozen placeholders swap back to the live nodes) and the banner clears automatically — no manual step. Buying more seats raises the limit; see Plans & licensing.

Seats are a fairness and licensing control, not a hard security boundary — the true anti-theft path for code that must not leak is server delivery, covered in Plans & licensing.

LearnPlans & licensing · Buy & install · The Package Manager

APIPackageManager · Engine

ExamplesA complete package

Frequently asked questions

Who counts as a seat in a session?

Each distinct live human device counts as one seat — the host is seat one, and every joined guest device adds a seat. Agents don't consume seats. Two devices belonging to the same user count as two seats.

What happens when we go over a package's seats?

The host freezes that package for the project — its nodes serve cached output and stop recomputing — and shows a warning banner. When a device disconnects and the count drops back within the license, the package re-enables and the banner clears automatically.

By LSD Team · Last updated Jul 17, 2026 Ask on Discord View as Markdown