Adds a “Custom Captcha” field to the Fluent Forms editor with three challenge types:
Challenges are single-use and expire after 15 minutes. Answers are stored server-side via WordPress transients — nothing is exposed to the browser except the image itself. Visitors get a refresh button to request a new challenge, and the captcha automatically renews after each AJAX submission, so it also works on cached pages.
On top of the captcha you get two extra spam defenses:
ffc_captcha_blocked_email_domains filterEverything runs on your own server: no external captcha service, no API keys, no cookies, no visitor data sent anywhere.
Fluent Forms is required. The PHP GD extension is recommended for image rendering (with a plain-text fallback when unavailable).