known client
Apple Safari / WebKit
Apple SecureTransport cipher-suite signature — Safari (macOS/iOS), WKWebView, and native URLSession apps; the 3DES legacy tail (0xC008/0xC012/0x000A) is Apple's tell, no other modern stack carries it. Platform entry like Android's Conscrypt: Apple system TLS legitimately offers any ALPN (h2, http/1.1, dot, none), so the cipher list alone is the signature — not ALPN-gated
Apple Safari / WebKit: a browser-shaped hello, but without the post-quantum key share a current Chrome or Firefox would send.
- JA4
- JA4_r
- JA3
- several builds share this JA4 under different JA3s — no single value is canonical.
- JA3_raw
- —
Read
Spread measures reach, not intent: it can’t tell one scraper visiting 500 domains from 500 people visiting one each. Stability is a claim about software — whether the stack is deterministic — nothing about who runs it.
Footprint
ClientHello anatomy
The underscore groups of JA4_r are the raw cipher suites · extensions · signature algorithms behind the hash.
The post-quantum key share is a structural fact about the hello, not a verdict — GREASE values are flagged the same neutral way.
- 00x1301TLS_AES_128_GCM_SHA256
- 10x1302TLS_AES_256_GCM_SHA384
- 20x1303TLS_CHACHA20_POLY1305_SHA256
- 30xc02cTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- 40xc02bTLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- 50xcca9TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- 60xc030TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- 70xc02fTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- 80xcca8TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
- 90xc00aTLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- 100xc009TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- 110xc014TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- 120xc013TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- 130x009dTLS_RSA_WITH_AES_256_GCM_SHA384
- 140x009cTLS_RSA_WITH_AES_128_GCM_SHA256
- 150x0035TLS_RSA_WITH_AES_256_CBC_SHA
- 160x002fTLS_RSA_WITH_AES_128_CBC_SHA
- 170xc008unknown (0xc008)
- 180xc012unknown (0xc012)
- 190x000aunknown (0x000a)
- 00x0000server_name (SNI)
- 10x0005status_request (OCSP)
- 20x000asupported_groups
- 30x000bec_point_formats
- 40x000dsignature_algorithms
- 50x0010application_layer_protocol_negotiation (ALPN)
- 60x0012signed_certificate_timestamp
- 70x0015padding
- 80x0017extended_master_secret
- 90x001bcompress_certificate
- 100x002bsupported_versions
- 110x002dpsk_key_exchange_modes
- 120x0033key_share
- 130xff01renegotiation_info
Stored sorted — under one JA4 the wire order varies by construction, so no single order is “the” order.
- 00x001dx25519
- 10x0017secp256r1 (P-256)
- 20x0018secp384r1 (P-384)
- 30x0019secp521r1 (P-521)
- 00x0403ecdsa_secp256r1_sha256
- 10x0804rsa_pss_rsae_sha256
- 20x0401rsa_pkcs1_sha256
- 30x0503ecdsa_secp384r1_sha384
- 40x0203ecdsa_sha1
- 50x0805rsa_pss_rsae_sha384
- 60x0805rsa_pss_rsae_sha384
- 70x0501rsa_pkcs1_sha384
- 80x0806rsa_pss_rsae_sha512
- 90x0601rsa_pkcs1_sha512
- 100x0201rsa_pkcs1_sha1
JA3 variants
128+ distinct JA3 hashes collapse into this one JA4.
| # | JA3 | JA3_raw | obs | share |
|---|---|---|---|---|
| 0 | 771,4865-4866-4867-491…23-24-25,0 | 820 | 27% | |
| 1 | 771,4867-4865-4866-491…23-24-25,0 | 2 | <0.1% | |
| 2 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 3 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 4 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 5 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 6 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 7 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 8 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 9 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 10 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 11 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 12 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 13 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 14 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 15 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 16 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 17 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 18 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% | |
| 19 | 771,4865-4866-4867-491…23-24-25,0 | 1 | <0.1% |
JA3 hashes preserve wire order, so a permuting client mints a new one per connection; JA4 sorts the same set, which is why they share one JA4. Every hash here belongs to this fingerprint — there is no per-JA3 page. Showing the busiest 20.
Reach — domains contacted
- 16%
- 11%
- 11%
- 6.2%
- 4.5%
- 3.9%
- 3.7%
- 3.6%
- 3.6%
- 2.2%
- 2.1%
- 2.0%
- 1.6%
- 1.4%
- 1.3%
Top 15 of 213. Share is the fraction of this fingerprint’s observations reaching each name.