"DM me for cheap followers, link in bio"
{ "action": "remove", "rule": "no spam or self-promotion" }
Where content moderation usually starts
Most teams moderate with a generic filter that doesn’t know their rules, plus a frontier model for the hard cases. The filter flags what your community allows and misses what it doesn’t, and the model call costs too much to run on every post. A Facet model reads every post by your rules.
How it works
- Describe the task. Paste the prompt you use today, or write it plainly: “For each comment, return allow, review or remove, and the rule it breaks. Rules: …” Add a few real examples if you have them.
- Agree on what good looks like. Facet writes plain statements of a good answer, like “criticism of a product is allowed; insults aimed at a person are removed”, each with examples. Edit any that are off.
- Create, then correct. Facet builds the model on its own, in the background, and tests it against every statement before it goes live. When moderators overturn a call, say what it should have been. Facet quotes the fix before it spends anything.
Two ways to use it
- From your agent: connect Claude, Cursor, ChatGPT, Codex or VS Code to Facet, then paste:
Use Facet to build a model that reads a comment and returns allow, review or
remove with the community rule it breaks. Our rules: ... Here are thirty past
comments and what moderators decided: ... Show me the draft and the price before you
approve anything.
- In your code: keep your OpenAI SDK and change two lines, the address and the model name.
import os
from openai import OpenAI
client = OpenAI(base_url=os.environ["FACET_BASE_URL"], api_key=os.environ["FACET_API_KEY"])
reply = client.chat.completions.create(model="moderation", messages=[{"role": "user", "content": comment}])
Why Facet for content moderation
- Your rules, not a generic list. It allows what your community allows.
- Every post, not a sample. A model that does one task is cheap and fast enough to read everything.
- Checked before every update. An update goes live only if it keeps every statement the live version passes, and any update rolls back in one step.
- Yours. Export it any time, free, and run it wherever you like.
Questions
Can it send unclear posts to a person?
Yes. Add a review outcome and describe when to use it. Facet tests every version against that rule.
What happens when our rules change?
Paste the new rule and a few examples. Facet quotes the update before it builds anything, and you can roll back in one step.
Is there anything Facet won't build?
Yes. Facet's acceptable use policy lists what it may not be used for, and how it is checked.