Le fingerprinting TLS est une technique qui identifie le logiciel derrière une connexion en fonction de la manière dont il négocie la poignée de main TLS/SSL, comme l'ordre et la combinaison des suites de chiffrement, des extensions et des versions de protocole qu'il propose. Cloudflare appelle cela une méthode efficace pour distinguer un navigateur d'un script Python. Cependant, ce n'est pas une preuve d'identité. Cloudflare note que les empreintes digitales peuvent être facilement falsifiées et changent fréquemment.
Une technique courante appelée JA3 (et son successeur JA4) réduit les champs d'un ClientHello TLS du client en une courte empreinte digitale, permettant aux systèmes anti-bot de signaler rapidement le trafic dont l'empreinte digitale TLS ne correspond pas à son navigateur revendiqué, par exemple, une requête prétendant être Chrome mais avec la signature TLS de la bibliothèque requests de Python.
Parce qu'une empreinte JA3 provient du logiciel client, Salesforce a constaté que le fait de déplacer un client vers une nouvelle adresse IP, un nouveau domaine et un nouveau certificat ne la changeait pas.