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

# Configure AI disclosure before you publish an agent

> The tenant-owned settings surface that controls the AI-disclosure notice — when each jurisdiction rule applies, how the settings endpoint stores them, and how to verify both before any agent goes live

# AI disclosure settings

The AI-disclosure settings surface holds your organization's disclosure
posture for every AI voice and chat agent: what the chat notice and voice
intro say, which jurisdiction rules the workspace applies, and whether the
disclosure is active at all. Configure it once under
**Settings → Compliance → AI Disclosure**, or via the
`/api/v1/compliance/ai-disclosure` endpoint described below, and every
agent in the workspace reads the same row.

<Note>
  This is a **tenant-owned** control. You decide which jurisdiction regime
  applies to your traffic and what the notice says; the platform stores the
  setting and delivers it on every AI interaction while it is enabled.
  It does not mandate disclosure. Confirm which regimes apply to you with
  qualified counsel.
</Note>

***

## 1. When a disclosure is required

Four regimes share the same disclosure shape — the contact must be told they
are interacting with an AI — so the settings surface encodes all four with
one toggle each:

| Regime                | In force                | Rule toggle                                           | When you should turn it on                                                                                                       |
| --------------------- | ----------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| EU AI Act, Article 50 | Binding from 2026-08-02 | `eu_ai_act_enabled`                                   | Your AI agents interact with people in the EU. Requires both the interaction notice and marking of AI-generated content.         |
| Korea AI Basic Act    | Live since 2026-01-22   | `kr_disclosure_enabled`                               | Your AI agents interact with people in Korea.                                                                                    |
| California SB 243     | Live since 2026-01-01   | `ca_minor_reminder_enabled`                           | You flag contacts as minors. Adds a recurring "you're talking to an AI — consider taking a break" reminder during long sessions. |
| Utah AI Policy Act    | In force since 2024     | `default_enabled` (disclosure without a named toggle) | Your AI agents interact with people in Utah.                                                                                     |

The jurisdictional rule toggles mark which regimes *apply*; they do not
activate the notice by themselves. **`default_enabled` is the master
switch** — it must be on for any notice to render or any AI-generated
content marking to stamp. The [EU AI Act page](/compliance/eu-ai-act) maps
regulatory geography to the disclosure banner in detail, including the
caveat below.

> **No automatic geo-detection.** A rule toggle applies workspace-wide to
> every AI interaction; the platform does not infer a contact's
> jurisdiction from their number, address, or IP. If your traffic touches
> the EU, enable the EU rule for the whole workspace. The one exception is
> the SB 243 minor reminder, which fires only for contacts you have
> explicitly flagged as a minor — minor status is never inferred from a
> birth date or any other signal.

## 2. How the settings endpoint works

```bash theme={null}
GET /api/v1/compliance/ai-disclosure
PUT /api/v1/compliance/ai-disclosure
```

Both calls require the **owner** or **admin** role. The workspace stores its
disclosure posture in one singleton row, so a `GET` returns the full
current state and a `PUT` accepts a partial update — only the keys you send
change; everything else keeps its value. A fresh workspace returns
`{ "settings": null }` until it is first configured.

| Field                           | Type                 | What it controls                                                                                              |
| ------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------- |
| `default_enabled`               | boolean              | Master switch — activates the notices below and stamps AI-generated content marking on every AI interaction.  |
| `chat_notice_text`              | string, 1–2000 chars | The notice prepended to an AI agent's first chat reply, once per conversation.                                |
| `voice_intro_text`              | string, 1–2000 chars | The spoken intro played before an AI voice agent connects, when no audio URL is set.                          |
| `voice_intro_audio_url`         | HTTPS URL or `null`  | Optional pre-recorded intro; overrides synthesis from `voice_intro_text`. Send `null` explicitly to clear it. |
| `eu_ai_act_enabled`             | boolean              | EU AI Act Article 50 rule.                                                                                    |
| `kr_disclosure_enabled`         | boolean              | Korea AI Basic Act rule.                                                                                      |
| `ca_minor_reminder_enabled`     | boolean              | California SB 243 minor reminder.                                                                             |
| `minor_break_reminder_minutes`  | integer, 1–1440      | How often the SB 243 reminder repeats during a session.                                                       |
| `marketing_disclosure_required` | boolean              | Require an explicit AI disclosure on automated marketing outreach.                                            |

Every write is recorded in the audit log with the acting user's identity
and the previous and new values of every changed field, so an auditor can
see exactly what a mandatory AI-disclosure notice changed from and to. A
`PUT` also takes effect immediately — the next agent turn reads the new
values; you do not republish or redeploy agents when the posture changes. An
invalid payload returns a `422` naming the field that failed.

## 3. How the banner text is composed

The text a contact sees comes from the same row: `chat_notice_text` for
text channels and `voice_intro_text` (or your pre-recorded
`voice_intro_audio_url`) for voice. The agent-identity governance surface —
covered in [Agent identity governance](/compliance/agent-identity-governance) —
is the inventory of every agent in your organization with its sponsor and
channel reach: use it to confirm which agents exist and will carry the
notice before you rely on it. Ready-made utterance wording per channel
lives in [Opt-in disclosure templates](/compliance/opt-in-disclosure-templates).

## 4. Activation-time vs runtime posture

Saving settings takes effect immediately — the very next agent turn reads
the new values. But the pre-publication walkthrough is the right time to
set this up: once you flip an agent from draft to active, it takes live
traffic, and an unconfigured row means no notice renders at all.

Before you publish any agent:

1. `GET /api/v1/compliance/ai-disclosure` and confirm the row is not
   `null`.
2. Confirm `default_enabled` is `true` and the jurisdiction toggles your
   traffic touches are on.
3. Read the `chat_notice_text` and `voice_intro_text` exactly as a contact
   will see and hear them.
4. Run a live check — start a chat session and confirm the notice appears
   on the first reply; place a test call and confirm the intro plays
   before the agent speaks.

At runtime the same endpoint is also your verification surface: audit
every change under the audit action `compliance.ai_disclosure_updated`,
and diff the row before a go-live review rather than assuming it still
matches what legal approved.

## 5. Related

* [EU AI Act Article 50 transparency](/compliance/eu-ai-act) — regime
  framing and the per-regulation posture matrix.
* [Agent identity governance](/compliance/agent-identity-governance) —
  the agent inventory and banner-config surface.
* [Opt-in disclosure templates](/compliance/opt-in-disclosure-templates) —
  ready-made disclosure copy for capture surfaces.

If a regime you must satisfy is not covered by the toggles above, contact
[trust@devotel.io](mailto:trust@devotel.io).
