# Apps and App IDs

An App is the public unit for Agent Profiles, providers, endpoints,
deployments, Gateways, keys, and traces. Creating an App in the Dashboard also
creates its primary `development` deployment and a stable App ID.

The App ID has this form:

```text
vifu_app_<64 hex characters>
```

Copy it from **App settings**. The App ID is an enrollment selector, not an API
key. It cannot open the Dashboard, read traces, or invoke an Agent.

## Connect Vifu CLI

Add the Server and App ID to `~/.vifu/config.toml`:

```toml
[server]
address = "https://api.vifu.dev"

[gateway]
address = "http://127.0.0.1:6790"
app_id = "vifu_app_<64 hex characters>"
```

The first connection registers this installation and returns a Device Token.
Vifu stores that token for later reconnects. `VIFU_APP_ID` can provide the App
ID for one process.

## Connect mobile installations

Store the Server URL and App ID as editable app settings. Each Android or iOS
installation creates a separate Gateway identity and receives a separate
Device Token, even when every installation uses the same App ID. Their traces
therefore stay in one App while deployments can distinguish each device.

Changing the saved App ID moves that installation to another App without a new
mobile build. QR pairing is still available under **App → Deployments** for an
operator-directed, one-time rebind.

## Guest Apps

An unconfigured Gateway can receive a temporary Guest App when the selected
Server enables Guest bootstrap. Claiming the Guest App transfers it to the
signed-in account and preserves its App ID, Gateways, and traces.
