Skip to main content
Tripwire evaluates every session across multiple detection categories. Each category contributes independently to the final verdict, and the scoring pipeline combines them with weighted confidence.

Categories

Environment

Detects automation frameworks and headless browser indicators. Checks for:
  • WebDriver API presence (navigator.webdriver)
  • Automation globals (__playwright, __selenium, cdc_*)
  • Headless browser markers (zero plugins, missing APIs)
  • Stealth plugin artifacts
Environment signals are deterministic — when present, they produce high-confidence bot verdicts.

Fingerprint

Analyzes the device’s hardware and software configuration for consistency:
  • WebGL renderer and extensions
  • Canvas and audio fingerprinting
  • Screen geometry anomalies
  • Anti-detect browser noise patterns
Fingerprint signals detect spoofed or manipulated device profiles.

Behavioral

Observes how the user interacts with the page:
  • Mouse movement patterns (linearity, speed, Fitts’ Law compliance)
  • Keyboard timing (inter-keystroke intervals, rollover patterns)
  • Touch dynamics (for mobile devices)
  • Form interaction timing
Behavioral signals require user interaction. Sessions evaluated before interaction may produce inconclusive verdicts.

Timing

Measures temporal patterns:
  • Time to first interaction
  • Form completion speed
  • Suspiciously regular intervals (100ms, 250ms, 500ms)

Anti-tamper

Server-side cross-validation of client-reported data:
  • User-Agent vs HTTP headers consistency
  • TLS fingerprint (JA4) vs claimed browser
  • Network characteristics vs device claims
Anti-tamper signals are server-side only and cannot be spoofed from the browser.

How categories combine

The scoring pipeline weights each category and combines them:
  1. Short-circuit — definitive signals (e.g., navigator.webdriver === true) immediately produce a bot verdict
  2. Weighted combination — non-definitive signals are combined with category weights
  3. Corroboration — behavioral signals alone cannot produce a bot verdict without deterministic corroboration
  4. Normalization — final score mapped to 0–1 range via sigmoid function

What’s next