ドキュメントを検索...

入力してドキュメントを検索

プラットフォームガイド

モデル提供者への同意

一部の提供者に同意が必要な理由、同意の付与と撤回の方法、API クライアントでの同意エラーの扱い方。

UnoRouter のモデルを提供する一部の提供者は、入力内容を独自の目的に利用します。たとえば保存したり、自社モデルの学習に使ったりします。入力内容の取り扱いを公表していない提供者もいます。UnoRouter はそのような利用を否定できないため、これらも同様に扱います。

このような提供者が十分なデータ保護水準のない国に所在する場合、お客様がその提供者に一度同意するまで、入力内容はその国へ送られません(GDPR 第49条第1項(a))。同意には提供者とその国が記載され、その提供者が提供するすべてのモデルが対象になります。

十分な保護水準のある国のこのような提供者には同意は不要です。そのようなモデルを選ぶ前にお知らせが表示されます。

詳しくはプライバシーポリシーおよび利用規約の第6条をご覧ください。

フッターとアカウントメニューにある同意のページを開きます。「提供者」タブには、同意が必要な各提供者が名前と国、入力内容の扱い(学習、保存、不明)、稼働中のモデル数と接続数、同意済みかどうかとともに表示されます。

同意ページの「提供者」タブ。提供者ごとの名前、国、入力内容の扱い、同意状態

「モデル」タブにはモデルが一覧表示されます。モデルで「同意する」を選ぶとそのモデルの画面が開き、そのモデルにまだ必要な提供者だけが表示されます。「すべてに同意する」を選ぶと、各提供者を明記した一つの文面で一度に同意できます。

あるモデルの同意画面。まだ必要な提供者と「すべてに同意する」ボタン

同意ダイアログには確定前に全文が表示され、その文面がそのまま同意とともに保存されます。「撤回」でいつでも提供者ごとに同意を取り消せます。その提供者のモデルは、再び同意するまで利用できなくなります。

提供者、その国、リスク、入力内容の扱いを記載した同意ダイアログ

アカウントがない場合、同意はお使いのブラウザに紐づきます。ゲストは同じページか、チャットメニューの「同意を管理」を使います。

入力内容を独自の目的に利用する提供者への入力内容の提供に、異議を申し立てることができます(GDPR 第21条)。スイッチは同意ページの上部とアカウント設定にあります。オンの間、リクエストはこれらの提供者を避け、これらの提供者のみが提供するモデルは利用できません。

同意ページ上部の異議スイッチ

まだ同意が必要な提供者のモデルにリクエストを送ると、API はコード consent_required とともに 403 を返します。メッセージには不足している提供者とその国が記載され、そのモデルの同意ページへのリンクが含まれます。param には各提供者のコードがカンマ区切りで入ります。

json
HTTP/1.1 403 Forbidden

{
  "error": {
    "code": "consent_required",
    "message": "claude-opus-5.5 needs your consent for these providers: a7 (China), ih (Indonesia), pol (Hong Kong). Give it once at https://unorouter.com/consents?model=claude-opus-5.5; it covers every model these providers serve. (request id: ...)",
    "param": "CN-19,ID-01,HK-01",
    "type": "new_api_error"
  }
}

キーの所有者にリンクを表示してください。同意後は同じリクエストが通ります。同意はその提供者のすべてのモデルが対象のため、一度の同意で複数のモデルが使えるようになることがよくあります。

typescript
const model = "claude-opus-5.5";
const res = await fetch("https://api.unorouter.com/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.UNOROUTER_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ model, messages: [{ role: "user", content: "Hello" }] }),
});

if (res.status === 403) {
  const body = await res.json();
  if (body.error?.code === "consent_required") {
    // The message names the providers; the consent page for the model:
    const link = `https://unorouter.com/consents?model=${encodeURIComponent(model)}`;
    showToUser(`${body.error.message}\n${link}`);
  }
}
コード意味
consent_requiredモデルの提供者にお客様の同意が必要です。メッセージのリンクを開いて同意し、リクエストを再送してください。
consent_businessモデルには同意が必要ですが、ビジネスアカウントは同意できません。別のモデルを選んでください。
own_purpose_objected独自の目的での利用に異議を申し立てており、そのモデルはそのような提供者のみが提供しています。別のモデルを選ぶか、異議を取り下げてください。

同意のないリクエストの拒否は段階的に有効化され、事前にお知らせします。それまではリクエストは拒否されませんが、同意はすでに行えます。