すべての機能
認証

三層の防御、四つの面、どのボットも勝てない

認証は Caputchin の核です。ゲートは連携して働き、面はそれをあなたのスタックに差し込むための入り口です。標準の経路はウィジェットと、バックエンドからの verify 呼び出し。ほかの面は、標準が合わないときのために用意されています。

認証がどう流れるか。

訪問者があなたのページを開きます。ウィジェットがゲートを動かします。署名付きトークンがバックエンドへ渡ります。バックエンドが私たちにその確認を求めます。

  1. 訪問者あなたのページを開く
  2. Caputchin ウィジェットあなたのページで読み込まれる
  3. ゲーム由来のアンチチートサンドボックス化された iframe で動く
  4. あなたのバックエンド包まれたトークンを受け取る
  5. /siteverifyCaputchin がトークンを確認する
ウィジェットを出荷しても、API を直接呼んでも、ホスト型認証を使っても、かたちは同じです。訪問者のブラウザからあなたのバックエンドへ渡るのは、包まれたトークンだけです。
脅威マトリクス
すべてのプラン

各層は、それぞれ異なる攻撃のコストを上げます。

どの単一の層も、一つであらゆる攻撃を退けようとはしていません。要は組み合わせです。リクエストがゲームに届くころには、その手前のすべてのゲートの税をすでに払い終えています。下に正直な見取り図を。

  • curl と fetch のスクリプト
    むき出しの HTTP スクリプトが、あなたのエンドポイントを直接叩く。
    対処する層
    • ブラウザ計測
  • ヘッドレスブラウザ
    Puppeteer、Playwright、Selenium がバックグラウンドで動く。
    対処する層
    • ブラウザ計測
  • 本物のブラウザを使うボットファーム
    借りたサーバー上の本物の Chrome インスタンス。時には人が操作することも。
    対処する層
    • Proof of work
    • ゲーム由来のアンチチート
  • ソルバー・アズ・ア・サービス
    チャレンジを受け取って答えを返す有料の解答ファーム。多くは安価な人手による。
    対処する層
    • Proof of work
    • ゲーム由来のアンチチート
  • フロンティア AI モデル
    画像グリッドを読み、OCR パズルを解き、旧来の CAPTCHA をミリ秒で突破する、視覚モデルやエージェントモデル。
    対処する層
    • ゲーム由来のアンチチート
ゲーム由来のアンチチート
すべてのプラン

ただのゲームではありません。検証エンジンです。

人が数秒で遊んで楽しめる、小さく多彩なゲーム。その下では、競技性のあるマルチプレイヤーゲームがチーターを捕まえるのに使うのと同じアンチチートの定石が動いています。私たちのサーバーが、あなたが遊ぶ前にラウンドを毎回お膳立てし(サーバー権威)、遊んだあとに再シミュレーションします(決定論的リプレイ)。だからゲームは偽装できず、ただ遊ぶことしかできません。ほかのどの CAPTCHA も持たない層であり、Caputchin が存在する理由です。

遊ぶ前に

サーバー権威の設定

  • 署名付きの使い捨てチケット(30 分の有効期間)がラウンドを発行します。一度使えば、二度と再生できません。
  • ゲームとその乱数シードは私たちのサーバーで選ばれ、ブラウザでは決して選ばれません。だからクライアント側の何かが、より易しい標的を選ぶことはできません。
  • 毎回、プールから違うゲーム。ソルバーはどれに当たるか決して分からないので、事前学習ができません。

競技ゲームのサーバーと同じモデル:クライアントが送るのは入力だけで、判定は決して送りません。

遊んだあとに

決定論的リプレイ

  • あなたの正確な入力が、同じシードのもとで私たちのサーバー上で再生されます。ネットワークのない密閉された isolate の中で、厳しい時間予算とともに。
  • 合否はそのリプレイが再計算します。ブラウザから受け取ることは決してありません。
  • どのゲームのコードも、動く前にハッシュで照合されます。だから成果物を、あなたの足元ですり替えることはできません。

ロックステップのマルチプレイヤーが頼るのと同じ決定論の上に築かれています:ラウンドはシードから再シミュレーションされ、本当に遊ばれたことを確かめます。

あなたのページの中でサンドボックス化

ネットワークのない隔離された iframe。あなたの Cookie、ストレージ、DOM には手が届きません。

ゲームの多様さ

サイトが違えばゲームも違い、カタログは育ち続けます。

密閉されたリプレイ

リプレイはネットワークなし、厳しい CPU 予算で動きます。何も入らず、何も出ません。

改ざんできないコード

どのゲーム成果物も、フレーム一つが動く前にハッシュで検証されます。

プロファイリングなし

あなたのマウスやタイミングを見張ったりはしません。代わりに、ラウンドを再実行します。

さらに二つのゲートを、隣に積み重ねる

ゲーム由来のアンチチートは、決して単独では働きません。proof of work のゲートとブラウザ計測がともに動き、それぞれ異なる攻撃パターンのコストを上げます。直列に組み合わさり、攻撃者がたどり着く層はどれも、すでに税を払い終えています。

すべてのプラン

Proof of work

認証の試みはどれも、訪問者のブラウザに小さな暗号パズルを解かせます。人間は数百ミリ秒待つだけで、まったく気づきません。一方、大規模に計算資源を支払うボットファームは、一つひとつのサイクルを痛感します。

活用シーン

自動アカウント作成に狙われる登録フォーム。偽アカウントの一つひとつが、攻撃者に測定可能な計算コストを課し、大量の悪用は、やる価値がないほど高くつくようになります。

すべてのプラン

ブラウザ計測

ウィジェットは、訪問者のブラウザが露わにする環境シグナルを読み取ります。本物のブラウザは必ずそれを持っています。ヘッドレスツールやスクリプトは、たいてい下手に偽装するか、まったく持ちません。サイトごとのスイッチ「自動化ブラウザのブロック」が、計測がヘッドレスやドライバー制御(Playwright、Selenium、Puppeteer)と判定したものを、すべて強制的に拒否します。オプトインなので、正規の自動化を見込むならオフのままに。

活用シーン

Playwright や Selenium のスクリプトに狙われるコメントフォームや問い合わせページ。自動化ブラウザのブロックをオンにすると、スクリプトは解くべきチャレンジを渡される代わりに、入口でふるい落とされます。

連携の入り口

認証を訪問者の前に置く、四つの方法。あなたのコード、スタック、チームの形に合うものを選んでください。

すべてのプラン

置くだけの Web コンポーネント

HTML タグ一つでウィジェットを組み込みます。ゲートを動かし、訪問者が合格するとトークンを渡します。React、Vue、Svelte、Angular、素の HTML で動きます。Web コンポーネントはブラウザにとってネイティブで、フレームワークのラッパーを要しないからです。

活用シーン

標準の経路。新しい依存を一つも増やさずに、登録フォームへ数分でボット対策を加えられます。

すべてのプラン

Runtime API

認証 API には二つの部分があります。トークンが本物かを確認するために、あらゆる連携でバックエンドが使う verify 呼び出し。そして、ウィジェットが合わない稀なケースに、自分で認証を進めるための低レベルのチャレンジエンドポイント。アカウントや設定の変更にチームが使う REST 管理 API とは別物です。

活用シーン

verify 呼び出し:あらゆるバックエンドで、つねに。直接 API:チャット、ペイウォール、自前の UI に織り込まれた多段フォームなど、ウィジェット要素を描画できないあらゆる場所で。

Alpha tier

ホスト型認証

フォームの action を私たちに向けるだけ。私たちが訪問者を認証し、送信内容をあなたの受信箱やエンドポイントへ転送します。あなたの側にバックエンドのコードはまったく要りません。

活用シーン

自分でトークンを認証するバックエンドを持たない、静的サイトやノーコードビルダー。フォームの action 属性を入れ替える程度の時間で、ボット対策付きの問い合わせフォームを公開できます。

すべてのプラン

モバイル WebView 埋め込み

WebView 内でチャレンジを描画する、iOS と Android のネイティブアプリのための専用埋め込みページ。同じウィジェット、より小さなフットプリント、インストールするネイティブ SDK はなし。

活用シーン

フレームワーク固有の SDK を出荷したり、プラットフォームごとに CAPTCHA フローをネイティブに作り直したりせずに、認証を必要とするモバイルアプリ。

ひとつのサイトキーで、認証を公開しましょう。無料で。

登録して、サイトキーを発行し、ウィジェットをひとつのフォームに置く。上位プランの機能が必要になったら、あとからアップグレードを。

無料で始める