Skip to content

Devices + activation

Each Quay licence has a device cap — one slot for Pro, three for Pro Plus. The cap is enforced server-side at activation; once activated, the desktop app keeps a 30-day offline-valid token and doesn’t need to phone home for routine use.

One device = one Quay install on one machine. Switching macOS accounts on the same Mac = one device. Reinstalling Quay = same device (Quay reuses the activation if ~/.config/quay/ is intact). A fresh OS install with an empty ~/.config/quay/ = a new device slot needed.

The activation looks at:

  • Hardware ID — derived from a stable per-machine value (macOS: IOPlatformUUID; Linux: /etc/machine-id or systemd’s machine-id; Windows: registry GUID).
  • OS keychain entry — Quay stores the activation token in the OS keychain, separate from connections.json.
  1. Buy a Pro / Pro Plus plan via the portal.
  2. The licence email contains your licence key (QUAY-XXXX-…).
  3. In the desktop app: Settings → Account → Activate → paste the key.
  4. Quay POSTs to license.quay.uncle-z.com/v1/activate → the server issues an Ed25519-signed activation token (good for 30 days offline) and increments the activated-device count.

When you want to free a slot:

  • From the device itself — Settings → Account → Deactivate this device. Releases the slot immediately.
  • From the portalDevices page shows every active slot with last-seen timestamp; click Revoke on the slot you don’t need.

A revoked device’s token stops working on next heartbeat (within 24h) or immediately if the device is online when you revoke.

Slot stuck — the “I formatted my Mac” case

Section titled “Slot stuck — the “I formatted my Mac” case”

You wiped the Mac without deactivating, so the slot is still “active” on the server but no device holds it. Two paths:

  • Wait it out — slots auto-release if no heartbeat lands for 60 days. Cheap if you’re not in a hurry.
  • Force-revoke from the portal — Devices page → “Revoke” on the ghost slot. Available immediately.

Activated devices ping license.quay.uncle-z.com/v1/heartbeat once per 24h while the app is running. The heartbeat:

  • Confirms the slot is still alive (resets the 60-day expiry)
  • Picks up server-side licence changes (plan upgrade / downgrade / cancel taking effect)
  • Refreshes the offline-valid token (extends another 30 days)

Heartbeats fail gracefully — if the network is out, Quay keeps working with the cached token until the 30-day offline window runs out. Three consecutive failed heartbeats over 7 days → in-app banner “couldn’t reach licence server” so you know.

The activation token is valid offline for 30 days from the last successful heartbeat. After 30 days, Quay drops to Free-tier behaviour until you reconnect — saved Pro features stay locked, existing data is untouched.

This is “offline tolerant”, not “offline forever”. Air-gapped deployments need an offline activation flow (deferred to a future enterprise tier).

Pro Plus’ three slots are usually:

  • Workstation
  • Laptop
  • Headless server (CLI for scheduled backups)

The CLI counts as a device — it shares ~/.config/quay/ (activation token included). Running the CLI on the same machine as the desktop app is one slot, not two.

For team-style usage: Pro Plus’ 3 slots cover a lot. For more, email zaid.ug@gmail.com with the use case. Per-seat pricing isn’t a published plan; we’ll work something out for your setup.