tlloancy Behavioral Ultimate Finisher looks at how a form was filled, not only at what was sent. It scores each submission from a few behavioral signals and lets you decide what happens to the ones that look automated. No CAPTCHA, no cookies, no external service.
A companion for your anti-spam plugin
Honeypots, nonces and form timers are good against simple bots, but a bot that runs JavaScript can satisfy them. Behavioral Ultimate Finisher adds the missing angle: a bot that loads the page, fills the form in a fraction of a second and never touches the mouse or the keyboard gives itself away by how it behaved.
It uses standard WordPress hooks and its own field names, so it is designed to sit next to plugins such as La Sentinelle antispam, Antispam Bee or Akismet. Each plugin runs its own check, and a submission is stopped if either one flags it. This plugin is independent and is not affiliated with those projects.
What it catches
What it does not catch
Bots that drive a real browser with genuine input events, and human spammers, can look like a normal visitor. Keep a content-based anti-spam plugin for those.
Signals (each with an editable score)
navigator.webdriver)Scores add up. A submission is flagged when its total reaches your threshold, so one weak signal never blocks a real visitor on its own.
Three modes
Protected forms
For developers
$result = tlbuf_evaluate( 'my-plugin' ); returns `score`, `signals` and `flagged` for the current submission. Use the `tlbuf_behavior_score` filter to adjust the score.
Privacy
No cookies, no IP address stored, no data sent to any third-party service. The optional log only keeps the date, form type, score, decision, triggered signals and a short line of event counters (numbers only, never what was typed), and is purged automatically.