メインコンテンツへスキップ
入力ステージガードレールは、呼び出し元のリクエストがモデルに到達する前に スクリーニングします。コンテンツポリシーを強制する最も安価な場所です:ゲートウェイは プロンプトを入ってくる途中で検査し、ルールがブロックすれば、リクエストは メータリングの前に拒否されます — その呼び出しに何も支払いません。これは、 漏洩したシークレット、PII フィールド、またはインジェクション試行がアップストリーム モデルに到達するのを止める場所です。 完全なエンジン — すべてのルールの種類、フィールド、ルート — については、 ガードレールリファレンスを参照してください。 このページは入力ステージに焦点を当てた解説です:モデルの前に何が走るか、 そしてなぜここでのブロックがクォータを消費しないか。

1. モデルの前、LLM アプリ向け入力ガードレール

すべてのガードレールルールはステージinputoutput、または both — を持ちます。input ルールは、リクエストテキストが到着した瞬間、アップストリーム モデルへ向かう途中で、それに対して走ります:
caller → [ input guardrail ] → metering → model → [ output guardrail ] → caller
その順序が要点です。入力ルールはゲートウェイがクォータを事前消費する前に プロンプトを見るため、このステージでのブロックは無料です — リクエストは モデルに決して到達せず、決して課金されません。 出力ステージと比較してください。出力 ステージはモデルのレスポンスを戻ってきた後にスクリーニングします(出力ブロックは 代わりに事前消費されたクォータを返金します)。
入力ルールは呼び出し元のリクエストをスクリーニングします。 レジストリプロンプトも使う場合、注入されるシステム メッセージは後段のルーティングで追加されます — そのため入力ルールは、注入された プロンプトではなく、あなたのアプリが送ったメッセージを見ます。出力ルールはいずれ の場合もレスポンスをスクリーニングします。

2. 入力ステージで実行できること

任意のルールの種類が input で実行できます。モデルの前にリクエストをゲートする 最も一般的な理由:

プロンプト内の PII をマスクする

mask アクションつきの pii ルールは、エンティティを型付きタグ (jane@acme.com[EMAIL])に書き換えるため、アップストリームモデルは生の 値を決して見ません。PII Shieldを参照。

シークレットが漏れる前にブロックする

API キーまたはクラウドクレデンシャルを運ぶリクエストは入口で拒否されます — メータリング前、アップストリーム呼び出しなし。 シークレットをブロックを参照。

インジェクション試行を止める

プロンプトインジェクション基礎プリセットは、keyword/regex 検出器を、 インジェクションの意図向けの llm_judge ルールとペアにします。 プロンプトインジェクションを参照。

プロンプトサイズを上限する

max_chars ルールは、トークンを課金する前に過大なプロンプトを拒否します。 コストガードレールを参照。
7 つのルールの種類 — keywordregexpiimax_charsexternalllm_judgegrounding — と 5 つのアクション blockmaskflagannotatespotlight はすべてここに適用されます。(spotlight はマッチした 信頼されていないテキストをデリミタで囲み、モデルがそれを指示ではなくデータとして 扱うようにします — 入力ステージのプロンプトインジェクション防御です。annotate はトラフィックを変えずにノートを付加します。)知っておく価値のあるひとつの例外: grounding回答を取得された ソースに対して測定するため、本質的に出力ステージのチェックです。それ以外はすべて 入力ステージに自然にフィットします。
入力ステージのマスキングは今日ライブです — ストリーミングかどうかを問わず。 ゲートウェイはすべてのパスで、モデルが目にする前にリクエストを書き換えます。 出力 mask は非ストリーミングレスポンスのみをリダクトします。ストリーム内 出力書き換えはロードマップ上なので、mask ルールはストリーミングのレスポンスを まだリダクトしません。対照的に、出力 block は両方で強制されます — ストリーミングと非ストリーミング(ストリーミングカバレッジ を参照)。

3. ひとつの具体例

ルールはリレーキーではなくコンソールで(あなた自身のセッション下で — ガードレール 設定には Developer+ が必要)作成します。secrets-shield という名前の ガードレールに単一の input ルールを追加します:
{
  "type": "regex",
  "stage": "input",
  "action": "block",
  "pattern": "sk-[A-Za-z0-9]{20,}"
}
ガードレールをキーにアタッチし(guardrail_id を設定するか、ワークスペース デフォルトとしてマーク — キーにアタッチする を参照)、その sk-orca-... リレーキーでゲートウェイを呼び出します:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Debug this: OPENAI_API_KEY=sk-abcdefghij1234567890"}
    ]
  }'
リクエストは入力ステージでマッチし、ゲートウェイがアップストリームへ何かを転送する 前に HTTP 400 guardrail_blocked で拒否されます:
{
  "error": {
    "type": "guardrail_blocked",
    "message": "request blocked by guardrail \"secrets-shield\": regex(...)"
  }
}
完全なレスポンス形状は guardrail_blocked エラーを 参照してください。

4. なぜ入力ブロックはクォータを消費しないのか

これは入ってくる途中で捕捉することの構造的な利点です。入力ステージのブロックは 事前消費の前に位置するため:
プロパティ入力ステージブロック
HTTP ステータス400 guardrail_blocked
クォータ消費なし — メータリングの前に発火
アップストリーム呼び出し一切行われない
リトライskip-retry とマーク — 再実行してもまたブロック
リクエストがチャネルに決して到達しないため、入力ブロックは skip-retry と マークされます:同じプロンプトを別のチャネルに対して再実行してもまたブロックされ、 労力を無駄にするだけです。出力ステージは異なります — そこでのブロックは、 ゲートウェイがすでに事前消費したクォータを返金します。同じ 400、異なる会計。

5. 解決とフォールバック

入力ステージルールは、リクエストでガードレールが実際に解決される場合のみ走ります。 解決は明示的です:
  1. キーの明示的な guardrail_id(存在し有効である場合)。
  2. それ以外の場合、ワークスペースデフォルトガードレール。
  3. それ以外の場合、none — リクエストはポリシーのないワークスペースとバイト単位で 同一です。
明示的アタッチメントは決してサイレントにフォールバックしません。アタッチ済み ガードレールの無効化がオフスイッチです — ワークスペースデフォルトに流れ落ちる ことはありません。(ファイアウォールポリシーはここで異なる振る舞いをします。 ガードレール vs. ファイアウォールを参照。)

6. 出荷前に証明する

ブロッキングの入力ルールをライブトラフィックに信頼だけでアタッチしないでください。 まず検証する 2 つの方法:
ガードレールエディタの Test タブを開き、サンプルを貼り付け、input ステージを選んで実行します。サンドボックスは現在のポリシーをローカルで 評価し — アップストリーム呼び出しなし、クォータなし — 判定と(mask ルールの 場合は)レンダリングされたテキストを返します。 テストと evalを参照。
まずアクションを flag に設定します。フラグはトラフィックについて何も 変えません — マッチを記録するだけです — そのため、block に切り替える前に、 実際の入力でルールがどれくらいの頻度で発火するかを測定できます。 誤検知のチューニングを参照。
発火したすべてのルールはマッチを記録します — type、action、stage、detail 文字列。マッチした部分文字列は Log raw content がオンのときのみ記録されます (デフォルトはオフ)。マッチフィードロギングとプライバシーを参照。

7. 次にどこへ

入力ステージは不正な入力がモデルに到達するのを止めます。モデルのレスポンスを ゲートするには出力ステージとペアにし、エージェントのツール呼び出しを統制するには ファイアウォールを使います。 完全なエンジンについてはガードレールリファレンスを、 エージェントベースラインのために入力ガードレールとファイアウォールを結線するには セキュリティクイックスタートを読んでください。