Documentation
For league admins & stewards
You are the one who makes a result official. This covers the lifecycle from an uploaded session to published standings, the stewarding tools around it, and the access-control and audit machinery that keeps those decisions accountable.
The results lifecycle
Uploading a race generates a provisional finishing order from telemetry. Stewards then apply penalties (time, points, or DSQ) and recompute.
Results become final only when an admin explicitly makes them permanent. Standings are built from permanent results — so publishing is a deliberate step, not automatic.
Read the full guide ↗Stewarding & penalties
Penalties, protests and anomaly review live under Race Control. A penalty is a ruling — added time, a points deduction, or disqualification — and applying or editing one recomputes the affected results.
Penalty presets let you apply common rulings consistently.
Read the full guide ↗Anomaly detection
Anomaly detection flags telemetry that looks unusual. Flags are advisory — a prompt for a steward to look closer — never an automatic penalty or a final verdict.
Read the full guide ↗Roles & permissions
Access is permission-based. A role bundles permission keys (league.manage, stewarding.manage, members.manage, roles.manage, billing.manage, activity.view). Built-in roles can't be edited; custom roles let you tailor access per league.
A member's role decides what they can do and what the sidebar shows them.
Read the full guide ↗Activity log
The activity log records every privileged change with a snapshot of who made it, so history stays readable. It's per-tenant and retention-bounded, viewable with the activity.view permission.
Read the full guide ↗Plans & entitlements
A 🔒 badge means a feature isn't part of your league's current plan — it stays visible so you can see what's available, and upgrading unlocks it. Enforcement is fail-open: a league with no explicit plan has everything unlocked.
Read the full guide ↗Live stream (Twitch)
League Settings → Integrations → Twitch channel embeds your Twitch stream automatically whenever it goes live — paste a channel login or a twitch.tv link. Every signed-in member sees it, not just admins.
Twitch embedding also needs deployment-wide credentials only your system administrator can set (TWITCH_CLIENT_ID / TWITCH_CLIENT_SECRET). If they're missing, a warning appears next to the field — your league's channel is still saved, it just won't be polled.
Read the full guide ↗Already in a league?
The application carries this same guide inside it: the help panel on any page opens the Help Center, with the identical topics and glossary plus a guided tour for your role.
Keep reading
The rest of the documentation, and the product it describes.