Introduction
The check is the first of a control's three axes — what it detects. Everything else about a control follows from it, including which actions you are allowed to choose.
You pick the check from one searchable list. Most entries are shipped and configured by UnifyApps; Custom (LLM check) is the entry where you describe the check in plain language.
Where to find it
AI Governance > Controls > New Control > Check type — "the risk area this control governs".
Access to AI Governance is granted through platform roles. Ask your workspace administrator, or see Settings > Governance > Roles for how permissions are assigned.
The checks
Check | Detects | How |
| Personal data — emails, phone numbers, US SSNs, card and bank numbers, and more (not names) | Classifier |
| Secrets — API tokens, passwords, private keys | Classifier |
| Instructions hidden in content that try to hijack the agent | Classifier model you choose |
| Common safety categories — hate, violence, sexual, self-harm, and more | Classifier model you choose, with per-category thresholds |
| Named topics the agent must not discuss | LLM classifier |
| A primary term, with optional related terms of which any one must appear | Term matching with context |
| A raw pattern matched against the input | RE2 regular expression |
| Tools the agent may never invoke, regardless of context | Tool-name rules |
| Whatever you describe in plain language | A model you choose, with a prompt you write |
Choosing between them
Three questions settle it in almost every case.
Is the thing you are detecting a known category? — Personal data, secrets, injection attempts and safety categories all have purpose-built checks. Use them — they are better tested than a pattern you write.
PII detectionandCredentials & Secretsadd no model cost;Prompt InjectionandContent Filtercall a model you choose.Can you express it exactly? — A pattern with a stable shape — an internal reference format, an account number — is a
Regex pattern. Deterministic, free to evaluate, and no false positives beyond what your pattern actually says.Does it need judgement? — Then
Denied Topicsif it is subject-shaped, orCustom (LLM check)if it is not. Both call a model on every evaluation.
"Reach for the cheapest check that can actually answer the question. An LLM check is the fallback, not the default — even though it is what a new control starts on."
Two consequences of the choice
Cost — A pattern or term check costs nothing per input. Four checks call a model and add governance spend:
Custom (LLM check),Denied Topics,Prompt InjectionandContent Filter— each has a model setting, and makes a model call every time it runs, on every input it reads. See Where Spend Comes From.Available actions —
Maskacts on a matched span, so only checks that report where the match occurred can offer it. A check answering yes-or-no can flag or block only.Custom (LLM check)is in that second group.
The list can change
Prebuilt checks are resolved when the editor opens rather than being fixed in a release, so your tenant's list is the authority. If a check appears here that you cannot see, or you can see one this page does not list, trust the picker.