> ## Documentation Index
> Fetch the complete documentation index at: https://docs.time2.bike/llms.txt
> Use this file to discover all available pages before exploring further.

# Operator roles

> What each timing role can do.

Every timing operator carries one or more **roles**. Roles can come from org membership (full access) or from a session-scoped token issued by the director.

## The role matrix

| Role        | Can                                                                            |
| ----------- | ------------------------------------------------------------------------------ |
| **view**    | Read-only. Useful for spectators / coaches.                                    |
| **timer**   | Press start/finish, enter plates, clear own pressed time, write notes.         |
| **marshal** | Everything `timer` can do, plus status changes (DNF/DNS/DSQ) and manual times. |
| **admin**   | Everything `marshal` can do, plus create new tokens, finalize, and publish.    |
| **refund**  | Reserved. Will enable the refund action from the row context menu.             |

Role permission is enforced on the server: a token-authed call to record a `status_change` event without the `marshal` role is rejected.

## Org members vs tokens

* **Org members** with the `admin`, `manager`, or `timer` org role have full timing access on every event in the org — equivalent to the session `admin` role.
* **Scoped tokens** issued for a session carry exactly the roles the director ticked. A token never grants broader org access.

## Multiple roles per token

A token can carry `["timer", "marshal"]` so the same volunteer can both record finishes and mark DNFs. You assign roles when [issuing a token](/timing/setup/tokens-and-qr).
