> For the complete documentation index, see [llms.txt](https://help.runonrufus.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.runonrufus.com/rufus-cloud/race-app/launching-a-new-race-app.md).

# Launching a New Race App

The RUFUS Race App is created and managed from **RUFUS Cloud**. Each Race App instance behaves like a virtual device, with its own App ID, access token, expiration window, and session history.

This article explains how to launch a new Race App, manage its access, and understand how sessions and token rotation work.

## Where to Create a Race App

Race Apps are created from:

**RUFUS Cloud → Devices panel**

In the Devices view, you will find the **Launch Race App** section.

<figure><img src="/files/kGTLkZI1ByYJZjdnMNgJ" alt=""><figcaption><p>Launch Race App Card</p></figcaption></figure>

Launching a Race App creates:

* A virtual device record
* A unique App ID
* An access token
* A token expiration (TTL)
* A Cloud-level audit trail

## Launching a New Race App

To create a Race App:

1. Click **Launch Race App**
2. Enter a friendly alias (device name)
3. Select the **Access Token TTL** (expiration window)
4. Click **Launch Race App**

<figure><img src="/files/uQr0ztHZC5I4EW46urYY" alt=""><figcaption><p>Race App Access Information Card</p></figcaption></figure>

Once created, Cloud generates:

* **App ID**\
  `race-app.runonrufus.com/<AppId>`
* **Access Token** (format `JUDGE-XXXXX-YYYYY`)
* **Expiration time** (`race_app_token_until`)

The Race App now appears in your Devices list as a virtual Race App device.

<figure><img src="/files/oQ20fNA4q03CuE2vYLLG" alt=""><figcaption><p>Race App Card</p></figcaption></figure>

## Understanding Access Token TTL

The Access Token TTL defines how long the token remains valid.

When the TTL expires:

* The token stops working
* Judges can no longer log in
* A new token must be generated

Best practice:\
Set the TTL long enough to cover:

* Setup time
* Full race window
* Post-race buffer

If needed, you can refresh (rotate) the token at any time.

## Sharing Access with Judges

To give access to a judge, you must provide:

* The App link (`race-app.runonrufus.com/<AppId>`)
* The Access Token

Both are required.

At login, the judge must also enter:

* Their name (used for identification and audit)

**Important:**\
Only one active judge can use the token at a time. If another judge logs in using the same token, they take over the session.

## Device Details (Race App Device Card)

<figure><img src="/files/2AlrjcTQXPmfFoIK6hpc" alt=""><figcaption><p>Race App Details</p></figcaption></figure>

Opening the Race App device card in Cloud allows you to see:

* App ID
* Direct App link
* Current Access Token
* Token expiration time
* Sessions tied to this token
* Passings recorded
* Race Actions recorded
* App current location (if Location is enabled in the mobile)

This provides an administrative audit view at Cloud level.

**Remember:**\
Cloud is the administrative control layer. Race operations are managed inside Race Manager.

## Sessions Explained

A session is tied to the active access token.

A session becomes active when:

* The Race App token is used
* The device is assigned to an event in Race Manager

Important behaviors:

* Only one active judge per token
* Logging out does not erase session history
* Live Activity and Team Chat remain available for the same token
* A completely new session is created only when the token is refreshed

If another judge logs in with the same token:

* The previous judge is automatically logged out
* The new judge continues within the same token session

## Token Rotation (Hard Reset)

The **Refresh access token** button generates a completely new token.

When you rotate the token:

* The previous token is immediately invalidated
* Any active judge session is closed
* A new session lifecycle begins

Use token rotation when:

* Access was shared incorrectly
* A judge should no longer have access
* You need a clean operational reset

After rotation:\
You must communicate the new token to the judge. The old one will stop working immediately.

## Assigning the Race App to an Event

Launching the Race App in Cloud does not automatically connect it to an event.

Inside **RUFUS Race Manager**:

1. Open the event
2. Go to Devices
3. Assign the Race App device to:
   * The event
   * One or more checkpoint(s)

<figure><img src="/files/wQ5fz0T6uCqVwzj52TSL" alt=""><figcaption><p>Add Device Dialog in RRM</p></figcaption></figure>

Once assigned:

* The Race App can send Manual Timing passings
* Race Actions will appear in Race Notifications
* The session becomes operationally active

## Sessions, Passings and Race Actions (Cloud View)

From the Cloud device card, you can audit:

### Sessions

Event-bound operational sessions tied to the token.

### Passings

Generated from Manual Timing.

### Race Actions

Generated from:

* Penalty & Bonus
* Status changes
* Race Alerts
* Team Chat

Cloud acts as the control plane and audit layer, while Race Manager handles live race operations.

## Operational Best Practices

Before race day:

* Launch the Race App early.
* Set an appropriate TTL.
* Assign the device to checkpoints in Race Manager.
* Share link and token with judges.

During race day:

* Monitor sessions in Cloud.
* Rotate token if access needs to be reset.
* Verify device assignment in Race Manager.

After race day:

* Review audit history if needed.
* Rotate the token if the device should no longer be accessible.

## Summary

Launching a Race App in RUFUS Cloud creates a controlled, token-based virtual device that judges use during race operations.

The Access Token defines who can log in, the TTL defines how long it remains valid, and token rotation provides a secure reset mechanism.

Cloud manages access and audit. Race Manager handles operational execution.
