> For the complete documentation index, see [llms.txt](https://docs.telys.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.telys.ai/licensing/seats-and-devices.md).

# Seats & devices

Telys licensing has two ideas: a **seat** is an entitlement in your subscription; a **device** is a machine that signed in under it. The difference explains why the free plan allows one machine, why `telys_pro` and `telys_team` allow several, and what happens when you move to a new laptop.

## Seats vs devices

* A **seat** is what you buy. `telys_developer` is one free entitlement; `telys_pro` and `telys_team` attach seats to your subscription, managed at [accounts.thyn.ai](https://accounts.thyn.ai).
* A **device** is a machine bound to your account by [device-code sign-in](/licensing/device-code-sign-in.md). Each holds its own Ed25519 key, a unique device id, and a cached signed license.

One seat can authorize several devices (a laptop and a workstation, say), up to your tier's limit.

## Device limits by tier

| Tier               | Devices                                         |
| ------------------ | ----------------------------------------------- |
| `telys_developer`  | **1 device**                                    |
| `telys_pro`        | Multiple devices per seat                       |
| `telys_team`       | Per-seat devices, sized for a shared deployment |
| `telys_enterprise` | Negotiated                                      |

Exact device counts for paid tiers are on [telys.ai/pricing](https://telys.ai/pricing) and in your portal. The free tier's single-device limit is fixed.

{% hint style="info" %}
The free `telys_developer` plan is one device, for local single-machine use. For a second machine or commercial use, move to `telys_pro`. See [Plans & licensing](/licensing/tiers-and-pricing.md).
{% endhint %}

## What a device is, on disk

At sign-in, Telys generates a device identity under `$TELYS_HOME` (default `~/.telys`):

```
~/.telys/device_key.pem     # Ed25519 private key for this device (0600)
~/.telys/device_id          # uuid4 hex identifying this device
~/.telys/login_license.jwt  # this device's cached, signed license
```

The private key never leaves the machine. It proves this device's identity to your account, so each machine counts as a distinct device rather than a shared credential.

{% hint style="warning" %}
Do not copy `device_key.pem` or `device_id` between machines to sidestep the device limit. A device identity is unique per machine; add a machine by signing in on it, which registers a fresh device under your seat.
{% endhint %}

## Sign in on a new machine

Add a machine by signing in on it — no export or transfer:

```bash
pipx install telys        # or: pip install telys
telys login --plan telys_pro
telys runtime verify      # confirm the license verifies offline
```

This generates a new `device_key.pem` and `device_id` and registers another device under your seat. If you are at your tier's device limit, remove an unused device from the portal first — see [Manage your subscription](/licensing/managing-subscription.md).

## Retiring or replacing a device

* **Retiring a machine:** remove it from the device list at [accounts.thyn.ai](https://accounts.thyn.ai) to free the slot.
* **Reinstalling or wiping a machine:** signing in again creates a new device identity; remove the old entry if it lingers.
* **Deleting local state:** removing `$TELYS_HOME` clears the device key, id, and cached license. Sign in again to re-register.

## Team & serve deployments

On `telys_team`, the common pattern is one machine running a shared server for many clients, rather than many licensed end-user devices:

```bash
telys serve --path ./memory --host 0.0.0.0 --port 8099 \
  --access-token "$TELYS_ACCESS_TOKEN" \
  --license "$TELYS_LICENSE" --require-license
```

The server machine holds the license (verified offline at boot with `--require-license`); clients reach it with `RemoteTelys` and a bearer token — see [Serving overview](/self-hosting/overview.md) and [Auth & network model](/self-hosting/auth-and-network.md).

## Next steps

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Plans &#x26; licensing</strong></td><td>Pick the plan that fits your device needs.</td><td><a href="/pages/hGLr4vJ3ScfwXbJDIcyi">/pages/hGLr4vJ3ScfwXbJDIcyi</a></td></tr><tr><td><strong>Device-code sign-in</strong></td><td>How a new machine registers a device.</td><td><a href="/pages/OyOdiQaPDCqPas2F5xZ5">/pages/OyOdiQaPDCqPas2F5xZ5</a></td></tr><tr><td><strong>Manage your subscription</strong></td><td>Review and remove devices in the portal.</td><td><a href="/pages/KVMLT3N7ydzCjWYTpYrc">/pages/KVMLT3N7ydzCjWYTpYrc</a></td></tr></tbody></table>

Next: [Plans & licensing](/licensing/tiers-and-pricing.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.telys.ai/licensing/seats-and-devices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
