Bot Detection Test

Interactive detection of automated browser behavior

Instructions

  1. Click the buttons in the "interactive area"
  2. Enter username and password into login form (any string works)
  3. Click Login to see if you were detected as a bot

Interactive Area

About This Test

This page demonstrates various techniques used to detect automated browser behavior. Modern bot detection combines multiple signals including behavioral analysis, browser fingerprinting, and environment checks.

Detection Methods

Behavioral Analysis

Monitors mouse movements, click patterns, and typing behavior. Bots often exhibit unnaturally perfect or erratic movement patterns.

Browser Fingerprinting

Collects unique browser characteristics including canvas rendering, WebGL info, audio context, and installed fonts to create a device identifier.

Environment Detection

Checks for automation tools like Selenium, Puppeteer, or PhantomJS by examining navigator properties and DOM artifacts.

Timing Analysis

Analyzes the timing between user actions. Human interactions have natural variations while bots tend to be too fast or too consistent.

Path Straightness Detection

Analyzes mouse path deviation from straight lines. Bots tend to move in perfectly straight paths (>95% straightness), while humans naturally curve.

Micro-movement/Jitter Analysis

Detects presence of hand tremor. Humans have 15-30% micro-movements (<3px), bots have near 0% (too smooth) or 100% (fake jitter).

Action Interval Variance

Measures timing consistency between actions. Humans have high variance (CV>0.3), bots often have suspiciously low variance (CV<0.15).

Paste Detection

Flags large pastes (>20 chars) into non-password fields. While legitimate, excessive pasting may indicate automation.

Time-to-First-Interaction

Measures delay before first action. Humans need at least 300ms to process and react; instant interaction is suspicious.

Field Re-visit Detection

Tracks form field corrections. Humans typically revisit 1-3 fields to fix mistakes; zero revisits across multiple fields is suspicious.

Bezier Curve Fitting

Analyzes mouse path curvature quality. Human paths fit natural Bezier curves well (R²>0.85); bots produce too-linear or inconsistent curves.

Network RTT Zero Check

Checks if navigator.connection.rtt equals 0. Headless browsers report zero network round-trip time, while real browsers always have RTT > 0.

Client Hints Mismatch

Compares User-Agent platform/version with Client Hints API data. Bots often spoof UA but forget to match the Client Hints values.

Property Descriptor Analysis

Examines navigator.webdriver property descriptor for tampering. Detects puppeteer-extra-stealth and similar evasion tools.

Canvas Randomization Detection

Renders the same canvas image multiple times. If results differ, anti-fingerprint noise injection is being used by anti-detect browsers.

Audio Driver Detection

Creates AudioContext and checks for silence. Headless servers often have no audio hardware, producing all-silent frequency data.

Screen Dimension Inconsistency

Checks for non-standard resolutions and impossible combinations like high resolution with devicePixelRatio=1.

Font-OS Mismatch Detection

Detects if OS-specific fonts match the claimed UA. Missing Segoe UI on Windows or Helvetica Neue on macOS indicates spoofing.

Login Form

Live Detection Status

Pointer movements: 0
Clicks analyzed: 0
Scroll events: 0
Keystrokes: 0
Path points: 0
Micro-movement ratio: 0
Action count: 0
Field re-visits: 0
Scripts blocked: 0
Flags: none