Tone
Tone directives control how an AI frames data — preventing it from accidentally turning market data into investment advice or clinical results into medical recommendations.
The tone object
{
"tone": {
"framing": "informational",
"prohibited_framings": ["recommendation", "advice", "endorsement"],
"prohibited_phrases": [
"you should buy",
"guaranteed returns",
"risk-free",
"once in a lifetime"
],
"required_framing": {
"trigger": "risk_rating",
"instruction": "Always present risk data in a neutral, factual tone."
},
"editorial_restrictions": {
"no_superlatives": true,
"no_urgency_language": true,
"no_personalized_advice": true
}
}
}
Framing directives
The framing field sets the overall tone. Common values:
informational— Present data as facts. No opinions, no recommendations.educational— Explain what the data means, but do not advise action.neutral— No positive or negative characterization of the data.
Prohibited phrases
An explicit blocklist of phrases the AI must never use when presenting this data. The runtime includes these in the prompt instructions so the model actively avoids them:
"prohibited_phrases": [
"you should buy",
"guaranteed returns",
"risk-free",
"can't lose",
"act now"
]
This is particularly important in financial services, where specific phrases can create legal liability by implying suitability or a personal recommendation.
Prohibited framings
Higher-level restrictions on how the AI contextualizes the data. While prohibited_phrases blocks specific words, prohibited_framings blocks entire categories of presentation:
"recommendation"— The AI cannot suggest the user take action based on the data"advice"— The AI cannot frame the data as personal advice"endorsement"— The AI cannot express a positive opinion about the data"comparison"— The AI cannot compare this data to competitors
Editorial restrictions
Fine-grained boolean flags that constrain the AI's editorial choices:
| Flag | Effect |
|---|---|
no_superlatives | Blocks "best", "worst", "highest", "lowest" characterizations |
no_urgency_language | Blocks "act now", "limited time", "don't miss" phrasing |
no_personalized_advice | Prevents the AI from addressing the user's specific situation |
Required framing
Triggers specific framing instructions when certain data fields are present. This ensures that sensitive data always gets the right context:
"required_framing": {
"trigger": "risk_rating",
"instruction": "Always present risk data in a neutral, factual tone. Do not characterize any risk level as 'good' or 'bad'."
}