移行ガイド

Arkose FunCAPTCHA から CaptchaLa へ移行する

SDK の重さを手放し、エンタープライズ契約を終わらせ、適応型ボット防御は維持します。移行はスクリプトの差し替え1つと検証エンドポイントの変更1つだけ。

AArkose / FunCAPTCHACurrent setup~10 minCaptchaLaDrop-in target

コード変更のイメージ

Before — Arkose / FunCAPTCHA
<script src="https://YOUR_PUBLIC_KEY.arkoselabs.com/v2/YOUR_PUBLIC_KEY/api.js" data-callback="onSuccess" async defer></script>
<script>
  function onSuccess(token) {
    document.getElementById('arkose-token').value = token
  }
</script>
<input type="hidden" id="arkose-token" name="arkose-token" />
After — CaptchaLa
<button id="login-btn">Sign in</button>
<script src="https://cdn.captcha-cdn.net/captchala-loader.js"></script>
<script>
  loadCaptchala(() => Captchala.init({ appKey: 'YOUR_APP_KEY', action: 'login' })
    .onSuccess(res => onToken(res.token))
    .bindTo('#login-btn'));
</script>
Before — Arkose サーバー検証 (Node)
const res = await fetch('https://verify-api.arkoselabs.com/api/v4/verify/', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    private_key: process.env.ARKOSE_PRIVATE_KEY,
    session_token: req.body['arkose-token'],
  }),
})
const data = await res.json()
if (data.session_details?.solved !== true) return res.status(400).json({ error: 'bot' })
After — CaptchaLa サーバー検証 (Node)
const res = await fetch('https://apiv1.captcha.la/v1/validate', {
  method: 'POST',
  headers: {
    'X-App-Key': process.env.CAPTCHALA_APP_KEY,
    'X-App-Secret': process.env.CAPTCHALA_APP_SECRET,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ pass_token: req.body['captchala-token'] }),
})
const { data } = await res.json()
if (!data || !data.valid) return res.status(400).json({ error: 'bot' })

移行手順

  1. 1

    登録して App Key と Secret を取得する

    無料の CaptchaLa アカウントを作成します。Arkose と違い、PoC も調達手続きもありません。料金は公開されておりセルフサービスです。無料枠で初期テストをカバーできます。

  2. 2

    Arkose SDK とコールバック配線を削除する

    Arkose のスクリプトタグ、コールバック関数、そしてコールバックから値を入れていた隠し入力を削除します。CaptchaLa はシンプルな div プレースホルダーを使い、コールバック配線は不要です。

  3. 3

    CaptchaLa ウィジェットを追加する

    Arkose ウィジェットがあった場所に当社の div とスクリプトタグを差し込みます。隠しトークンフィールドは captchala-token として自動入力され、手動で管理する必要はありません。

  4. 4

    サーバー検証を更新する

    Arkose の session_details.solved チェックを当社の valid フラグ(data.valid)に置き換えます。エンドポイントは apiv1.captcha.la/v1/validate に変わります。ボディは form-urlencoded ではなく JSON になります。

  5. 5

    契約の解消を計画する

    Arkose の契約は通常、自動更新付きの年次契約です。契約書の解約期限を確認し、法務/調達に通知してください。多くのチームは解消期間中、30日間は両方を並行運用します。

よくある質問

切り替えるとボット検出の精度が落ちませんか?

ほとんどのワークロードでは、計測できる差はありません。Arkose のチャレンジは既定で当社より意図的に難しいですが、捕捉するボットの母集団は一般的なプロダクトトラフィックでは大きく重なります。名指しの敵対者を抱える Roblox / Microsoft 規模であれば話はより込み入りますので、まずご相談ください。

契約の重複期間はどう扱えばいいですか?

解消期間中は両方を並行運用してください。フォーム A は Arkose を残し、フォーム B を CaptchaLa に切り替えます。コンバージョンとボット率を比較してください。多くのチームはボット率が横ばいのままユーザー摩擦が下がることを確認します。その後、契約更新のタイミングで Arkose を停止します。

Arkose のリスクテレメトリ/分析ダッシュボードはどうなりますか?

CaptchaLa には同等のテレメトリ(チャレンジ率、成功率、リスクスコア分布、地域別内訳)を備えた独自のダッシュボードがあります。Arkose Insights から来た方には馴染みのある作りです。