The edge now computes the JA4 (external link) fingerprint of every TLS connection it terminates, from the ClientHello, and drops the raw bytes. Security events and AI agent events store it in tls_fingerprint (it used to be an internal 16-character hash), and the trap marks clients by it. It is empty when another proxy terminated TLS in front of the edge, or on plain HTTP.
The risk signal tls_mismatch now checks that a recent Chromium, Firefox or Safari comes from that browser's TLS stack, by stable traits rather than exact fingerprints: BoringSSL for Chromium, NSS for Firefox, Apple's network stack for Safari and every iOS browser. An automated Chromium whose User-Agent claims Safari or Firefox now fires it. See TLS stacks.
A new signal, pat_valid (−20), lowers the score of a challenge when the device presents a valid Private Access Token. It is not enabled yet: no token issuer is configured, because the issuers that Apple devices accept need an agreement with OpenWAF first. Until then nothing changes for visitors.