本日、私たちはCAPTCHAの目に見えない代替品であるTurnstileのオープンベータを発表します。インターネット上の誰でも、どこでも、自分のサイトでCAPTCHAを置き換えたいと考える方であれば、Cloudflareのお客様でなくても、またトラフィックの送信にCloudflareのグローバルネットワークを使用しなくても、誰でもインターネットのどこからでもシンプルなAPIを呼び出すことができるようになります。こちらから無料で登録いただけます。
CAPTCHAが煩雑なユーザーエクスペリエンスを生み出すという事実を蒸し返すことに意味はありません。これに関してはこのブログで以前にも、そして他の場所でも何度となく取り上げられています。CAPTCHAの創始者は、「人間の脳のサイクルという貴重な資源を10秒ごとに何百万時間も浪費するシステムを無意識のうちに作り上げてしまいました」と公に嘆いています。私たちはそれを嫌い、あなたもそれを嫌い、誰もがそれを嫌います。本日、私たちは皆様により良い選択肢を提供します。
Turnstileは、当社の提供するスマートなCAPTCHAの代替品です。遠隔測定法とセッション中に示されるクライアントの行動に基づいて、非侵入型のブラウザチャレンジが入れ替え式の製品群の中から自動的に選択されます。Managed Challengeシステムを利用して、CAPTCHAの使用を91%削減したことは、以前の記事でお話しました。今、誰でもこれと同じ技術を利用して、自分のサイトでCAPTCHAの使用をやめることができます。
CAPTCHAの大きな問題はUXだけではありません — プライバシーも同様です。
CAPTCHAを解かなければならないというのは、ユーザーにとってフラストレーションのたまる体験ですが、CAPTCHAを使う際にWebサイト側に隠れたトレードオフが生じる可能性もあります。現在CAPTCHAを使用している小規模なサイトを運営されている方の選択肢は、本質的に1つです。それは、CAPTCHAの市場シェアの98%を占める「800-pound gorilla」です。このツールは無料で使えますが、個人情報を広告販売会社に渡さなければなりません。
セキュリティ研究者らによると、Googleがユーザーが悪意を持っているかどうかを判断するために使用する信号の1つに、ブラウザにGoogle Cookieが入っているかどうかというものがあり、このCookieが入っていると、Googleはより高いスコアを与えると言います。Googleはこの情報を広告のターゲティングに使用しないと言っていますが、結局のところGoogleは広告販売会社なのです。一方、Cloudflareは、お客様がWebサイトの保護やサービスの動作を改善するために当社を選択いただくことで収益を得ています。これは、双方のインセンティブを完全に一致させる、シンプルで直接的な関係です。
より少ないデータ収集で、より高いプライバシー・同等のセキュリティを実現
6月、私たちはプライベートアクセストークンを使用するAppleとの取り組みを発表しました。macOSまたはiOSの次期バージョンなど、これらのトークンをサポートするオペレーティングシステムを使用している訪問者は、CAPTCHAを完了したり個人データを提供することなく、自分が人間であることを証明できるようになりました。
デバイスの検証に役立つデータをすでに持っているデバイスメーカーのようなサードパーティと提携することで、検証プロセスの一部を抽象化し、実際に収集したり、触ったり、そのデータを自分で保存したりせずにデータを確認することができるのです。デバイスに直接問い合わせるのではなく、当社はデバイスベンダーに依頼します。
プライベートアクセストークンはTurnstileに直接組み込まれています。Turnstileは、ユーザーによるチャレンジを排除してユーザーを検証するために、いくつかのセッションデータ(ヘッダー、ユーザーエージェント、ブラウザの特性など)を確認する必要がありますが、プライベートアクセストークンを使用すると、デバイスの検証をAppleに任せることで、データ収集を最小限に抑えることができます。さらに、Turnstileは、クッキー(ログインクッキーなど)を探したり、クッキーを使用してあらゆる種類の情報を収集または保存したりすることはありません。Cloudflareは長きに渡り、ユーザーのプライバシーに投資してきたという実績があり、これはTurnstileでも継続します。
当社の提供するCAPTCHAの代替は、すべての方が使用できます
すべての人により良いインターネットを提供するために、私たちは マネージド・チャレンジ を支える技術を、Turnstileというスタンドアローン製品としてベータ版ですべての方へ公開することにしました。
私たちは、CAPTCHAを一方的に廃止して一つの代替品に置き換えようというのではなく、多くの選択肢をテストし、効果の増減によって新しいチャレンジを入れ替えるプラットフォームを構築しました。Turnstileでは、実際のチャレンジの結果を個々の訪問者/ブラウザに適応させます。最初に、訪問者やブラウザの環境についてより多くのシグナルを収集するために、操作不要な一連の小さなJavaScriptのチャレンジを実行します。これらのチャレンジには、プルーフ・オブ・ワーク、プルーフ・オブ・スペース、Web APIのプロービングなど、ブラウザの異常や人間の動作を検出するためのさまざまなチャレンジが含まれます。結果として、特定の要求に対するチャレンジの難易度を細かく調整することができます。
また、Turnstileには機械学習モデルが搭載されており、これまでにチャレンジをパスできたエンドユーザーの共通点を検出します。これらのイニシャルチャレンジの計算難易度は訪問者によって異なりますが、高速に動作することを目標としています。
既存のCAPTCHAを数分で入れ替え
Turnstileを利用すれば、Cloudflareのネットワーク上でなくても、訪問者にCAPTCHAで煩わしい思いをさせることがなくなります。私たちは、ネットワークのできる限り簡単な利用を目指していますが、これがプライバシーやユーザーエクスペリエンスの向上を妨げるものになることは望んでいません。
CAPTCHAサービスから切り替えるために必要なことは、以下の通りです。
Cloudflareのアカウントを作成し、ナビゲーションバーの「Turnstile」タブに移動し、sitekeyとsecret keyを取得します。
ダッシュボードからJavaScriptをコピーして、現在お使いのCAPTCHA用JavaScriptの上に貼り付けます。
古いsiteverifyのURLを当社のものに置き換えてサーバーサイドの統合を更新します。
以下に、設定できるオプションなど、処理の詳細が記載されていますが、本当にこれだけです。私たちは変化をもたらすシンプルさに、ワクワクしています。
展開オプションと分析
Turnstileを利用するには、まずアカウントを作成し、sitekeyとsecret keyを取得します。
次に、HTMLスニペットをコピー&ペーストします:
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
スクリプトが埋め込まれると、暗黙的なレンダリングを使用することができます。ここでは、cf-turnstileクラスを持つ要素について、HTMLがスキャンされます。
チャレンジが解決されると、cf-turnstile-responseという名前のトークンがフォームに挿入されます。このトークンは、siteverifyエンドポイントとともに使用し、チャレンジ・レスポンスを検証することができます。トークンの検証は1回のみ可能であり、トークンを2回引き換えることはできません。検証はサーバー側でもクラウド上でも、例えばシンプルなWorkers fetch(こちらのデモを参照)を使用して行うことができます。
<form action="/login" method="POST">
<div class="cf-turnstile" data-sitekey="yourSiteKey"></div>
<input type="submit">
</form>
より複雑なユースケースの場合、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'
});
// ...
}
また、「アクション」と呼ばれるものを作成することも可能です。ログイン、チェックアウト、アカウント作成ページなど、Turnstileを使用している異なるページを区別することができるカスタムラベルです。
<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>
Turnstileをデプロイした後は、ダッシュボードに戻り、ウィジェットがどこにデプロイされているか、ユーザーがどのように解決しているか、定義されたアクションを見るための分析結果を見ることができます。
なぜ、これを無料で提供するのか?
外部の人には信じがたいことかもしれませんが、よりよいインターネットを構築する手助けをすることは、本当に私たちの使命です。より良いインターネットを実現したいと考えた無料ツールを作ったのは今回が初めてではありませんし、これが最後というわけでもありません。私たちにとって、これはとても重要なことなのです。
そのため、CAPTCHAを使用している方であれば、現在Cloudflareのお客様であるかどうかに関わらず、代替製品としてのTurnstileを是非無料でお試しください。ユーザーの満足度を高め、第三者へのデータ送信を最小限に抑えることができます。
こちらのページへアクセスし、目に見えない、プライバシー優先の、CAPTCHAの代替製品にサインアップし、Turnstileベータ版のsitekeyを取得してください。