The CleanTalk alternative for spam from clean addresses.

Contact form: real submissions and how Doorman judged them

  1. Specimen · Contact formNº 146647 9950

    From zara@quill.example

    “I run Quill Legal. We use Xero today. Half our clients are in the UK. Can we get a demo this week?”

    91% chance it’s real · 87 ms

    Genuine
  2. Specimen · Contact formNº 144970 2331

    From growth@rankwise.io

    “Your restaurant isn't showing on page one of Google. We can fix your local SEO in 30 days, guaranteed. Can I send a proposal?”

    Sales pitch

    1% chance it’s real · 82 ms

    Void
  3. Specimen · Contact formNº 150003 5188

    From kofi@proton.me

    “I run Brightline Dental. Clients keep asking to pay by card and we can't take it. Does it import from what we use now?”

    81% chance it’s real · 78 ms

    Genuine
  4. Specimen · Contact formNº 148325 7569

    From hello@pixelcraft.agency

    “We build stunning websites for architects. Your current site feels dated. 15 minute call to show you some concepts?”

    Sales pitch

    2% chance it’s real · 84 ms

    Void
  5. Specimen · Contact formNº 153359 0426

    From claire.m@gmail.com

    “Hi, my son chipped a front tooth at football. Do you have anything this week for children? He's 11.”

    95% chance it’s real · 90 ms

    Genuine
  6. Specimen · Contact formNº 151681 2807

    From ce0a@yopmail.com

    “Hello harbourdental.co.uk, Get 1000 free visitors to your website today! Click here: http://bit.ly/tr4ff1c”

    Spam

    1% chance it’s real · 99 ms

    Void

Sound familiar?

CleanTalk is very cheap and covers many CMS plugins, using blacklists and bot-behaviour tests. Its weak spot is a first-time human pitch from a clean IP and a valid email. That's the one Doorman is built to read.

14 days of Pro free, no card. Then free for 100 submissions a month, or Pro from $29.

  1. First-time senders get throughA new agency, a new address, a clean IP: blacklists have nothing to match.
  2. Built around CMS pluginsCustom stacks call its API; the experience is shaped by WordPress, Joomla and Drupal.
  3. Borderline goes one way or the otherThere's no hold lane for the messages nobody could call.

Doorman and CleanTalk, side by side.

QuestionDoormanCleanTalk
What it checksWhat the submission asks for, against what you sellIP and email blacklists, the message, and bot tests such as submit speed
A first-time human pitchKept outOften passes: nothing to match on a blacklist
Why something was blockedThe exact sentenceReason codes and a comment, plus dashboard logs
Unsure submissionsHeld and forwarded to youAllowed or blocked
Where it worksAny stack; coding agents set it up (MCP, llms.txt)CMS plugins, plus an API
PriceFree for 100 submissions a month; Pro $29 for 5,000$12 a year for 1 site, up to $200 a year for 40; $27 a month unlimited

Their plans and behaviour as published on their own sites, checked 29 September 2026. Sources: cleantalk.org/price, cleantalk.org/help/api-check-message.

Which one is right for you?

Choose Doorman if

  • Your spam is freshly written pitches from addresses nobody has blacklisted
  • You're on a custom stack, Webflow, Framer or Next.js
  • You want borderline cases held for you
  • You want your coding agent to set it up

Choose CleanTalk if

  • You manage many WordPress, Joomla or Drupal sites and want the cheapest unlimited plugin
  • Blacklist-style bot spam is your main problem
  • You want malware scanning and uptime checks from the same vendor

Switch in two minutes

  1. From your server replace the CleanTalk call with one doorman.check call; act on deliver, hold or drop.
  2. Or no code point the form's action at your Doorman URL and it forwards the real ones to you.
  3. Or ask your agent copy one prompt into Claude Code, Codex or Cursor and it does the swap.
  4. Start safely watch mode delivers what it would have dropped, tagged, until you switch it to enforce.

Read the docs

One call, with the reasonjs
const r = await doorman.check({ form: "f_yourForm", email, name, message });
// r.action: "deliver" | "hold" | "drop"
// r.evidence: "We can fix your local SEO in 30 days, guaranteed."

Checked, not guessed.

Every decision comes from Doorman's models reading the submission, in milliseconds, with the reason attached.

13/13
agency and SEO pitches dropped in our labelled contact-form set
0
genuine enquiries dropped; the unsure ones were held and forwarded to you
~100 ms
to judge a submission, before the thank-you page loads

Labelled test set: 104 invented but labelled contact-form and checkout submissions, judged live; latency is the median of those checks. Questions were not tuned to the set.

Questions

Is Doorman more expensive than CleanTalk?

Per site, CleanTalk is cheaper. Doorman is priced by submissions (free for 100 a month, $29 for 5,000) and catches the human pitches blacklists miss.

Can I use both?

Yes. Keep CleanTalk's plugin for bots and send submissions to Doorman to read what gets through.

Does Doorman use blacklists?

It uses allow and block lists you set, but it judges each message on what it says, so a new sender isn't a blind spot.

How much does it cost?

Free for 100 submissions a month. Pro is $29 a month for 5,000 and Business is $79 a month for 50,000, and every account starts with 14 days of Pro. Until November 30, the first 100 paying customers get Pro at $19 and Business at $59, kept for as long as they stay. See pricing.

Try it on your own forms.

Start with 14 days of Pro, free. Turn on watch mode to see every call before you trust it.