Profile Bios Moderation

Moderate user bios, about sections, and profile descriptions — persistent public text that represents your platform.

Configuration: context: bio mode: strict

The moderation problem

A bio is public, persistent, and indexed. Unlike an ephemeral chat message, it sits on a profile indefinitely and shows up in search and previews. That raises the stakes: hidden slurs, evasive spellings, and self-promotion of hateful content all need catching before they're permanently visible.

Why a word list isn't enough

Word lists miss leetspeak and homoglyph evasion ('h4te', Cyrillic look-alikes) that users deliberately use in persistent fields, and they over-trigger on ordinary self-description that happens to contain a flagged token.

How The Profanity API handles it

Use context `bio` with `strict` mode so single matches flag and the blocklist layer's homoglyph normalization catches evasive spellings — appropriate for text that will be public and permanent rather than fleeting.

Examples

Input Verdict
Coffee addict ☕ | dog mom | living my best life safe → allowed
proud to h8 everyone who isn't like me 🔥 discriminatory → flagged

Quick start

const res = await fetch("https://api.theprofanityapi.com/v1/check", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.PROFANITY_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ text, context: "bio", mode: "strict" }),
});

const { flagged, intent, score } = await res.json();

Other use cases

Ready to ship moderation?

Get an API key and 300 free requests a month. No credit card required.

Get started free →