App policy is the per-app slice of the three-layer consent model. It sits between the Synheart platform (master switches) and your end users (per-channel consent), and lets you express what this specific app is allowed to offer. Edit it from the dashboard: Projects → your project → Apps → your app → App Policy → Edit Policy.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.
What App Policy controls
Two kinds of controls, surfaced separately:| Control | Effect |
|---|---|
| General Settings — five high-level allow flags | Coarse on/off gates for the major data pathways. The runtime checks these before every upload class. |
| Restricted Channels — per-channel deny-list | Channels your app will never collect, even if the end user grants them. Restriction wins over user consent. |
General Settings
| Toggle | What it lets your app do |
|---|---|
| Allow Cloud Processing | Send session data to Synheart for processing. Required if you want any of the other cloud-bound flags to be useful. |
| Allow HSI Uploads | Upload Human State Interface snapshots (the fused state your app would otherwise compute on-device). |
| Allow Research | Let users opt in to sharing their data with research and lab studies. Requires cloud processing. |
| Allow Syni | Let users chat with Syni, the Synheart AI coach. Subject to your platform plan. |
| Vendor Sync Allowed | Let your app pull data from connected third-party wearables (e.g. WHOOP, Garmin). |
Restricted Channels
A check next to a channel here means your app will not collect that data. The end user’s consent doesn’t override it. Use this when:- A regulator or your privacy team has told you a specific data type is off-limits for this app, even if the SDK supports it.
- You ship a focused product (e.g. sleep-only) and want to refuse incidental channels even if the user grants them.
- You’re piloting a configuration and want to disable a channel temporarily without rolling a new SDK build.
How it composes with the other layers
- Platform capability caps everything. If
syni_integrationis disabled at the platform level, no app can turn on Allow Syni. - App policy (this page) further restricts what your app may offer.
- User consent narrows down to what the end user actually grants.
Default behavior
A newly registered app has no policy until you create one. While missing, the consent service treats the app as deny-all for the gated upload classes — safe default. Create a policy as soon as the app is registered. If you change a policy after the app is live:- Loosening a flag (turning Allow Research on) takes effect on the next consent token your users mint. Existing tokens carry the older snapshot until they refresh.
- Tightening a flag (turning Restricted Channels on, or turning Allow Cloud Processing off) is enforced at the next upload — the consent service rechecks the policy on every request, so changes apply within seconds even to already-issued tokens.
Related
- Consent System — the SDK reference (channel taxonomy, tiers, runtime enforcement).
- Consent Profiles — the per-app consent blueprints your SDK ships to end users.
- Implementing consent — how to wire the consent flow into your app.