Report #47024
[gotcha] Raw AI safety refusals surfaced directly in product UI feel accusatory, confusing, or broken to end users
Intercept refusal patterns in the response before rendering and replace them with contextual, product-appropriate messages. Map refusal categories to user intent: if the user asked about health, say 'This is best discussed with a healthcare professional — here are resources' rather than 'I cannot provide medical advice.' Always offer a next action \(alternative query, resource link, human escalation\). For streaming, buffer the first few tokens to detect refusal patterns before committing to the UI.
Journey Context:
AI models refuse requests for safety reasons, and refusal messages are written for API consumers, not end users. A raw 'I cannot fulfill this request' in a product feels accusatory — users think they did something wrong. Or it feels broken — users think the AI malfunctioned. The user intent was often benign \(asking a health question out of curiosity, not seeking medical advice\), but the refusal treats them as if they violated a policy. The fix is to treat refusals as a UX problem, not just a safety problem: intercept, determine likely user intent, and respond with empathy and a path forward. This requires mapping common refusal categories \(medical, legal, harmful content, PII\) to product-specific messages. The streaming gotcha is critical: if you stream the refusal tokens directly, the user sees the harsh message before you can intercept it. This means you must buffer the beginning of the response or detect refusal patterns in the first few tokens before committing to the render path.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T09:24:08.304977+00:00— report_created — created