仕組み

3ステップで、完全なガバナンス。

SDKをインストールするか、ゲートウェイを指定するだけ。ポリシーを定義すれば、すべてのリクエストが評価され、すべての判定が記録されます。

// 001

インストール。定義。適用。

  1. 01

    インストール

    SDKをインストールするか、APIのベースURLをゲートウェイに向けるだけです。パッケージは1つ、設定は1行。インフラの変更は不要です。OpenAIやAnthropic、Googleのほか、LangChain、CrewAI、AutoGen、MCPなどに対応しています。

  2. 02

    ポリシーを定義

    ルールは、ダッシュボード、API、またはローカルのJSONファイルで設定します。モデルの許可リスト、コスト上限、ツールの制限、PIIフィルターなどを指定できます。ポリシーは暗号署名され、ローカルにキャッシュされます。

  3. 03

    適用と監査

    すべてのリクエストは、実行される前に評価されます。すべての呼び出しに対して、許可、拒否、警告のいずれかを指定でき、ゲートウェイをシャドーモードで実行すれば、判定を適用せずにログへ記録できます。すべての判定に完全な監査証跡が残ります。検索とエクスポートが可能で、コンプライアンス対応の準備も整っています。

// 002

コード例

既存のクライアントをラップするだけ。それ以外はそのままです。

Python

python
# 1. Install: pip install controlzero
import controlzero
from controlzero.integrations.openai import wrap_openai
import openai
# 2. Initialize with your project key
cz = controlzero.init(api_key="cz_live_...")
# 3. Wrap your client; governance is automatic
client = wrap_openai(openai.OpenAI(), cz)
# Use as normal. Every call is governed + audited.
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}]
)

Node.js

javascript
// 1. Setup once: npm config set @controlzero:registry https://npm.controlzero.ai
// 1b. Install: npm install @controlzero/sdk
import { Client } from '@controlzero/sdk';
import { wrapOpenAI } from '@controlzero/sdk/integrations';
import OpenAI from 'openai';
// 2. Initialize with your project key
const cz = await Client.create({ apiKey: 'cz_live_...' });
// 3. Wrap your client; governance is automatic
const client = wrapOpenAI(new OpenAI(), cz);
// Use as normal. Every call is governed + audited.
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: prompt }],
});

// 003

ダッシュボードからのポリシー管理

ポリシーは、Control ZeroのダッシュボードまたはAPIで定義します。コードの変更は不要です。ポリシーは暗号署名され、SDKにリアルタイムで同期されます。

  • >モデルの許可リストとブロックリスト
  • >リクエストごとのトークン数とコストの上限
  • >ツールとリソースの制限
  • >ロールベースおよび時間ベースの条件

controlzero.yaml

yaml
version: '1'
rules:
# Allow read-style actions on any tool
- allow: 'read_*'
# Block a destructive filesystem action outright
- deny: 'filesystem:delete_file'
reason: 'No destructive file operations'
# Restrict model calls to an approved model
- effect: allow
action: 'llm:generate'
resource: 'model/gpt-5.4'
reason: 'Approved model only'
# Default deny
- deny: '*'

同じルールを、ダッシュボードで作成することも、API経由で送信することも、ローカルのポリシーファイルとして保持することもできます。JSONにも対応しています。

// 004

リクエストの流れ

すべてのリクエストは、この経路をたどります。ほとんどのステップはローカルで評価され、呼び出しごとのネットワークの往復は発生しません。

01

お使いのアプリ

エージェントが、ラップされたクライアントを通じてLLMを呼び出します。

02

SDKによるポリシーチェック

ポリシーはキャッシュからローカルで評価されます。有効なリクエストにネットワーク呼び出しは発生しません。

03

プロバイダー呼び出し

SDKモードおよびローカルモードでは、リクエストはお客様のプロセスからLLMプロバイダーへ直接送られ、当社は経路に含まれません。監査レコードはお客様のControl Zeroバックエンドへ送信され、プロンプトとレスポンスのキャプチャはオプトインで、デフォルトではオフです。ゲートウェイモードはプロキシであるため、トラフィックは指定したゲートウェイを経由します。

04

監査ログ

判定内容とメタデータは、耐久性のあるローカルログに書き込まれたあと、非同期でバックエンドへ配信されます。

始める準備はできましたか?

無料プランあり。クレジットカードは不要です。5分以内に使い始められます。