Machine Account Tokens

Device and service accounts are machine identities — they have no OAuth login and authenticate exclusively via API tokens.

How Machine Tokens Differ from User Tokens

User TokenMachine Account Token
Issued toA human userA device or service account
ScopesUser's current group membershipsMachine account's group memberships
LifespanTypically short- to medium-lived; rotated periodicallyLong-lived; intended for persistent programmatic use
OAuth loginYes (fallback)No — token is the only auth method

The key difference is scope source: a user token reflects the issuing user's permissions, while a machine account token reflects the permissions configured on the machine account itself via its group memberships. The admin who creates the token does not grant their own permissions to it.

Creating a Machine Account Token

  1. Open the Dashboard and navigate to Accounts.
  2. Select the device or service account you want to create a token for.
  3. Click Create Token and optionally enter a description.
  4. Copy the token immediately — it is shown only once.

Machine account tokens use the same stx_live_<ULID>_<random> format as user tokens.

Example: CI/CD Pipeline

A GitHub Actions workflow that pushes build artifacts needs write access to a specific repository. The correct setup is:

  1. Create a service account named github-actions.
  2. Add it to a group (e.g., nix-contributors) with repo:nix-cache:write scope.
  3. Create a token for the github-actions account.
  4. Store the token as a GitHub Actions secret (STOWIX_TOKEN).

The workflow now authenticates as github-actions — not as any individual developer — and has exactly the scopes defined on its group.

Revoking Machine Tokens

Revoking machine account tokens works exactly like user tokens:

Revocation is immediate.