q13d0315h3_55b375c5d22e_2473069875c4
Firefox — inferred from the User-Agent on its requests.
What this fingerprint encodes
q13d0315h3
handshake shape, human-readable
55b375c5d22e
truncated hash of the cipher list
2473069875c4
truncated hash of extensions + signature algorithms
- Transport
- QUIC
- TLS version
- TLS 1.3
- Server name
- server name sent
- Cipher suites offered
- 3
- Extensions offered
- 15
- ALPN
- h3
The hello it was computed from
Recovered because the proxy now stores the pre-hash JA3 string alongside the digest. Every number below came out of this client's ClientHello; anything we cannot name in the IANA registry is shown as its raw value rather than guessed at.
- Version
- TLS 1.2
Cipher suites 3
-
TLS_AES_128_GCM_SHA256 -
TLS_CHACHA20_POLY1305_SHA256 -
TLS_AES_256_GCM_SHA384
Extensions 15
-
supported_versions -
status_request -
extended_master_secret -
key_share -
supported_groups -
signature_algorithms -
server_name -
psk_key_exchange_modes -
record_size_limit -
34 (0x0022) -
compress_certificate -
renegotiation_info -
application_layer_protocol_negotiation -
quic_transport_parameters -
encrypted_client_hello
Named groups 5
-
SecP256r1MLKEM768 -
x25519 -
secp256r1 -
secp384r1 -
secp521r1
Raw JA3 string
771,4865-4867-4866,43-5-23-51-10-13-0-45-28-34-27-65281-16-57-65037,4588-29-23-24-25,
Seen in live traffic
- Connections
- 14
- First seen
- 2026-08-23 05:46 UTC
- Last seen
- 2026-08-25 09:03 UTC
- Transport
- QUIC
- JA3 hashes absorbed
- 14
The same client, 14 different JA3s
This one JA4 covers 14 distinct JA3 hashes. A JA3 hashes the cipher and extension lists in the order they arrived, so a client that shuffles them — which Chrome and its derivatives do on purpose — produces a new JA3 almost every connection and fragments into what looks like 14 unrelated clients. JA4 sorts those lists before hashing, which is why all of it lands here instead.
cff103025dddc23724aaa572b38859224eca86e6360ca677bb10c0ba9aea368e12c298435019a9621ecbee4365a89a325b18df478a0953b4251c3b3f0cf2a805a436c9768c4caba53857737c3221da10c434d77fe68fd03869ab58bc402b7323fdc978a6f9899821876ec52bff326633038ab56354b2843cb05aa916dfbbfe0d5e20bb4ac0bfd7cf1a328aaf315769cc58d0f6286f013735518820d7cfa91a4243e22230e66d626f295adf346d544a51fb0036135404f08923b5fea13e265c16- … and 2 more
User-Agents seen on this fingerprint
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:154.0) Gecko/20100101 Firefox/154.0386×Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:154.0) Gecko/20100101 Firefox/154.044×Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.022×Mozilla/5.0 (Android 17; Mobile; rv:154.0) Gecko/154.0 Firefox/154.09×Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:153.0) Gecko/20100101 Firefox/153.02×
A User-Agent is self-declared and trivially forged, so this names an observation rather than proving an identity. It is still the strongest signal available: the fingerprint comes off the TLS handshake and the User-Agent off the request that followed, and one client build keeping a stable JA4 while changing what it calls itself is a finding in its own right.
This entry is an observation, not a policy decision. It is here because the edge saw it, not because anyone reviewed it, and it blocks nothing on its own. Only the curated tier drives classification and banning.