getting started

How scoring works

Botardo assigns every form session a score from 0 to 100. Learn what drives that number.


Every form submission gets a score from 0 (definitely human) to 100 (definitely a bot). Every session starts at 100 by default — see why scores start at 100 — and only moves down as signal layers confirm the session looks human. Here's how Botardo arrives at that number.

Signal layers

Botardo evaluates sessions across three independent signal layers. Each layer holds a portion of the starting 100 and releases it when it finds evidence consistent with a human; a layer that never reports simply never releases its share, and the score stays elevated.

Behavioral baseline

Mouse movement, keystroke cadence, scroll patterns, and focus timing are compared against a per-device behavioral model. Natural human variance lowers the score; deviations, or a lack of any interaction to measure, leave it unchanged.

Network signals

IP reputation, data-center ranges, known proxy exits, Tor relays, and hosting ASNs. Most legitimate users submit from residential or mobile addresses, which lowers the score; hosting and exit-node ranges leave it unchanged.

Environment fingerprint

Browser feature availability, canvas rendering, WebGL renderer strings, and font enumeration. An ordinary, fully-featured browser lowers the score. Headless browsers leave a distinct fingerprint even when they spoof common user-agent strings, so this layer doesn't release its share for them.

Score thresholds

Botardo doesn't make the block/allow decision for you — that's your call based on your risk tolerance. These are the defaults most customers use:

Score rangeSuggested actionTypical use
0–40AllowNo friction
41–70ChallengeCAPTCHA or honeypot
71–100BlockSilently drop the submission
**Tip:** Start with logging-only mode (`data-mode="passive"`) for a week before enabling blocking. You'll learn your baseline false-positive rate before it affects real users.

Confidence levels

Alongside the score, Botardo returns a confidence field: "high", "medium", or "low". Confidence reflects how much signal was available for this session.

A score of 80 with "low" confidence is less actionable than 80 with "high" confidence. Consider loosening thresholds or routing to a challenge step when confidence is low.