Une empreinte JA4 comporte trois parties, par exemple t13d1517h2_8daaf6152771_cb7bf5808d99 pour une connexion TCP de Chrome : un préfixe lisible (t pour TCP ou q pour QUIC, version de TLS, d si le SNI est un domaine, nombre de suites de chiffrement et d’extensions, premier ALPN), un SHA-256 tronqué des suites de chiffrement triées, et un SHA-256 tronqué des extensions triées (sans SNI ni ALPN) suivies des algorithmes de signature dans leur ordre d’origine. Les valeurs GREASE sont ignorées.
JA4 a remplacé JA3 (Salesforce, 2017), qui hachait les extensions dans l’ordre de transmission et a cessé d’être stable lorsque Chrome a commencé à mélanger l’ordre des extensions début 2023. JA4 sert à la détection de bots, à la traque de logiciels malveillants et à l’analyse de trafic ; cette empreinte identifie des logiciels, pas des utilisateurs, et n’importe qui peut imiter une empreinte avec des bibliothèques comme uTLS. La méthode JA4 elle-même est sous licence BSD 3-Clause ; les autres méthodes JA4+ (JA4S, JA4H, JA4X et d’autres) relèvent de la FoxIO License 1.1, qui restreint l’usage commercial.