Greater Atlanta's IT partner since 1989
Gravity Forms
Spam filtering for Gravity Forms that explains itself
WordPress 6.0+ · PHP 8.1+
SHA-256e167706dce02b2ca3aba4453781598e7a272a28a2e609e23a6022914ed822d09
Scores every Gravity Forms submission against ten independent checks and files the suspicious ones as spam — with a written explanation attached to each one.
The default challenge runs entirely on your own server. No Google, no account, no cookie, no third party told that your visitor exists.
Gravity Forms already ships free add-ons for reCAPTCHA, Cloudflare Turnstile and Akismet, and for many sites those are the right answer. Three things they do not cover are the reason this plugin exists.
Nothing self-hosted. Every captcha option Gravity Forms offers reports to Google or Cloudflare. If a client needs visitor data to stay on their own server, none of them qualifies.
Filtering you cannot audit. The honeypot and speed check are pass or fail. Akismet is a paid black box at $9.95 a month per commercial site. When a client asks "why did we never get that enquiry?", none of them can answer.
Nothing built for a fleet. Configuring keys and thresholds by hand on every client site, forever.
It fails open, every time. This is the design decision everything else follows from.
Nothing is refused by default. A submission that scores above the threshold is filed in the Spam folder, where Gravity Forms already suppresses its notifications — so the client stops receiving spam without any real enquiry ever being at risk. A filtered message is recoverable in one click. A refused one leaves no record at all, and neither you nor your client would ever know it happened.
A check that cannot reach a conclusion abstains: it contributes nothing and never counts against the visitor. A blocklist outage, a slow DNS resolver, a visitor with JavaScript switched off, a bug in one check — none of them can cost anyone their enquiry. All ten checks share a single time budget measured in milliseconds, so a slow third party never becomes a slow contact form.
Proof of work is not strong security, and it would be dishonest to imply otherwise. Solving services sell ALTCHA solvers, and a headless browser computes a hash faster than a real phone does. It crushes undirected, high-volume spam and does very little against someone targeting one specific site.
That is exactly why the challenge result is one weighted input among ten rather than a gate. A plugin that hard-blocks on a captcha alone is trusting the weakest part of the system with the most expensive decision.
Talk to the people who build and support it.