← Back to work

Oracle · Redwood · AI Guardrail Messaging · 2026

AI Guardrail
Messaging

Writing the system-level messaging that keeps Oracle's embedded AI assistants safe, compliant, and transparent, what a user sees when the AI hits a limit it can't cross.

My role

Principal UX Content Designer

Scope

AI safety and guardrail messaging

Audience

Users of Oracle's embedded AI assistants

Status

Completed

Context

A new content domain: what the AI won't do

As Oracle embeds AI assistants directly into Redwood products, a new category of writing became necessary: guardrail messaging. This is the system-level text that appears when an AI assistant hits a boundary it's designed not to cross: a session that's timed out, a request that violates content policy, or a proactive disclaimer telling the user not to share personal data in the first place.

This work sits at the intersection of UX writing and AI safety. The message has to be clear enough that a user understands why they were stopped, without being so clinical that it reads as a system failure rather than an intentional safeguard.


Guardrail use cases

Mapping use cases before writing a single message

Guardrail messages needed to be governed the same way any other message type is, with a defined use case, purpose, and message surface, rather than written ad hoc each time a new AI feature needed one. I mapped the use cases against when each triggers, what it's enforcing, and which message type and chat surface should carry it.

Guardrail message use case table: session timeout and policy violation

Use case framework: Session Timeout keeps users aware of session lifecycle; Policy Violation enforces compliance and guardrails.

Framing these as system-level messages, rather than one-off AI responses, meant the same governance model used for banners, toasts, and dialogs elsewhere in Redwood could apply here too: a defined message type, a defined surface (chat banner vs. chat message), and approved copy.


Message specs

Writing the policy-violation message itself

For the Policy Violation use case, the message needed to do two things at once: state plainly that the request can't be fulfilled, and redirect the user toward a productive next step, rather than leaving them at a dead end.

Content violation guardrail message spec: Try a different request

The approved chat banner spec: "Try a different request. The current request doesn't comply with content policies."

The header acts as the call to action,"Try a different request",while the body explains why, so a user scanning quickly still walks away knowing what to do next, not just what went wrong.


Outcomes

Governance extended into AI-generated moments

Guardrail messaging brought AI-specific content under the same governance model as every other message type in Redwood, rather than letting it grow as an ungoverned exception.

Outcomes

A defined use case model

Established a reusable framework, use case, purpose, message type, and surface, so new guardrail scenarios can be evaluated consistently instead of written from scratch.

Redirect, don't just refuse

Wrote guardrail copy that pairs a clear refusal with a concrete next step, avoiding dead-end messages that leave users stuck.

Lifecycle-aware, not just error-aware

Covered session-lifecycle messaging alongside policy enforcement, so users are kept aware of a session timing out, not only stopped when they violate a policy.

Next case study

Agentic App Guidelines

↗