tidytweet

Help

Why did the filter flag (or miss) this?

Short answer

Filters make two kinds of mistakes. False positives happen when a list entry appears inside an innocent word or the word is harmless in context. Misses happen when a spammer spells around the list or writes nothing suspicious at all. The fix is usually an allow list for the first and broader matching or a hold rule for the second.

Why was an innocent post flagged?

Most often because a blocked word appears inside a longer, harmless word, or because the word itself is fine in that sentence.

  • Words inside words. "Match inside longer words" makes "ass" catch "class". Leave it off unless you have a specific reason.
  • Context. "That set absolutely killed" is praise. Put words like this on a hold list, not a reject list.
  • Prefixes that are too short. scam* is fine; ho* catches "hope", "home" and "hotel".
  • Spam score signals. Excited fans use emoji and capitals. That's why the spam scorer has a review band instead of a hard cutoff.

Add frequent false positives to the allow list in the filter tester. Allow-list matches always win over block-list matches in the same spot.

Why did a bad post get through?

Either it was spelled in a way the list didn't expect, or it contained nothing a text filter can see.

  • Creative spelling. Turn on look-alike characters, stretched letters and spaced letters, and add the variant you saw as its own line.
  • Other alphabets. A Cyrillic "а" looks identical to a Latin "a". The tester maps common ones; the spam scorer flags words that mix alphabets.
  • Polite spam. "Great point! I wrote something similar" with a scam link in the profile has no bad words. Hold rules for links and new accounts catch more of this than any word list.
  • Images. Text inside an image is invisible to every tool here.

Our guide to building a blocklist that doesn't backfire goes through each trade-off.