Governance7 min read

Policy layers for customer-facing assistants

A practical split between model creativity and hard rails: what belongs in prompts, what belongs in code, and how to version both without shipping surprises.

Jordan Lee
Head of Trust & Safety
policycomplianceguardrailsLLM

Customer-facing assistants sit at the intersection of brand, law, and messy reality. The model will always be tempted to improvise; your job is to make improvisation safe. That means separating “how we sound” from “what we may promise.”

Three layers we recommend

  1. Organizational policy: non-negotiables (PII handling, refunds, medical or legal disclaimers).
  2. Product policy: what the assistant may claim about inventory, pricing, and timelines—usually backed by APIs, not prose.
  3. Voice layer: tone, empathy, and format—where the model has room to shine without changing facts.

Version everything that can change compliance posture

Prompts drift. So do discount rules. Tie policy versions to releases the same way you tie database migrations: with review, rollback, and an audit record of who signed off.

// Pseudocode: check before send
const decision = await policy.evaluate({
  userId,
  channel: "chat",
  proposedReply,
  context: { cart, region },
});
if (!decision.allow) return escalate(decision);

When evaluation is cheap and explicit, you can iterate on voice weekly without fearing a silent regression in what customers are told.