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

# Syni

> Configure Syni AI coach settings per app, including execution mode, token limits, and the persona allowlist

Syni is the Synheart AI coach. The per-app **Syni** page controls whether an app may use Syni, how Syni runs, and which [personas](/platform/personas) it may use.

Open it from the app sidebar: **Syni**. The page subtitle reads *"Syni settings for {app}. Controls which personas this app may use and default execution mode."*

<Note>
  This page is the **operational** toggle for an app. Syni access is also gated by the [App policy](/platform/app-policy) `Allow Syni` flag, the [consent profile](/platform/consent-profiles) Syni option, and your platform plan. All layers must allow Syni for it to work end-to-end.
</Note>

<Warning>
  Select an **organization** and **tenant** before configuring Syni; otherwise the page shows *"Select an organization and tenant to configure Syni for this app."*
</Warning>

## Settings

The page is a single settings card. Edit the fields and click **Save** (or **Reset** to reload the saved values):

| Setting                      | Description                                                       |
| ---------------------------- | ----------------------------------------------------------------- |
| **Enable Syni for this app** | Master on/off for Syni in this app                                |
| **Default execution mode**   | Where Syni runs by default: **Cloud**, **On device**, or **Auto** |
| **Max tokens** (optional)    | Optional per-response token ceiling; leave empty for no limit     |
| **Persona allowlist**        | Which personas this app may use                                   |

On a successful save you'll see **Settings saved.**

### Execution mode

| Mode          | Behavior                             |
| ------------- | ------------------------------------ |
| **Cloud**     | Syni runs in the cloud               |
| **On device** | Syni runs on the device              |
| **Auto**      | The runtime chooses based on context |

### Persona allowlist

The allowlist restricts which [project personas](/platform/personas) this app may use. Each available persona is listed with its name and key as a checkbox.

<Tip>
  Leave the allowlist **empty to allow all project personas**. Select specific keys to restrict the app to those personas only. If you see *"No personas loaded for this project. Create personas under Project → Personas."*, add personas first.
</Tip>

***

## How Syni gating composes

Syni works only when every layer permits it:

```text theme={null}
Platform plan (syni entitlement)
  └── App policy → Allow Syni
        └── Consent profile → Allow Syni (offered to user)
              └── App Syni settings → Enable Syni (+ persona allowlist)
                    └── End user grants consent
```

* **App policy** caps what the app may offer; see [App policy → Allow Syni](/platform/app-policy#general-settings).
* **Consent profile** decides whether Syni is offered to the end user; see [Consent profiles](/platform/consent-profiles).
* **This page** is the operational switch plus persona and execution controls.

***

## Next

<CardGroup cols={2}>
  <Card title="Personas" icon="user" href="/platform/personas">
    Create the companion personas this app's allowlist points at.
  </Card>

  <Card title="App policy" icon="shield-halved" href="/platform/app-policy">
    Enable the `Allow Syni` flag that this page depends on.
  </Card>

  <Card title="Consent profiles" icon="list-check" href="/platform/consent-profiles">
    Offer Syni to end users during the consent flow.
  </Card>

  <Card title="Billing & usage" icon="credit-card" href="/platform/billing">
    Monitor Syni message and token usage against your plan.
  </Card>
</CardGroup>
