Unprofane

About

A profanity and toxicity API built around one question, should I allow this text, and around being honest about how well it answers it.

Why

Most profanity filters are a word list. A word list misses sh1t and blocks Scunthorpe, and when it is wrong it cannot say why. The model-only alternatives are slower, cost more, and read a cancer forum as profane. Unprofane runs rules at the edge for most text, asks a model only about the text the rules cannot settle, and never lets the model decide on its own: it supplies numbers, and policy code you can read turns them into an answer with the evidence attached.

Proved in public

The Scunthorpe Test is an open benchmark with a public set anyone can run, a private set we keep back, and the false positives counted rather than hidden. Every number on this site is read from a benchmark result file, a plan table or an engine version file. There are no logos, testimonials or invented counts anywhere on it.

Private by architecture

No request text is stored. Text the rules answer never leaves Cloudflare. A project can be set to Edge-only so a model is never constructed for it. Each of these is a test in the source, listed in the file called TRUST.md, and the privacy page says them again in plain words.

Who

Unprofane is made by Tomer N. Marketing and Sales Ltd, a small company in Israel. Write to hello@unprofane.com; a person reads it.