Nous annonçons aujourd'hui le lancement de la version bêta ouverte de Turnstile, une solution de remplacement des CAPTCHA, totalement invisible. N'importe qui, n'importe où sur Internet, désireux de remplacer CAPTCHA sur son site sera en mesure d'appeler une simple API, sans qu'il soit nécessaire d'être un client de Cloudflare ni d'envoyer du trafic sur le réseau global de Cloudflare. Inscrivez-vous ici.
Il est inutile de le répéter, les CAPTCHA nuisent terriblement à l'expérience utilisateur. Nous l'avons évoqué en détail précédemment dans ce blog, et un grand nombre de fois ailleurs. Le créateur des CAPTCHA a même déclaré publiquement qu'il regrettait « d'avoir involontairement créé un système qui gaspillait, par épisodes de 10 secondes, des millions d'heures de la plus précieuse des ressources : la matière grise. » Nous le détestons, vous le détestez, tout le monde le déteste. Aujourd'hui, nous proposons à chacun une meilleure option.
Turnstile est notre solution de remplacement aux CAPTCHA. Il choisit automatiquement parmi une série de questions de validation non intrusives présentées dans le navigateur et reposant sur la télémétrie et le comportement du client au cours de la session. Dans une précédente publication, nous avons expliqué comment notre système Managed Challenge nous avait permis de réduire le recours aux CAPTCHA de 91 %. Désormais tout le monde peut profiter de cette même technologie pour supprimer les CAPTCHA de son propre site.
Le problème des CAPTCHA n'est pas sérieux uniquement pour l'expérience utilisateur, il l'est aussi pour la confidentialité
Si le fait de devoir résoudre des CAPTCHA est frustrant pour l'utilisateur, pour le site Web cela suppose également d'éventuels compromis cachés. Si vous êtes un site modeste qui utilise aujourd'hui des CAPTCHA, vous avez essentiellement une option : un gorille de 400 kilos avec 98 % de parts de marché des CAPTCHA. Cet outil est gratuit, mais il a en réalité un coût en matière de confidentialité : vous devez remettre vos données à une entreprise de vente publicitaire.
D'après les chercheurs en sécurité, pour déterminer si vous êtes malveillant ou non, Google vérifie la présence d'un cookie dans votre navigateur, si vous disposez de ce cookie, Google vous accorde un meilleur score. Google prétend ne pas utiliser ces informations pour cibler les publicités, mais elle n'en est pas moins une entreprise qui vend de la publicité. De notre côté, chez Cloudflare, nous gagnons de l'argent lorsque les clients nous choisissent pour protéger leur site Web et faire en sorte que leurs services fonctionnent mieux. Il s'agit d'une relation simple et directe, qui s'inscrit parfaitement dans la lignée de nos motivations.
Moins de données collectées, plus de confidentialité, autant de sécurité
En juin, nous avons annoncé un travail en collaboration avec Apple pour l'utilisation de Private Access Tokens. Les visiteurs utilisant des systèmes d'exploitation qui prennent en charge ces jetons, y compris les versions à venir de macOS ou iOS, peuvent désormais prouver qu'ils sont des humains sans avoir à résoudre de CAPTCHA ni à communiquer des données personnelles.
En collaborant avec des tiers tels que des fabricants d'appareils, qui disposent déjà des données qui pourraient nous aider à valider un appareil, nous sommes en mesure d'extraire des éléments du processus de validation et de confirmer les données sans réellement collecter, modifier, ni stocker les données elles-mêmes. Plutôt que d'interroger directement un appareil, nous demandons au fournisseur de le faire pour nous.
Les Private Access Tokens (jetons d'accès privés) sont intégrés directement dans Turnstile. Turnstile doit consulter un certain nombre de données de session (telles que les en-têtes, l'agent utilisateur et les caractéristiques du navigateur) pour valider les utilisateurs sans leur envoyer de question de validation, cependant les Private Access Tokens nous permettent de limiter au stricte minimum la collecte de données en demandant à Apple de valider l'appareil pour nous. De plus, Turnstile ne cherche jamais de cookies (tels qu'un cookie de connexion), ni n'utilise de cookie pour collecter ou stocker des informations, quelles qu'elles soient. Cloudflare mène depuis longtemps des recherches en matière de confidentialité, et nous allons poursuivre avec Turnstile.
Nous ouvrons notre solution de remplacement aux CAPTCHA à tout le monde
Pour améliorer Internet pour chacun, nous avons décidé d'ouvrir à tout le monde la technologie qui se trouve derrière notre Managed Challenge en version Beta, sous la forme d'un produit indépendant appelé Turnstile.
Plutôt que d'essayer de rendre obsolète et remplacer unilatéralement les CAPTCHA avec une seule solution, nous avons créé une plateforme pour tester de nombreuses solutions et intégrer ou rejeter de nouvelles questions de vérification en fonction de leur efficacité dans le temps. Avec Turnstile, nous adaptons le véritable résultat de la question de validation en fonction de chaque visiteur ou navigateur. Nous commençons par exécuter une série de questions de validation JavaScript sans interaction qui réunissent davantage de signaux concernant l'environnement du visiteur ou du navigateur. Ces validations comportent des preuves de travail, des preuves d'espace, des recherches d'API web et d'autres questions de validation permettant de détecter des comportements singuliers de la part du navigateur ou d'humains. C'est ce qui nous permet d'affiner la difficulté de la question de validation en fonction de la demande spécifique.
Turnstile comprend également des modèles d'apprentissage automatique qui détectent les caractéristiques communes aux utilisateurs finaux qui ont été capables de répondre à une question de validation auparavant. La complexité des calculs liés à ces validations initiales peut varier selon les visiteurs, mais tout est conçu pour une exécution rapide.
Débarrassez-vous de vos CAPTCHA existants en quelques minutes
Vous pouvez bénéficier de Turnstile et arrêter d'ennuyer vos visiteurs avec des CAPTCHA même sans être dans le réseau Cloudflare. Certes, nous facilitons au maximum l'utilisation de notre réseau, nous refusons toutefois que ce soit au détriment de l'amélioration de la confidentialité et de l'expérience utilisateur.
Pour évoluer depuis un service CAPTCHA, il vous suffit de :
Créer un compte Cloudflare, accéder à l'onglet « Turnstile » dans la barre de navigation et obtenir un fichier sitekey et une clé secrète.
Copier notre JavaScript dans le tableau de bord et le coller sur votre ancien JavaScript CAPTCHA.
Mettre à jour l'intégration côté serveur en remplaçant l'ancienne URL siteverify avec le nôtre.
Vous trouverez ci-après des détails supplémentaires sur le processus, y compris les options que vous pouvez configurer, mais ça se limite vraiment à ça. Nous sommes ravis de ce que le changement soit si simple.
Options de déploiement et analyse
Pour utiliser Turnstile, commencez par créer un compte et obtenez vos clé de site et clé secrète.
Ensuite, copiez et collez notre extrait de code HTML :
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
Une fois le script intégré, vous pouvez utiliser le rendu implicite. Une analyse du code HTML recherche alors des éléments de la classe cf-turnstile :
Une fois la validation réussie, un jeton est injecté dans votre formulaire, il se nomme cf-turnstile-response. Ce jeton peut être utilisé avec notre point de terminaison siteverify pour valider une question de validation. Un jeton ne peut être validé qu'une fois, et ne peut pas être présenté une deuxième fois. La validation peut se faire côté serveur, ou encore dans le cloud, par exemple à l'aide d'un simple extraction Workers (Démo visible ici):
<form action="/login" method="POST">
<div class="cf-turnstile" data-sitekey="yourSiteKey"></div>
<input type="submit">
</form>
Pour les cas d'utilisation plus complexes, la question de validation peut être invoquée explicitement via JavaScript :
async function handleRequest() {
// ... Receive token
let formData = new FormData();
formData.append('secret', turnstileISecretKey);
formData.append('response', receivedToken);
await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify',
{
body: formData,
method: 'POST'
});
// ...
}
Vous pouvez également créer ce que nous appelons des « Actions ». Il s'agit de libellés personnalisés qui vous permettent de faire la distinction entre les différentes pages lorsque vous utilisez Turnstile, par exemple les pages de connexion, de sortie ou de création de compte.
<script>
window.turnstileCallbackFunction = function () {
const turnstileOptions = {
sitekey: 'yourSitekey',
callback: function(token) {
console.log(`Challenge Success: ${token}`);
}
};
turnstile.render('#container', turnstileOptions);
};
</script>
<div id="container"></div>
Une fois que vous avez déployé Turnstile, vous pouvez revenir au tableau de bord et voir les analyses concernant l'endroit où vos widgets sont déployés widgets, comprendre la manière dont ils sont résolus par les utilisateurs et afficher n'importe quelle action définie.
Pourquoi proposons-nous cet outil gratuitement ?
Aussi difficile à croire que cela puisse être pour certains, contribuer à bâtir un Internet meilleur est véritablement notre mission. Ce n'est pas la première fois que nous créons des outils gratuits dont nous pensons qu'ils vont rendre Internet meilleur, et ce ne sera pas la dernière. C'est quelque chose qui nous tient à cœur.
Ainsi, que vous soyez ou non un client de Cloudflare aujourd'hui, si vous utilisez des CAPTCHA, essayez gratuitement Turnstile à la place. Vous ferez plaisir à vos utilisateurs et vous réduirez au minimum les données que vous envoyez à des tiers.
Consultez cette page pour vous inscrire à la meilleure solution de remplacement des CAPTCHA, qui garantit invisibilité et confidentialité, et obtenir votre fichier sitekey Turnstile.