Check the session
behind the action.

Use browser and connection findings to check registrations, compare account attempts, and apply your scraping policy.

signup

Check before creating the account.

A verified email or phone number does not establish a new customer. Browser profiles and proxy connections can also change between account attempts.

Heretic checks browser claims against API behavior and the observed connection. Your backend can reject a signup, compare its identifiers with existing accounts, or request a phone challenge. Our own registration uses the same APIs.

Read the fake accounts page
illustrative sessionPOST /signup
what the browser said
platform macOS 15
processors 10
timezone America/New_York
collected observations
TCP signaturematches Linux
throughputplateaus at 2 workers
round trip84 ms
stack.os-contradiction compute.cores-below-claim
verdict contradicted your move: ceremony, then the account
one operator, many accounts

Compare registrations with existing accounts.

Trial abuse and referral farming depend on repeated account creation. Compare the browser and connection behind each attempt, while accounting for shared devices and addresses in your own policy.

Heretic returns instance, machine, and rendering identifiers when their inputs are available. Store them with each account, including scope and version. A match establishes matching inputs, not a unique device or person.

Read the multi-accounting page
40
example registrations
1
machine identifier
Example: 40 registrations share a machine hash Matching inputs. Conditional evidence.
scraping and automation

Inspect browser automation.

An HTTP client can claim Chrome, and a driven browser can hide its automation markers. Heretic checks for declared automation, replaced APIs, inconsistent browser properties, and conflicting connection behavior.

An opened session with missing required measurements returns refused. If no session opens, no assessment exists. Require a completed check on your backend before accepting a protected action.

Read the scraping page
session 41d7c9eeGET /catalog?page=2
wireprobejoinclient stopped answeringrulereturn
verdict refused your policy: reject, limit, or allow

Findings for each use case

fake accounts multi-acct scraping
geo.* latency and claimed timezone ●○○
stack.* TCP and operating-system claims ●○●
tls.* / http.* handshake and HTTP construction ○○●
reach.* required connection attempts ○·●
compute.* workload measurements ○○○
integrity.* altered or inconsistent browser APIs ●○●
identity fields scoped browser inputs ○●·
● primary use in these examples ○ additional context
the policy is yours
Scraping Reject a session, rate-limit it, or allow it under your access policy.
Account match Require an existing-account login or a phone challenge.
Trial signup Compare the identifiers with earlier trials before granting the benefit.

Try a browser check.

Open the live demo to inspect a verdict and its findings.