tls-reputation.comTLS fingerprint reputation

known client

Dart dart:io HttpClient (package:http / dio)

Dart 3.5–3.12, BoringSSL — ja4_b 5b57614c22b0 is the mobile-BoringSSL cipher list it shares with Android Conscrypt; no ALPN

Named client

Matches Dart dart:io HttpClient (package:http / dio) in the ground-truth catalogue.

TLS 1.3no ALPN2026-07-19 → 2026-07-23
JA4
JA4_r
JA3
several builds share this JA4 under different JA3s — no single value is canonical.
JA3_raw

explore in graph →

Read

catalog identity
Matches Dart dart:io HttpClient (package:http / dio) in the ground-truth catalogue.
self-randomisation
multi-build · 2 JA3 — 2 JA3s over 28 connections, but most repeat: a handful of stable builds sharing one JA4 rather than per-connection randomisation.
reach
0.862 roams across 12 domains — spread is how evenly, not how many.

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

28
observations
12
domains reached
2026-07-19
first seen
2026-07-23
last seen

ClientHello anatomy

The underscore groups of JA4_r are the raw cipher suites · extensions · signature algorithms behind the hash.

TLS version
TLS 1.3
ALPN (wire order)
EC point formats
0x0000
Post-quantum key share
absent

The post-quantum key share is a structural fact about the hello, not a verdict — GREASE values are flagged the same neutral way.

cipher suites(17)
  1. 00x1303TLS_CHACHA20_POLY1305_SHA256
  2. 10x1301TLS_AES_128_GCM_SHA256
  3. 20x1302TLS_AES_256_GCM_SHA384
  4. 30xcca9TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
  5. 40xcca8TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
  6. 50xc02bTLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  7. 60xc02fTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  8. 70xc02cTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  9. 80xc030TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  10. 90xc009TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  11. 100xc013TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  12. 110xc00aTLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  13. 120xc014TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  14. 130x009cTLS_RSA_WITH_AES_128_GCM_SHA256
  15. 140x009dTLS_RSA_WITH_AES_256_GCM_SHA384
  16. 150x002fTLS_RSA_WITH_AES_128_CBC_SHA
  17. 160x0035TLS_RSA_WITH_AES_256_CBC_SHA
extensions(10)sorted
  1. 00x0000server_name (SNI)
  2. 10x000asupported_groups
  3. 20x000bec_point_formats
  4. 30x000dsignature_algorithms
  5. 40x0017extended_master_secret
  6. 50x0023session_ticket
  7. 60x002bsupported_versions
  8. 70x002dpsk_key_exchange_modes
  9. 80x0033key_share
  10. 90xff01renegotiation_info

Stored sorted — under one JA4 the wire order varies by construction, so no single order is “the” order.

curves / groups(3)
  1. 00x001dx25519
  2. 10x0017secp256r1 (P-256)
  3. 20x0018secp384r1 (P-384)
signature algorithms(9)
  1. 00x0403ecdsa_secp256r1_sha256
  2. 10x0804rsa_pss_rsae_sha256
  3. 20x0401rsa_pkcs1_sha256
  4. 30x0503ecdsa_secp384r1_sha384
  5. 40x0805rsa_pss_rsae_sha384
  6. 50x0501rsa_pkcs1_sha384
  7. 60x0806rsa_pss_rsae_sha512
  8. 70x0601rsa_pkcs1_sha512
  9. 80x0201rsa_pkcs1_sha1

JA3 variants

2 distinct JA3 hashes collapse into this one JA4.

#JA3JA3_rawobsshare
0771,4865-4866-4867-491…29-23-24,01657%
1771,4867-4865-4866-523…29-23-24,01243%

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.

Reach — domains contacted

Top 12 of 12. Share is the fraction of this fingerprint’s observations reaching each name.