known client
Android (Conscrypt) / Flutter (BoringSSL)
mobile-BoringSSL cipher-suite signature — Android system TLS (Play Services, Firebase, OkHttp apps) and Flutter/Dart; any ALPN
Too few observations to classify this stack — a handful of connections can't tell a permuting client from coincidence.
- JA4
- JA4_r
- JA3
- JA3_raw
this JA3 also appears under:
One JA3 mapping to several JA4s means the same cipher/extension set arrived under different TLS versions or ALPNs — the JA4 is the finer identity.
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
- 10x1303TLS_CHACHA20_POLY1305_SHA256
- 20x1302TLS_AES_256_GCM_SHA384
- 30xc02bTLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- 40xc02fTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- 50xcca9TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- 60xcca8TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
- 70xc02cTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- 80xc030TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- 90xc00aTLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- 100xc009TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- 110xc013TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- 120xc014TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- 130x009cTLS_RSA_WITH_AES_128_GCM_SHA256
- 140x009dTLS_RSA_WITH_AES_256_GCM_SHA384
- 150x002fTLS_RSA_WITH_AES_128_CBC_SHA
- 160x0035TLS_RSA_WITH_AES_256_CBC_SHA
- 00x0000server_name (SNI)
- 10x0005status_request (OCSP)
- 20x000asupported_groups
- 30x000bec_point_formats
- 40x000dsignature_algorithms
- 50x0010application_layer_protocol_negotiation (ALPN)
- 60x0017extended_master_secret
- 70x001bcompress_certificate
- 80x001crecord_size_limit
- 90x0022unknown (0x0022)
- 100x0029unknown (0x0029)
- 110x002bsupported_versions
- 120x002dpsk_key_exchange_modes
- 130x0033key_share
- 140xfe0dencrypted_client_hello
- 150xff01renegotiation_info
Stored sorted — under one JA4 the wire order varies by construction, so no single order is “the” order.
- 00x11ecX25519MLKEM768 PQ
- 10x001dx25519
- 20x0017secp256r1 (P-256)
- 30x0018secp384r1 (P-384)
- 40x0019secp521r1 (P-521)
- 50x0100ffdhe2048
- 60x0101ffdhe3072
- 00x0403ecdsa_secp256r1_sha256
- 10x0503ecdsa_secp384r1_sha384
- 20x0603ecdsa_secp521r1_sha512
- 30x0804rsa_pss_rsae_sha256
- 40x0805rsa_pss_rsae_sha384
- 50x0806rsa_pss_rsae_sha512
- 60x0401rsa_pkcs1_sha256
- 70x0501rsa_pkcs1_sha384
- 80x0601rsa_pkcs1_sha512
- 90x0203ecdsa_sha1
- 100x0201rsa_pkcs1_sha1
Reach — domains contacted
- 100%
Top 1 of 1. Share is the fraction of this fingerprint’s observations reaching each name.