conclusive boolean tells you whether the ruling meets the bar for hard enforcement.
The Five Verdicts
contradicted
One or more evidence families directly contradict the client’s declared claims. The
conclusive flag is true when at least one absolute signal is present, or when two or more composite signals from different families corroborate each other. Act on this verdict.refused
The client refused to complete one or more required measurements. Refusal is itself a strong signal — a benign browser has no reason to block a timing probe or suppress a TCP handshake. Treat refused sessions with the same suspicion as disputed.
disputed
Evidence points toward contradiction, but the signal weight does not yet meet the conclusive threshold. You have enough to challenge or rate-limit, but not enough to block outright.
uncontradicted
All measured families align with the client’s declared claims. No contradiction was detected across the signals Heretic was able to collect.
insufficient
Too few evidence families reported results to reach any verdict. This usually means the collector script ran on a severely restricted connection or was blocked before completing initialization.
uncontradicted is not a guarantee of legitimacy. It means Heretic found no contradiction among the signals it measured. A session in a geography with weak RTT coverage, or one where the collector could not run certain probes, may return uncontradicted without meaning the client is clean. Check measured_families in the response to understand what was actually tested.The conclusive Boolean
The conclusive field is the single most important field in the verdict payload for enforcement purposes. It is true only when the ruling meets the threshold defined by the ruling algebra:
- At least one absolute signal fired, or
- Two or more composite signals from different evidence families corroborate each other
conclusive is true, Heretic has ruled out every plausible benign explanation for the contradiction. You can gate hard on this:
conclusive is false — which includes all disputed and refused verdicts — the evidence is meaningful but not definitive. Use it to trigger soft responses: a CAPTCHA challenge, elevated rate-limiting, or flagging the session for manual review.
Hard vs. Soft Gates
The contradicting_families Field
When the verdict is contradicted or disputed, the response includes a contradicting_families array listing every evidence family that contributed a contradicting signal:
contradicting_families to:
- Log specific evidence in your audit trail rather than just a verdict string
- Customize user-facing messaging — a network-geometry contradiction implies a VPN or proxy, which may warrant a different prompt than a transport-stack OS contradiction
- Route to the right review queue — a
computecontradiction may matter more in a transaction-fraud context than arendercontradiction

