Disclosures

Disclosures are the text that must appear alongside data. They are the most important part of a contract because they encode legal, regulatory, and contextual requirements.

Verbatim vs. paraphrasable

Every disclosure has a verbatim flag:

  • verbatim: true — The text must be reproduced exactly as written. This is essential for regulatory language like SEC disclaimers or FDA warnings. The AI cannot rephrase, shorten, or reorder the words.
  • verbatim: false — The AI may paraphrase the disclosure, subject to optional constraints defined in paraphrase_constraints.
{
  "id": "past-performance",
  "text": "Past performance is not indicative of future results.",
  "verbatim": true,
  "scope": ["returns.*"],
  "placement": "adjacent",
  "priority": "required"
}

Paraphrase constraints

When verbatim is false, you can provide guardrails:

{
  "verbatim": false,
  "paraphrase_constraints": {
    "must_include_concepts": ["not guaranteed", "may lose value"],
    "max_words": 30,
    "tone": "neutral"
  }
}

Scope

The scope array determines which payload fields trigger the disclosure. Scopes use dot-notation paths with wildcard support:

  • ["returns.1yr"] — triggers only when the 1-year return field is presented
  • ["returns.*"] — triggers when any field under returns is presented
  • ["*"] — triggers whenever any data from this response is presented

Placement

Controls where the disclosure appears relative to the data it covers:

ValueMeaning
globalOnce per response, not tied to a specific field
beforeImmediately before the field value
afterImmediately after the field value
adjacentNear the field, in the same visual group

Priority

Determines what happens when the disclosure cannot be shown:

  • required — If missing, the runtime triggers the contract's fail_behavior (usually suppress the data)
  • recommended — The runtime logs a warning but continues
  • optional — Included only if convenient for the presentation format

Translations

For verbatim disclosures, you can provide pre-approved translations. The runtime selects the correct language automatically:

{
  "text": "Past performance is not indicative of future results.",
  "verbatim": true,
  "language": "en",
  "translations": {
    "es": "El rendimiento pasado no es indicativo de resultados futuros.",
    "fr": "Les performances passees ne presagent pas des resultats futurs."
  }
}