Verify

Scoring the browser
behind a signup

Nolgard scores the browser and the request that sent it, and keeps every signal that added to the score so you can see why a verdict came out the way it did.

Decision trace

Example · block mode · bot threshold 70Bot
  1. Input signalsA Chrome user agent, a known Python requests TLS cipher list and no Accept-Language header.
  2. Reason idstls_tool_stack · 70no_accept_language · 20
  3. Verdictbot · score 90
  4. Decisionblock · your backend enforces it

How it works

  1. Collect evidence

    Client checks compare browser surfaces and interaction signals. Each challenge selects six of seven seeded probes.

  2. Check the request

    Server signals add transport evidence, including TLS cipher-list mismatches. SHA-256 proof-of-work scales from 10 to 18 bits with risk.

  3. Apply the policy

    Weighted reasons sum to a score capped at 100. Your configured thresholds and site mode choose the decision.

API

Verify the browser token on your backend. Example response fields; reasons are owner-only diagnostics.

POST https://nolgard.com/v1/verify
Content-Type: application/json

{
  "secret": "SITE_SECRET",
  "token": "BROWSER_TOKEN",
  "action": "signup"
}

// Example response fields
{
  "success": true,
  "verdict": "bot",
  "score": 90,
  "decision": "block",
  "ref": "ev_123"
}

Limits

Rules: test on history before enforcing a policy based on these reasons.