AI Text Content Moderation
Classify user text against the app's policy and act on it proportionately.
What it adds
A classification step on user-submitted text that maps policy categories to graduated actions and a review queue.
What your agent is told to do
5
What your agent is told to do
5-
1
Identify every surface where one user's text reaches another — posts, comments, messages, profile fields, review text, support replies — and apply the check there. Text that never leaves its author does not need moderating.
-
2
Define a graduated set of actions rather than a binary verdict, and map each policy category and confidence band to one of them: allow, warn the author, limit reach, quarantine for review, or block outright.
-
3
Send the user's text as data, clearly delimited from the policy instructions, and treat anything inside it as untrusted input. Text that says it is a new system instruction must be classified, not obeyed.
-
4
Route the uncertain band to the same human review queue used by AI Image Content Moderation, sharing its action vocabulary, reviewer permissions, and appeal path. This brief owns the text classifier and its categories; that one owns the image classifier.
-
5
Record the decision, the categories, the action, and the reviewer, and keep only the excerpt needed to justify it. Do not archive the full text of every message that was allowed.
Edge cases it handles
8
Edge cases it handles
8- Quoted, reported, educational, and fictional uses of prohibited language differ from genuine abuse. Where the policy depends on that distinction, pass enough surrounding context for the classifier to see it, and route the ambiguous cases to a human rather than resolving them by keyword.
- Allow, warn, limit, quarantine, and block must be distinct actions with distinct consequences and distinct user-facing copy. Collapsing them into a single block produces either an unusable product or an unmoderated one.
- Every uncertain classification needs a human path with a stated turnaround, and quarantined content must be visible to its author as pending rather than silently vanishing.
- User text will contain attempts to redirect the moderation prompt. Keep instructions and content separated, ignore instruction-shaped content in the input, and treat structured output that does not match the expected shape as a failed classification, not as an allow.
- The audit trail must justify the decision without becoming a store of the sensitive content it was judging. Retain the categories, the action, and a minimal excerpt, under the app's stated retention period.
- Multilingual text, transliteration, and deliberate character substitution must be handled, and text the classifier cannot read must go to review rather than through.
- When the provider is unavailable, times out, or rate-limits, choose a documented posture per surface — a public post can hold, a private message may pass — and re-check held content when service returns.
- Edits after publication must be re-checked, or a benign post becomes a policy violation with one edit and no further scrutiny.
Definition of done
9
Definition of done
9- Every surface where text reaches another user is classified before that text is visible.
- Actions are graduated across allow, warn, limit, quarantine, and block, each mapped to a category and confidence band.
- Uncertain classifications reach a human review queue shared with image moderation, with a stated turnaround.
- User text is passed as delimited data and instruction-shaped content in it has no effect on the classification.
- Malformed or truncated structured output is treated as a failed classification, never as an allow.
- Decisions are auditable from categories, action, and a minimal excerpt, under a stated retention period.
- Edited content is re-checked and a provider outage applies a documented per-surface posture with automatic re-check.
- The feature matches the existing design system.
- No existing functionality is broken.
Related features
AI Import Column Mapping
AI Import Column Mapping
Guess how an uploaded file's columns line up with the app's fields, then ask.
What it does
A proposed mapping from uploaded columns to destination fields, shown with samples and confirmed before the import runs.
How it works
- 1 Take the uploaded headers and a small sample of rows and propose a mapping to the destination fields. Match on exact and near-exact header names first and only consult the model for the columns that remain unresolved.
- 2 Constrain the candidate set to fields the current user and the importer are actually permitted to write. A mapping that targets a read-only, computed, or privileged field must never be offered, whatever the header says.
- 3 Show the proposal as a table: source column, sample values, destination field, confidence, and the transformation that will be applied. A user cannot approve a mapping they cannot see the effect of.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/ai-import-column-mapping
Prompt Injection Defense
Prompt Injection Defense
Stop instructions hidden in documents, pages, and tool output from steering the AI.
What it does
A boundary between the app's own instructions and untrusted content, backed by enforced tool permissions and confirmation for consequential actions.
How it works
- 1 Enumerate every route by which content the app did not author reaches a model: uploaded files, retrieved passages, fetched pages, records from connected accounts, and the results of tool calls.
- 2 Keep the app's own rules in the trusted portion of the request and enclose untrusted content in a clearly delimited region labelled as material to be analysed rather than instructions to be obeyed.
- 3 Enforce what the model may reach outside the model. Tool permissions, tenant scoping, and rate limits must hold even when the model has been completely persuaded — an instruction telling the model not to delete things is not a control.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/prompt-injection-defense
Model Fallback
Model Fallback
Keep AI features working when the primary model provider fails.
What it does
A bounded retry path that reruns a failed AI task on a compatible alternative model and discloses the substitution.
How it works
- 1 Classify failures before reacting. Provider outages, capacity rejections, rate limiting, and timeouts are worth retrying elsewhere; a refusal, an invalid request, or an authentication error will fail identically on any destination and must surface immediately.
- 2 Honour rate limiting with backoff before moving on. Retrying instantly against a provider that asked you to wait deepens the outage and can extend the penalty period.
- 3 Allow fallback only to models that can honour the same output shape and the same tool behaviour as the original. A substitute that returns a different structure turns a provider outage into a data problem inside the app.
Copy the prompt
No account needed
Add this feature to my app:
https://addthisfeature.com/x/model-fallback
How it works
-
1
Copy the link
Grab the Markdown instruction URL for this feature.
-
2
Give it to your AI
Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.
-
3
It inspects, then implements
Your agent reads your existing app first, then adds the feature to fit it.
Works with your stack
These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.
Need it tighter than that? Customize the feature and tell it exactly what you're running.