Unify Logo Footer.svg
AI Governance
Logo
Denied Topics

Denied Topics

Logo

3 mins READ

Introduction

Some subjects an agent must simply not discuss — not because the words are forbidden, but because the subject is. Compensation. Pending litigation. An unannounced product.

A pattern cannot express that. Denied Topics can, because it works on meaning rather than text.

What it detects

"Named topics the agent must not discuss, detected by an LLM classifier."

You define topics; a classifier decides whether the content is about one. That means it catches a conversation about salary bands whether or not anyone used the word "salary".

Defining a topic

Each topic takes three things, and the third does most of the work.

The control's settings are a Classifier model (required); one or more topics, each with a Name and Description (required) and example phrases; and a Confidence threshold (default High). It runs on User input and Agent output.

Field

What it is for

Name

What the topic is called. Appears on the incidents it raises.

Description

What this topic covers. The classifier's definition of the boundary.

Example phrases

Phrases that fall under it. How the classifier learns where the boundary sits.

The description and examples are the control. A topic named Compensation with no description is an invitation for the classifier to guess what you meant. The same topic described as "salaries, bonuses, equity grants, and individual pay decisions", with three or four example questions, behaves predictably.

"The topic name is for you. The description and the examples are for the classifier — and it only knows what you tell it."

One control can carry several topics, which is right when they share an action and a scope. Split them when you want to block one and flag another.

Where to run it

Applied on

Answers

User input

Are people asking about this?

Agent output

Is the agent discussing it?

The two answer genuinely different questions. User input tells you about demand — useful intelligence even when the agent handled it correctly. Agent output tells you about exposure, which is what you are accountable for.

The shipped ISO 42001 pack runs its denied-topics control on User input and Agent output with a Flag action, and that control raises the overwhelming majority of the pack's incidents — a good indication of how broad a topic control can be if the definition is loose.

Actions

Classification answers yes-or-no rather than reporting a position, so Mask is not offered. Flag and Block are.

Blocking a topic stops the interaction with a fixed content-guidelines message rather than an explanation, which for an internal agent is usually acceptable and for a customer-facing one usually is not. Most teams flag on user input and block on agent output.

Tuning

  1. Noise is almost always a loose description — Before touching anything else, reread the description as though you were the classifier. "Anything financial" will catch every invoice question you have.

  2. Add examples from the false positives — The incidents that should not have fired tell you exactly where the boundary is wrong.

  3. Split broad topics — Two narrow topics with clear descriptions behave better than one broad one, and their incidents are easier to judge.

  4. Remember it costs per evaluation — This is an LLM-backed check. On a busy agent watching several points, that is a real line in governance spend.

Known limitations

  1. No Mask — The check cannot say which span made the content about the topic.

  2. Discussion and mention are hard to separate — Content explaining that a topic is off-limits can itself classify as being about it.

  3. It costs a model call — Every evaluation, on every input the control reads.

FAQs

How many example phrases should a topic have?

Enough to mark the edges — a few clear cases and, once you have them, a few near-misses that should not match.

Why is my topic catching unrelated conversations?

The description is broader than you intended. It is the first thing to fix and usually the only thing.

Should I use this or a custom LLM check?

Denied Topics if the rule is "do not discuss X". A custom check if the rule is about how the agent behaved rather than what it discussed.