Content-Type: application/json で POST https://bastion-guardian-api.starfort.io/v1/guard/api を呼び出します。
{
"messages": [
{ "role": "user", "content": "Please share John Smith's number 010-1234-5678." }
],
"processType": "input",
"additionalData": {},
"opticon": {
"trace_id": "your-trace-id",
"session_id": "your-session-id",
"user_id": "end-user-id",
"metadata": { "any": "value" },
"tags": ["your-tag"]
}
}
フィールド
| フィールド | 型 | 必須 | 備考 |
|---|
messages | array | はい | OpenAI Chat Completions 形式のメッセージ。 |
processType | string | はい | Guardian が宣言するラベル(一般的には input / output)。大文字小文字を区別しません。 Guardian がサポートするもののいずれかでなければなりません。 |
additionalData | object | いいえ | プロセスタイプが必要とする場合の、呼び出しごとの追加データ。 |
opticon | object | いいえ | トレーシングのヒント。トレーシングが不要な場合は全体を省略します。 |
リクエストでは camelCase(processType、additionalData)を使用します。これらは本番 API が期待するフィールド名です。
processType
processType は Guardian が定義する自由形式のラベルであり、固定された列挙型ではありません。ほとんどの Guardian は input(入力時のリクエストをガード)と output(出力時のモデルレスポンスをガード)を宣言しますが、Guardian はサポートする任意の名前を宣言できます。
- 大文字小文字を区別しません — 値はマッチング前にトリムされて小文字化されるため、
"input"、"INPUT"、" Input " は同じ呼び出しです。
- 値は呼び出される Guardian がサポートするもののいずれかでなければなりません。 そうでない場合、呼び出しは事前検証中に拒否され、エラーメッセージにサポートされているプロセスタイプが一覧表示されます。エラーと状態を参照してください。
- 一部のプロセスタイプはポリシー不要です(Guardian がそれらに対して互換性のあるポリシータイプを宣言しません)。これらは Guard Policy なしで実行され、完全に
additionalData によって駆動されます。
additionalData
additionalData は、プロセスタイプが必要とする追加入力のための標準的なスロットです。Starfort は、Guardian 上で設定された値とあなたが送信する値をマージし(キーが競合した場合はあなたの値が優先)、その結果を変更せずに Guardian へ渡します。これは自由形式の JSON です(JSON として妥当かどうかのみがチェックされます)。たとえば、ポリシー不要のプロセスタイプは、その評価の基準として { "check_criteria": [...] } を受け取る場合があります。
メッセージのロール — 検査されるのは user のみ
各メッセージには role があります。Guardian は user メッセージのみを検査します。それ以外はコンテキストとして保持されますが、マスクやブロックは一切行われません。
| ロール | 動作 |
|---|
user | 検査対象。 各コンテンツパートがマスクまたはブロックされる可能性があります。ガードしたいコンテンツはここに入れてください。 |
assistant | マルチターンのコンテキストとして保持されます。検査されず、マスクされることもありません。 |
system | オペレーターの指示として扱われ、完全にスキップされます。 |
その他(tool、developer など) | ペイロード内に保持されますが、検査されません。 |
user メッセージがないリクエストはチェックされずに通過します。ガードしたいコンテンツは必ず user ロールで送信してください。
Opticon トレーシング(オプション)
opticon オブジェクトは、その呼び出しに対して Starfort が記録するトレースにトレーシングメタデータを付加します。
| フィールド | 用途 |
|---|
trace_id | 独自のトレース識別子(省略時は自動生成されます)。 |
session_id | 関連する呼び出しを 1 つのセッションにまとめます。 |
user_id | エンドユーザーの識別子。 |
metadata | 任意のキー/値。 |
tags | 独自のタグ。Starfort は action とポリシーのタグも自動的に追加します。 |
あなたのフィールドに加えて、Starfort は各トレースを自動的に補強します。トレースの名前は Project Guardian の名前になり、ルートの action、各 policy_type:action / policy_name:action、および API キーの名前がタグとして追加されます。processType、マスクされた API キー識別子、および解決された Model Configuration はメタデータになり、ポリシーごとの検出件数はスコアとして記録されます。キーが競合した場合はシステム値が優先されます。トレーシングはベストエフォートであり、呼び出しをブロックすることは決してありません。Opticon モニタリングを参照してください。
messages 内のマルチモーダルコンテンツ(画像、音声、ファイル、動画)については、マルチモーダル入力を参照してください。