WhitePact について
WhitePactは、モデルや自律型エージェントを監督するチーム向けのAIガバナンスプラットフォームです。MCPサーバーでは、決定論的なアクション判定、承認ワークフロー、改ざん検知可能な証跡とともにガバナンスチェックを提供します。
主な機能
- 015種類のランタイムガバナンス判定
- 02信頼スコアとコンプライアンス評価
- 03PII・バイアス・ハルシネーション検出
- 04ドリフト監視とコスト追跡
- 05承認ワークフローとハッシュチェーン証跡
活用シーン
- 01ポリシーに基づくエージェントのツール呼び出し制御
- 02AI規制へのモデル適合性確認
- 03信頼度の変化とモデル支出の追跡
- 04監査証跡を使ったガバナンス判定の確認
MCP 対応
MCPサーバーはstdio、Streamable HTTP、旧式のHTTP+SSEで、ガバナンスツールとリソースをMCPクライアントに提供します。信頼スコア、ガードレール、コンプライアンス、バイアス評価、ドリフト検出、コスト追跡、監査証跡に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://whitepact-mcp-http.onrender.com/mcpclaude mcp add --transport http guruprasath-annadurai-whitepact https://whitepact-mcp-http.onrender.com/mcp{"mcpServers":{"guruprasath-annadurai-whitepact":{"type":"http","url":"https://whitepact-mcp-http.onrender.com/mcp"}}}Cursor で開く{"servers":{"guruprasath-annadurai-whitepact":{"type":"http","url":"https://whitepact-mcp-http.onrender.com/mcp"}}}VS Code で開く{"mcpServers":{"guruprasath-annadurai-whitepact":{"type":"http","url":"https://whitepact-mcp-http.onrender.com/mcp"}}}{"mcpServers":{"guruprasath-annadurai-whitepact":{"serverUrl":"https://whitepact-mcp-http.onrender.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://whitepact-mcp-http.onrender.com/mcp認証が必要https://whitepact-mcp-http.onrender.com/sse認証が必要ツール
詳細
WhitePact — 自律システム向けの独立した実行時権限、ガバナンス、保証レイヤーです。5種類のガバナンス判断エンジン(ALLOW / ALLOW_WITH_REDACTION / REQUIRE_APPROVAL / DENY / QUARANTINE)、信頼スコアリング、バイアス検出、ガードレール、ハルシネーション検出、コンプライアンスマッピング(NIST AI RMF / EU AI Act / ISO 42001)、コストインテリジェンス、ドリフト監視、公開 Trust Index / リーダーボード / AI Incident Database、および LangChain、LangGraph、Google ADK の信頼ゲート統合機能を備えた MCP サーバー(30 個のツール、20 個のリソース)を提供します。
┌──────────────────────────────────────────────────────────────────────────────┐
│ WhitePact v1.3.1 │
│ │
│ ┌──────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Governance │ │ Trust Score │ │ Compliance │ │ Guardrails │ │
│ │ 5-way decide │ │ 6-dim A–F │ │ NIST/EU/ISO │ │ PII + Tox │ │
│ └──────────────┘ └─────────────┘ └──────────────┘ └──────────────────┘ │
│ ┌──────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Hallucination│ │ Cost Intel │ │ Red Team │ │ Drift Monitor │ │
│ │ Self-consist.│ │ Route+Budget│ │ 10 attacks │ │ Alerts+Trend │ │
│ └──────────────┘ └─────────────┘ └──────────────┘ └──────────────────┘ │
│ ┌──────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ AI Passport │ │ BiasBuster │ │ PrivacyLabel │ │ MCP Server │ │
│ │ SHA-256 cert │ │ 6 probes+CI │ │ Federated │ │ 30 tools/HTTP │ │
│ └──────────────┘ └─────────────┘ └──────────────┘ └──────────────────┘ │
│ ┌──────────────────────────────────────────────────────────────────────────┐ │
│ │ Governance Dashboard — FastAPI · Per-org rate limit · Alembic · OTEL │ │
│ └──────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘
これで解決できること
本番環境に AI を導入するすべてのチームが、同じ課題に直面しています。**モデル、あるいは自律型エージェントのアクションが安全で、公平で、コンプライアンスに準拠し、説明責任を果たせることを証明する統一された方法がありません。**監査は手作業で行われ、バイアスは本番環境で発覚し、コンプライアンスはスプレッドシートで管理され、エージェントのツール呼び出しはガバナンスされず、来月の LLM の請求額を誰も把握していません。
WhitePact は、ガバナンスのライフサイクル全体を網羅するプラットフォームを提供します。REST API、Python SDK、MCP サーバー、そしてライブダッシュボードを備えています。
| 課題 | モジュール | 出力 |
|---|---|---|
| このエージェントのアクションは許可、マスキング、承認待ち、拒否、隔離のどれにすべきですか? | WhitePactRuntimeGateway(ガバナンスの中核) | 5 種類の GovernanceDecision。決定処理では決定論的で、LLM を呼び出しません |
| このモデルは信頼できますか? | TrustScoreEngine | 0~100 のスコア、A~F のグレード、リスクレベル |
| 規制に準拠していますか? | ComplianceEngine | NIST AI RMF、EU AI Act のリスク区分、ISO 42001 |
| PII を漏えいしていますか? | GuardrailsEngine | 監査ログ付きのブロック/マスキング |
| ハルシネーションを起こしていますか? | HallucinationDetector | リスクスコア、裏付けのない主張 |
| 攻撃を受ける可能性はありますか? | RedTeamSimulator | 10 種類の攻撃ベクトル、CVE ID、安全な拒否の割合 |
| コストはいくらですか? | CostTracker + ModelRouter | モデルごとの USD、実行可能な最安モデルへのルーティング |
| 時間とともに悪化していますか? | TrustDriftMonitor | 7 日/30 日の傾向、重大度アラート |
| バイアスはありますか? | BiasBuster | 6 種類の人口統計プローブ、CI ゲート |
| このデータにはプライバシー保護ラベルが付いていますか? | PrivacyLabel | デバイスの外部に出ない連合 DP ラベル |
| このメディアは本物ですか? | DeepfakeDetector | アンサンブルの信頼度、検出された手法 |
| 接続する前に、サードパーティの MCP サーバーを信頼できるか確認できますか? | SupplyChainScanner | VERIFIED_FACT / INFERRED_SIGNAL / UNKNOWN の判定。タイポスクワッティング、説明とコンテンツの不一致、既知のインシデントをチェック |
| すべてのガバナンス上の決定について、改ざんを検知できる記録はありますか? | EvidenceRepository | ハッシュチェーンで連結された EvidenceRecord。組織ごとに管理され、verify_chain() で検証できます |
| リスクのあるアクションに、人間を介在させられますか? | ApprovalRepository | 競合状態に安全な PENDING → APPROVED/DENIED ワークフロー |
| このモデルは、他のモデルと比べて独立してどのように評価されますか? | Public Leaderboard | 各モデルの API を実際に呼び出して算出する、自己申告に頼らないモデル間の信頼性ランキング |
| 信頼スコアをどこでも引用して検証できますか? | Trust Index | 無料の自己評価パスポート、または人間によるレビュー済みの認定パスポート。/verify/{id} で検証でき、バッジを埋め込めます |
| この AI システムは過去に公に問題を起こしましたか? | AI Incident Database | コミュニティから報告され、モデレーターがレビューする、ハッシュチェーンで連結された公開レジストリ |
| エージェントが呼び出す前に、サードパーティのツールを信頼すべきか確認できますか? | rai_check_trust + LangChain/LangGraph/ADK integrations | 無料の照会機能に加え、エージェント内で実際にブロック/一時停止するゲート |
| どの MCP クライアントでも、すべての AI 呼び出しをガバナンスできますか? | MCP Server | stdio、Streamable HTTP、または従来の HTTP+SSE を介した、本番運用可能な 30 種類のガバナンスツール |
インストール
# Governance platform + REST API
pip install "rai-governance-platform[dashboard]"
# With PostgreSQL support
pip install "rai-governance-platform[dashboard,postgres]"
# With Redis + OpenTelemetry
pip install "rai-governance-platform[dashboard,redis,telemetry]"
# With LLM providers
pip install "rai-governance-platform[dashboard,openai,anthropic]"
# Everything
pip install "rai-governance-platform[all]"
公開されている PyPI パッケージ名(rai-governance-platform)とインポート名(responsibleai)は、WhitePact への名称変更前から使われているもので、現在もそのままです。インストール、インポート、製品の名称については、MIGRATION_WHITEPACT_V2.md のセクション 3 と docs/PACKAGE_IDENTITY.md を参照してください(PyPI でその配布物が案内されていない限り、pip install whitepact は使用しないでください)。
30 秒で始める
# Start the governance dashboard
pip install "rai-governance-platform[dashboard]"
uvicorn responsibleai.dashboard.app:app --port 8765
# Evaluate a model (no LLM key needed — supply your own scores)
curl -X POST http://localhost:8765/api/evaluate \
-H "Content-Type: application/json" \
-d '{
"model_name": "gpt-4o",
"provider": "openai",
"fairness": 0.80,
"privacy": 0.85,
"security": 0.82,
"robustness": 0.78,
"compliance": 0.90,
"authenticity": 0.88
}'
{
"trust_score": { "trust_score": 83.65, "grade": "B", "risk": "LOW" },
"compliance": { "overall_score": 80.5, "eu_ai_act_tier": "limited_risk", "violations": 0 },
"passport_id": "rai-a3f7c2b1",
"passport_hash": "4d8e1f2a9c3b7e6d...",
"drift_alert": null
}
ライブダッシュボードを表示するには http://localhost:8765 を開き、対話型 API ドキュメントを表示するには http://localhost:8765/api/docs を開きます。
ガバナンスの中核 — 二者択一のブロック/許可ではなく、5種類の判断
src/responsibleai/governance/(アーキテクチャの契約全体については SPEC.md のセクション 4~8 を参照)は、エージェントのツール呼び出しの前段に置かれる、決定論的な実行時権限機構です。
from responsibleai.governance import WhitePactRuntimeGateway, ActionRequest, AuthorityContext
gateway = WhitePactRuntimeGateway()
result = gateway.evaluate(
action=ActionRequest(tool_name="rai_scan", arguments={"text": "..."}),
authority=AuthorityContext(org_id="acme", agent_id="agent-1"),
)
print(result.decision) # GovernanceDecision.ALLOW | ALLOW_WITH_REDACTION | REQUIRE_APPROVAL | DENY | QUARANTINE
- リスクの段階分け(
governance/risk.py)— すべての MCP ツールを、呼び出し時に推測するのではなく、ハードコードされ、ドリフトテスト済みの表に照らして分類します。 - ポリシーエンジン(
governance/policy.py)—ALLOW/DENY/REQUIRE_APPROVALの効果を持つ、最初に一致したルールを優先するルール群です。 - 証拠(
governance/evidence.py)— すべての判断を組織ごとのハッシュチェーン付きEvidenceRecordに記録し、verify_chain()で改ざんを検出します。生の引数値は保存せず、フィールド名のキーのみを保存します。 - 承認ワークフロー(
governance/approval.py)—REQUIRE_APPROVALの判断では、ログに記録するだけでなく、解決 API を備えた、実際の競合安全なApprovalRequestをキューに登録します。 - サプライチェーンスキャナー(
src/responsibleai/supplychain/)— エージェントがサードパーティの MCP サーバーまたはツールを信頼する前に、SupplyChainScannerはタイポスクワッティング検出、ツールの説明文スキャン、既知のインシデントとの照合に基づき、3 種類の明確な判定(VERIFIED_FACT/INFERRED_SIGNAL/UNKNOWN)のいずれかを返します。不透明な単一の信頼スコアを返すことはありません。 - Identity Bridge(
integrations/identity_bridge.py)— Entra ID、Google Workspace、Okta、AWS(Cognito/IAM Identity Center)の ID トークンのクレームをIdentityContextにマッピングします。また、map_groups_to_authority()により、IdP グループのメンバーシップを、許可されたアクションタイプを示すAuthorityContextに変換します。何が検証済みか(各プロバイダーの公開ドキュメントに照らしたクレーム形式の正しさ)と、何が未検証か(実稼働テナントでのテスト、Graph/Admin-SDK によるグループ名の解決、AWS の非 JWT SigV4 パス)については、MACHINE_AUTHORITY_V1.mdの Identity Bridge セクションを参照してください。
ガバナンスの判断に LLM は一切使用しません。その理由については DETERMINISTIC_VS_PROBABILISTIC.md を参照してください。
最初から最後まで確認する:examples/08_whitepact_enterprise_scenario.py は、自律型の金融エージェントを組織に導入するシナリオ全体を、実際のコードを使って、8 つすべての機械権限の不変条件(上限、委任、権限の弱化、承認の定足数、ワークフローの合成、自律性予算、メモリーファイアウォール、証拠バンドル)に沿って実行します。API キーは不要です。
python examples/08_whitepact_enterprise_scenario.py
MCP サーバー — Claude Code、Claude Desktop、または任意の MCP クライアントからの AI 呼び出しをすべてガバナンスで管理
MCP(Model Context Protocol)サーバーは、あらゆる MCP 互換クライアント(Claude Code、Claude Desktop、Cursor、Windsurf、または独自のエージェント実行環境)向けに、WhitePact を30 個のツールと 20 個のリソース(正規リソース URI は 10 個で、whitepact:// と rai:// の両スキームで公開されます。MIGRATION_WHITEPACT_V2.md を参照)として提供します。対応するトランスポートは、stdio、Streamable HTTP(/mcp、現行の MCP 仕様)、レガシー HTTP+SSE(/sse + /messages/。旧クライアント向けに維持)の 3 種類です。チームのクライアントをこのサーバーに接続すると、あらゆる AI インタラクションが自動的にガバナンスの対象となり、5 種類のガバナンス判断、信頼スコアリング、ガードレール、コンプライアンスチェック(NIST AI RMF/EU AI Act/ISO 42001)、バイアス評価、ドリフト検出、コスト追跡、ハッシュチェーン付き監査証拠が、コードを変更せずにすべての呼び出しで実行されます。
セットアップ
# Install
pip install "rai-governance-platform[dashboard,mcp]"
# Start the REST API (MCP tools call it internally)
RAI_DB_PATH=/var/lib/rai/governance.db \
RAI_API_KEYS=your-key-here \
uvicorn responsibleai.dashboard.app:app --host 127.0.0.1 --port 8765 &
# Add to Claude Code (~/.claude/claude_desktop_config.json or via /mcp)
{
"mcpServers": {
"whitepact": {
"command": "whitepact-mcp",
"env": {
"RAI_API_URL": "http://localhost:8765",
"RAI_API_KEY": "your-key-here"
}
}
}
}
whitepact-mcp と responsibleai-mcp は同じエントリーポイントです。pyproject.toml の [project.scripts] を参照してください。どちらも引き続き使用できるため、お好みの名前を使ってください。
利用可能なツール(27)
| ツール | 機能 |
|---|---|
rai_scan | ログに記録される前に、PII と有害なコンテンツを検出して編集します |
rai_trust_score | 6 つのガバナンス領域にわたる複合 AI 信頼スコア(0~100) |
rai_compliance | NIST AI RMF/EU AI Act/ISO 42001 のコンプライアンス評価 |
rai_hallucination | 曖昧な表現、一貫性、裏付けのない主張に基づくハルシネーションリスク |
rai_cost_estimate | トークン数からモデル API 呼び出しの USD コストを見積もります |
rai_redteam_payloads | 敵対的攻撃のペイロード(プロンプトインジェクション、ジェイルブレイクなど) |
rai_redteam_analyze | レッドチームのペイロードに対するモデルの応答からセキュリティレポートを作成します |
rai_compare_models | 6 つすべての信頼性領域で 2 つのモデルを比較します |
rai_audit_summary | ガバナンス機能の概要(ツール、フレームワーク、攻撃ベクトル) |
rai_health | ガバナンスエンジンのステータスとモジュールの利用可否 |
rai_bias_evaluate | 6 つのプローブ領域で、信頼区間とともに人口統計学的バイアスを評価します |
rai_drift_check | ベースラインと現在の評価の間で信頼スコアのドリフトを確認します |
rai_passport_generate | ベンダーリスク評価用の、検証可能で改ざんの痕跡がわかる AI パスポート |
rai_budget_check | 支出と予算、チーム/モデル別の内訳、月末の予測 |
rai_policy_check | ガバナンスポリシー(ブロックリスト、免責事項など)に照らしてテキスト/応答を確認します |
rai_stream_scan | ストリーミング LLM 出力のチャンクに含まれる PII/有害なコンテンツをスキャンします |
rai_benchmark | truthfulqa/bbq/hellaswag のスイートに照らして応答をスコアリングします |
rai_benchmark_prompts | ベンチマークスイート用の質問セット |
rai_model_route | コストと品質のトレードオフを考慮し、タスクに対応できる最も安価なモデルを提示します |
rai_pii_report | カテゴリ別の PII 監査レポートと、GDPR/CCPA に基づく修正ガイダンス |
rai_incident_log | 監査/SIEM 用の構造化されたガバナンスインシデント記録 |
rai_eu_ai_act_classify | EU AI Act のリスク分類とコンプライアンスロードマップ |
rai_iso42001_gap | ISO/IEC 42001:2023 AI マネジメントシステムのギャップ分析 |
rai_executive_summary | RAG ステータスインジケーター付きの、取締役会向けガバナンス概要 |
rai_org_status | モデル、グレード、コンプライアンス、リスクに関するガバナンスステータスのスナップショット |
rai_webhook_status | Webhook 配信の健全性、障害分析、修正措置 |
rai_check_trust | エージェントが実行する前に、サードパーティのモデル/ツールを無料の公開 Trust Index で確認します。呼び出し元自身が生成した出力を評価する上記の他のすべてのツールとは異なります |
エージェントフレームワークとの統合 — LangChain、LangGraph、Google ADK
src/responsibleai/integrations/ は rai_check_trust を 3 つの
エージェントフレームワークに直接組み込み、ツールの公開信頼スコアが
しきい値を満たす場合にのみエージェントが呼び出せるようにします。
呼び出し後に記録するだけではありません。
- LangChain(
langchain_middleware.py)—TrustGateMiddlewareは、 スコアがしきい値を下回ると呼び出しを完全にブロックするwrap_tool_callミドルウェアです。pip install "rai-governance-platform[langchain]"が必要です。 - LangGraph(
langgraph_gate.py)—make_trust_gate_node()は、 しきい値を下回る呼び出しをハードブロックする代わりに、interrupt()でグラフを一時停止し、人間が承認/拒否を判断するノードです。pip install "rai-governance-platform[langgraph]"が必要です。 - Google ADK(
adk_toolset.py)—build_stdio_toolset()/build_http_toolset()は、ADK のMcpToolsetを使った薄いファクトリーです。 カスタムの接続コードなしで、このプロジェクトの MCP サーバーのツールを 自動検出します。pip install "rai-governance-platform[adk]"が必要です。
3 つすべて、または任意の組み合わせを、pip install "rai-governance-platform[agent-frameworks]" でインストールできます。
それぞれの背景にある考え方については、GAME_CHANGER_BUILD_PLAN.md の Phase B をご覧ください。
利用可能なリソース(20)
10 個の標準リソースが、それぞれ whitepact:// と
rai:// の両方の URI スキームで公開されています(デュアルスキームは追加で提供されます。詳しくは
MIGRATION_WHITEPACT_V2.md を参照してください。以下の表には標準 URI を示しています)。
| リソース | URI | 内容 |
|---|---|---|
| ヘルス | whitepact://health | ガバナンスサービスの現在のヘルスステータス |
| モデルの価格カタログ | whitepact://models/catalog | トークン単位の価格を含む、サポート対象モデル |
| コンプライアンスフレームワーク | whitepact://compliance/frameworks | NIST AI RMF、EU AI Act、ISO 42001 |
| レッドチームのカテゴリ | whitepact://redteam/categories | 敵対的攻撃のカテゴリ |
| 信頼性の次元 | whitepact://trust/dimensions | Trust Score を構成する 6 つの次元 |
| バイアスプローブカタログ | whitepact://bias/probes | 利用可能なバイアスプローブとスコアの解釈 |
| ガバナンスポリシーテンプレート | whitepact://governance/policy | rai_policy_check のデフォルトポリシーテンプレート |
| 信頼性グレードのリファレンス | whitepact://trust/grades | グレードのしきい値、リスク階層、デプロイの指針 |
| NIST AI RMF チェックリスト | whitepact://compliance/checklist/nist | 実行可能な NIST 導入チェックリスト |
| EU AI Act チェックリスト | whitepact://compliance/checklist/eu-ai-act | 高リスク事業者向けコンプライアンスチェックリスト |
MCP ディレクトリへの掲載
WhitePact は、実際の MCP ディレクトリに現在掲載されており、検索も可能です。将来的な予定ではなく、すべて実際に検証済みです。
- Official MCP Registry — リポジトリのルートにある
server.json(スキーマ2025-12-11、掲載バージョン1.2.3)はio.github.Guruprasath-Annadurai/whitepactとして公開されており、 registry.modelcontextprotocol.io で検索できることを確認済みです。 PyPI/stdio パッケージ(whitepact-mcp、セルフホスト可能、無料、利用制限なし)と、 ホスト済みの Streamable HTTP および SSE トランスポート (whitepact-mcp-http.onrender.com)を指すremotesエントリの両方を公開しています — インストール可能なパッケージにとどまらず、ワンクリックで接続できるリモートコネクターです。 - Antigravity CLI プラグイン — リポジトリのルートにある
plugins/whitepact/は、公式 Antigravity プラグインマニフェスト形式 に準拠しており、serverUrlを介して同じホスト済み Streamable HTTP トランスポートに接続します。公式の Antigravity プラグインディレクトリはまだ存在しないため、リポジトリから直接配布しています — 詳しくはplugins/whitepact/README.mdを参照してください。 - Smithery —
guruprasathannadurai-official/whitepactとして掲載されており、ホスト済み Streamable HTTP トランスポート (whitepact-mcp-http.onrender.com/mcp。メインダッシュボードとは別の Render サービス)に対して、 30 個のツールと 20 個のリソースが検出されています。このデプロイには OAuth 認可サーバーが設定されておらず、 静的な Bearer API キーのみを使用します。そのため、ライブ認証クロールを完了できないディレクトリ向けに、 公開認証不要の/.well-known/mcp/server-card.jsonが、サーバー自体が公開するものと同じTOOL_DEFS/RESOURCE_DEFSを提供します。
未申請のディレクトリを含む配布計画の全容については、
compliance/MCP_DISTRIBUTION_GUIDE.md を参照してください。
プラットフォーム連携
WhitePact は、規格準拠のクライアントを通じて、1 つの MCP サーバーとして主要な AI プラットフォームに接続します
— プラットフォームごとのフォークも、プラットフォームごとのガバナンスロジックも不要です。
互換性マトリックスの標準版(PLATFORM_COMPATIBILITY.md)、プラットフォームごとの
セットアップドキュメント(GitHub Copilot、Microsoft Copilot、Claude、Grok、Gemini、
Amazon Q、AWS Bedrock AgentCore、Mistral Le Chat、Cursor)、および
人による対応がまだ必要な項目をまとめた FOUNDER_ACTIONS.md については、
docs/integrations/ を参照してください。
python scripts/integration_smoke.py を実行すると、ホストされたエンドポイントに対して
ライブのプロトコルレベルの事前チェックを行えます。
Python SDK
信頼性スコアリング
from responsibleai import TrustScoreEngine, PassportGenerator
engine = TrustScoreEngine()
score = engine.compute(
fairness=0.80, privacy=0.85, security=0.82,
robustness=0.78, compliance=0.90, authenticity=0.88,
)
print(f"{score.overall:.1f} / 100 Grade: {score.grade} Risk: {score.risk_level}")
# → 83.7 / 100 Grade: B Risk: LOW
passport = PassportGenerator().generate(
model_name="gpt-4o", provider="openai", trust_score=score,
compliance_summary={"overall": 80.5},
)
print(passport.passport_id)
passport.export_html("passport.html")
ガードレール — ログに到達する前に PII をブロック
from responsibleai import GuardrailsEngine
guardrails = GuardrailsEngine()
result = guardrails.scan("Customer SSN is 123-45-6789, email: [email protected]")
print(result.is_blocked) # True
print(result.pii_count) # 2
print(result.redacted_text) # "Customer SSN is [SSN], email: [EMAIL]"
ハルシネーション検出
from responsibleai import HallucinationDetector
detector = HallucinationDetector()
result = detector.analyze(
"AI will replace all human jobs by 2025.",
candidates=[
"AI will automate some repetitive tasks.",
"AI creates new job categories alongside displacing others.",
],
)
print(f"Risk: {result.hallucination_risk:.2f} Level: {result.risk_level}")
コンプライアンス — NIST AI RMF、EU AI Act、ISO 42001
from responsibleai import ComplianceEngine
engine = ComplianceEngine()
report = engine.evaluate(
fairness_score=0.80, privacy_score=0.85,
security_score=0.82, robustness_score=0.78,
compliance_maturity=0.90, use_case="credit_scoring",
)
print(f"Score: {report.compliance_score * 100:.1f}%")
print(f"EU AI Act tier: {report.eu_ai_act_tier.value}") # high_risk
レッドチームシミュレーション
from responsibleai import RedTeamSimulator
simulator = RedTeamSimulator()
report = simulator.run_all()
print(f"Security score: {report.security_score:.1f}/100")
print(f"Vulnerabilities: {len(report.vulnerabilities)}")
for v in report.critical_vulnerabilities:
print(f" [{v['cwe_id']}] {v['name']}")
コストインテリジェンス
from responsibleai import CostTracker, ModelRouter, TokenUsage, BudgetPolicy
tracker = CostTracker(db_path="~/.responsibleai/data.db",
policy=BudgetPolicy(monthly_limit_usd=500.0))
usage = TokenUsage.create(
provider="openai", model="gpt-4o",
input_tokens=2000, output_tokens=800, team="product",
)
record = tracker.record(usage)
print(f"This call: ${record.total_cost:.4f}")
print(f"Month to date: ${tracker.total_cost(30):.2f}")
router = ModelRouter()
decision = router.route("Classify this email as spam or not spam", "balanced")
print(f"Recommended: {decision.recommended_model} ${decision.estimated_cost_per_1k:.4f}/1k tokens")
信頼性のドリフト監視
from responsibleai import TrustScoreEngine, TrustDriftMonitor
monitor = TrustDriftMonitor(db_path=":memory:", alert_threshold=5.0)
engine = TrustScoreEngine()
for fairness in [0.90, 0.88, 0.85, 0.72]:
score = engine.compute(fairness=fairness, privacy=0.85, security=0.80,
robustness=0.80, compliance=0.85, authenticity=0.85)
alert = monitor.record("gpt-4o", "openai", score)
if alert:
print(f"Drift alert! {alert.severity}: {alert.delta:.1f} pt drop")
ガバナンスダッシュボード
ダークモードの SPA を備えた、本番環境向けの FastAPI アプリケーションです。稼働中のインスタンスは whitepact.com で公開されています。
# Development (auth off, SQLite in-memory)
RAI_AUTH_ENABLED=false uvicorn responsibleai.dashboard.app:app --port 8765
# Production (auth + persistent DB)
RAI_API_KEYS=your-key-here \
RAI_DB_PATH=/data/responsibleai.db \
uvicorn responsibleai.dashboard.app:app --host 0.0.0.0 --port 8765 --workers 4
# Docker
docker compose up -d
REST API エンドポイント
| メソッド | パス | 説明 |
|---|---|---|
GET | /api/health | ヘルス状態 — DB、認証、OTEL、バージョン |
GET | /api/metrics | 稼働時間、リクエスト数、エラー率、月間支出 |
POST | /api/evaluate | 総合評価 → 信頼性 + コンプライアンス + パスポート |
GET | /api/trust-score/{model}/{provider} | スコア履歴 + ドリフト傾向 |
GET | /api/models | 評価済みモデル一覧 |
POST | /api/scan | ガードレール — PII の検出 + マスキング |
POST | /api/hallucination | ハルシネーションリスク分析 |
POST | /api/cost/record | トークン使用量を記録 |
GET | /api/cost/summary | モデル/チーム/日別のコスト内訳 |
POST | /api/cost/analyze | プロンプト効率 — 冗長な部分を検出 |
POST | /api/cost/route | タスクを実行可能な最安モデルに振り分け |
GET | /api/cost/models | モデル料金の完全なカタログ |
GET | /api/drift/{model}/{provider} | ドリフト傾向 + 履歴 |
GET | /api/audit | ページネーション対応の監査ログ(組織単位) |
GET | /api/audit/export | 監査ログを JSONL または CSV でエクスポート |
GET | /api/audit/summary | エンドポイント別に分類した監査件数 |
GET | /api/redteam/payloads | レッドチームのペイロードライブラリ(10 種類のベクトル) |
POST | /api/redteam/analyze | モデル応答を分析して脆弱性を検出 |
GET | /api/billing/usage | トークン支出と予算状況 |
GET | /api/leaderboard | モデル横断の公開信頼性ランキング(認証不要) |
GET | /api/leaderboard/{model}/{provider}/history | 個別モデルの経時的な傾向(認証不要) |
GET | /api/leaderboard/{model}/{provider}/diagnostic | プロンプトごとの検出結果 — PRO プランが必要 |
POST | /api/trust-index/assess | オープンな Trust Index 標準に基づく無料の公開セルフ評価 |
GET | /api/trust-index/verify/{passport_id} | 引用された Trust Index スコアを検証(認証不要) |
GET | /api/trust-index/check | 無料、公開 — 正確な名前で指定されたモデル/ツールの信頼性スコア + インシデント件数を取得(認証不要)。rai_check_trust および LangChain/LangGraph/ADK の統合機能が呼び出します |
GET | /api/trust-index/registry | 評価済みのすべてのモデル/ツールを、新しい順に表示。認証済みと自己申告を含みます(認証不要)— 公開 /registry ページのデータソース |
GET | /api/trust-index/certified | 認証済みパスポートのディレクトリ(認証不要) |
POST | /api/trust-index/certify/{passport_id} | パスポートを認証 — スーパー管理者限定 |
GET | /api/trust-index/badge/{passport_id}.svg | 埋め込み可能な信頼性バッジ(Self-Assessed / Certified)、認証不要 |
POST | /api/incident-db/report | 公開の場で確認された AI インシデントを報告(認証不要、レート制限あり) |
GET | /api/incident-db | 公開済みインシデントを閲覧 — モデル、プロバイダー、深刻度、種類で絞り込み(認証不要) |
GET | /api/incident-db/check | モデル/プロバイダーのデプロイ前の完全一致インシデント確認 — PRO/ENTERPRISE |
GET | /api/incident-db/verify | 公開済みのすべてのエントリーに対してハッシュチェーンを再計算(認証不要) |
POST | /api/orgs/{org_id}/keys/{key_id}/mfa/enroll | API キーを TOTP MFA に登録 |
POST | /api/orgs/{org_id}/keys/{key_id}/mfa/verify | TOTP コード/バックアップコードを検証 |
GET/POST | /api/governance/evidence | ハッシュチェーンで連結されたガバナンス証拠レコードを読み取り/書き込み |
GET/POST | /api/governance/approvals | REQUIRE_APPROVAL の判定をキューに追加して処理 |
インタラクティブなドキュメントは /api/docs にあります。公開ランキングページは /leaderboard です —
公開済みのスコアリング手法については compliance/LEADERBOARD_METHODOLOGY.md を、
評価の実行方法については scripts/run_leaderboard_eval.py を参照してください。
オープンな Trust Index 標準とパスポートの検証は /verify/{id} にあります —
compliance/TRUST_INDEX_SPEC.md を参照してください。無料でサインアップ不要のセルフ評価は
/assess で利用できます。評価済みのすべてのモデル/ツールは /registry で閲覧できます。
/llms.txt は AI クローラー/回答エンジンに、これらを正規の情報源として案内します —
その理由については GAME_CHANGER_STRATEGY.md を参照してください。
本番環境向け機能
| 機能 | 詳細 |
|---|---|
| 認証 | RBAC(OWNER / ADMIN / ANALYST / VIEWER)を備えたベアラートークン(RAI_API_KEYS) |
| MFA | 対話型ログイン手順でのTOTP(RFC 6238)、組織単位での強制が可能、使い捨てバックアップコード |
| フィールドレベルの暗号化 | オプトイン(RAI_FIELD_ENCRYPTION_KEY)。audit_log.ip_address、インシデント報告者の連絡先情報、Webhookシークレット、MFAシークレットに適用 — 鍵のローテーションに対応(MultiFernet) |
| 組織ごとのレート制限 | 各ベアラートークンには独自のレート制限バケットが割り当てられます(SHA-256キー)— グローバルな共有プールはありません |
| CORS | オリジンを設定可能(RAI_ALLOWED_ORIGINS) |
| セキュリティヘッダー | CSP、X-Frame-Options、X-Content-Type-Options |
| 構造化ログ | structlogによるJSON形式 + リクエストID |
| データベース | SQLite(デフォルト)またはPostgreSQL(RAI_DATABASE_URL)、Alembicマイグレーション対応 |
| オブザーバビリティ | OpenTelemetryのトレース + メトリクス(RAI_OTEL_ENDPOINT) |
| Webhook | DBに永続化される再試行キューを備えたHMAC署名付き配信(再起動後も保持) |
| 例外処理 | 生のスタックトレースがクライアントに渡ることはありません |
| ガバナンスの証跡 | ハッシュチェーン方式、組織ごと、不正改ざんを検知可能(GET /api/governance/evidence) |
データベースマイグレーション(Alembic)
スキーマの変更はAlembicで管理されます。現在の正式なマイグレーション数とテーブル一覧を確認するには、alembic historyを実行してください。この数は頻繁に変わるため、ここに固定値を記載するとすぐに古くなります。コマンドの結果が唯一の正確な情報源です。
# Upgrade to latest schema
RAI_DB_PATH=/var/lib/rai/governance.db alembic upgrade head
# PostgreSQL
RAI_DB_URL=postgresql://user:pass@host:5432/responsibleai alembic upgrade head
# Show migration history
alembic history
# Generate a new migration after changing engine.py
alembic revision --autogenerate -m "add_new_column"
すべてのマイグレーションでrender_as_batch=Trueを使用しているため、変更なしでSQLiteとPostgreSQLの両方で実行できます。
Webhook通知
エンドポイントを登録すると、ガバナンスのしきい値に達したときに署名付きイベントを受け取れます。
# Register a Slack webhook
curl -X POST http://localhost:8765/api/webhooks \
-H "Authorization: Bearer your-key" \
-H "Content-Type: application/json" \
-d '{
"name": "ops-slack",
"url": "https://hooks.slack.com/services/...",
"events": ["drift_alert", "budget_exceeded", "guardrail_triggered"],
"provider": "slack",
"secret": "hmac-secret-for-signature-verification",
"max_retries": 5
}'
配信はデータベースに永続化されます。再試行サイクル中にサーバーが再起動した場合、バックグラウンドワーカーは次回の起動時に中断した箇所から処理を再開します。 再試行スケジュール:1秒 → 5秒 → 30秒 → 2分 → 10分。
X-RAI-Signature-256: sha256=<hex>ヘッダーを使ってペイロードを検証してください。
Docker
git clone https://github.com/Guruprasath-Annadurai/Whitepact.git
cd Whitepact
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
cp .env.example .env
# Edit .env — set RAI_API_KEYS
docker compose up -d
# Dashboard: http://localhost:8765
# API docs: http://localhost:8765/api/docs
PostgreSQL + Redis(水平方向のスケーリング)
# .env
RAI_DATABASE_URL=postgresql://rai:secret@db-host:5432/responsibleai
RAI_REDIS_URL=redis://redis-host:6379/0
RAI_OTEL_ENDPOINT=http://otel-collector:4318
pip install "rai-governance-platform[dashboard,postgres,redis,telemetry]"
# Run migrations before first start
RAI_DB_URL=postgresql://rai:secret@db-host:5432/responsibleai alembic upgrade head
非同期データベースレイヤーでは、コネクションプーリング(pool_size=10、max_overflow=20、pool_pre_ping=True)を備えたSQLAlchemyを使用します。RAI_REDIS_URLが設定されている場合、レート制限はRedisベースのストレージに切り替わります。
BiasBuster — CIでのバイアス評価
# Fail CI when demographic bias exceeds threshold
biasbuster run \
--provider openai --model gpt-4o \
--probes gender-bias,racial-bias,cultural-bias \
--threshold 0.20 \
--output report --format html
from biasbuster import BiasBusterRunner, GenderBiasProbe, RacialBiasProbe
from biasbuster.providers import OpenAIProvider
import asyncio
async def main():
provider = OpenAIProvider(api_key="sk-...", model="gpt-4o")
runner = BiasBusterRunner(provider=provider)
suite = await runner.run([
GenderBiasProbe(threshold=0.20),
RacialBiasProbe(threshold=0.20),
])
print(f"Score: {suite.overall_score:.4f} {'PASSED' if suite.passed else 'FAILED'}")
asyncio.run(main())
利用可能なプローブ: gender-bias、racial-bias、age-bias、religious-bias、occupational-stereotype、cultural-bias
スコアリング: TF-IDFコサインダイバージェンス + 長さの非対称性 + VADER感情ダイバージェンス、95%ブートストラップ信頼区間、交差的な同時失敗の増幅(×1.15)。
PrivacyLabel — デバイス上での連合ラベリング
from privacylabel import FederatedClient, FedAvgAggregator
client = FederatedClient(
node_id="hospital-node-01",
provider=MyProvider(),
epsilon_per_round=0.1,
total_epsilon=1.0,
delta=1e-6,
gradient_clip=1.0,
)
# Raw data stays on disk — only privatised gradients leave the device
summary = await client.train_round("data/local_records.jsonl")
print(f"Privacy budget used: ε={summary.privacy_spent['spent_epsilon']:.3f}")
ラプラス、ガウス、指数、DP-SGDのメカニズムを実装しています。Weiszfeld幾何中央値によるビザンチン耐性のある集約に対応しています。
GitHub Actions — CIでのバイアスゲート
- name: Bias evaluation
run: |
pip install "rai-governance-platform[openai]"
biasbuster run \
--provider openai --model gpt-4o-mini \
--probes gender-bias,racial-bias,cultural-bias \
--threshold 0.20
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
RAI_DB_PATH | governance.db | SQLite のパス |
RAI_DB_URL | (未設定 = SQLite) | SQLAlchemy の完全な URL — RAI_DB_PATH より優先されます |
RAI_DATABASE_URL | (未設定) | RAI_DB_URL のエイリアス |
RAI_API_KEYS | (空 = 認証オフ) | カンマ区切りのベアラートークン |
RAI_AUTH_ENABLED | true | 認証の強制を切り替えます |
RAI_REDIS_URL | (未設定 = インメモリ) | 分散レート制限用の Redis URL |
RAI_RATE_LIMIT_DEFAULT | 100/minute | 組織ごとのレート制限(ベアラートークンをキーに使用) |
RAI_OTEL_ENDPOINT | (未設定 = 無効) | OTLP HTTP エンドポイント |
RAI_OTEL_SERVICE_NAME | responsibleai | トレース用のサービス名 |
RAI_ALERT_THRESHOLD | 5.0 | ドリフトアラートをトリガーする信頼スコアの低下値 |
RAI_MONTHLY_BUDGET_USD | 10000.0 | 月間 AI 支出の上限 |
RAI_LOG_LEVEL | INFO | ログレベル |
RAI_LOG_JSON | true | 構造化 JSON ログ |
RAI_HOST | 127.0.0.1 | バインドアドレス |
RAI_PORT | 8765 | ポート |
MIGRATION_WHITEPACT_V2.md に記載されているこれらのデュアルプレフィックス付き WHITEPACT_* 相当の変数も読み込まれます。RAI_* 名は、引き続き常にサポートされる主要な形式です。
開発
git clone https://github.com/Guruprasath-Annadurai/Whitepact.git
cd Whitepact
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Full test suite
PYTHONPATH=src pytest tests/ -ra
# Enterprise SaaS Layer 1 (identity, RBAC, verified principal gate)
PYTHONPATH=src pytest tests/test_enterprise_saas_layer1.py tests/test_enterprise_saas_layer1_pg.py -ra
# Dashboard tests only
RAI_DB_PATH=:memory: RAI_AUTH_ENABLED=false pytest tests/test_dashboard_api.py
# Webhook persistence tests
pytest tests/test_webhook_persistence.py
# MCP server tests
pytest tests/test_mcp_server.py
# Lint + type check
ruff check src/ tests/
mypy src/responsibleai src/biasbuster
ロードマップ
正式な NOW/NEXT/LATER 計画については、ROADMAP.md を参照してください。以下のリストは、参考用に残されている、バージョンごとの変更履歴の概要です。
- v0.1 — BiasBuster:性別プローブ、4 つのプロバイダー、CLI、CI 統合
- v0.2 — 人種/年齢/宗教/職業に関するプローブ、HTML レポーター、PrivacyLabel フェデレーテッド DP
- v0.3 — 文化的バイアス、交差性分析、DeepfakeDetector アンサンブル
- v0.4 — コストインテリジェンス(CostTracker、ModelRouter、16 モデルの価格設定)、信頼ドリフトモニター
- v0.5 — ガバナンスダッシュボード(FastAPI)、信頼スコア、AI パスポート、ガードレール、ハルシネーション、コンプライアンス、レッドチーム、CI/CD、Docker、SLA
- v0.6 — 非同期 PostgreSQL(SQLAlchemy)、Redis レート制限、OpenTelemetry APM、LLM 統合テスト
- v1.0 — WebSocket ドリフトアラート、Prometheus エンドポイント、マルチテナント RBAC、組織管理 API
- v1.1 — MCP サーバー(10 個のツール、5 個のリソース)、監査ログ API、レッドチーム API、課金 API、Alembic マイグレーション、組織ごとのレート制限、DB 永続化された Webhook 再試行キュー
- v1.2 — 公開リーダーボード、信頼インデックス/パスポート+埋め込み可能なバッジ、AI インシデントデータベース、TOTP MFA、拡張フィールド暗号化、DB 永続化された Webhook、ダッシュボード UI の全面再構築、ホワイトラベルのブランディング、実際に稼働するホスト型インスタンス — 全項目については
CHANGELOG.mdを参照してください - WhitePact への移行(
1.2.0→1.2.2)— ガバナンス意思決定コア、MCP Streamable HTTP+OAuth/OIDC、リスクティアリング+ポリシーエンジン、ハッシュチェーン型の証跡、承認ワークフロー、複数承認者の定足数+委任チェーン、上流 MCP ツールの検出、MCP 信頼/サプライチェーンスキャナー、HA Helm デプロイ、サプライチェーンセキュリティ(SBOM/来歴)、リリースエンジニアリング、オープンソースガバナンス、公式 MCP Registry および Smithery への掲載 — フェーズごとの全記録と未完了項目についてはMIGRATION_WHITEPACT_V2.mdを参照してください - v2.0 以降 — v6.0 までのフェーズごとの計画については
VERSION_ROADMAP.mdを参照してください - 戦略的方向性 —
GAME_CHANGER_STRATEGY.mdでは、エンタープライズ SaaS 路線の代替案として、インフラ優先の方針(無料の公開信頼レジストリ、エージェントネイティブな信頼確認プリミティブ、AI 回答エンジンでの引用可能性)を示しています。GAME_CHANGER_BUILD_PLAN.mdでは、それを現在のコードベースに対する具体的なエンジニアリングフェーズに分解しています
セキュリティとオープンソースの保証
公式の OpenSSF/OSPS BadgeApp project には、現在 OpenSSF Best Practices Silver と OSPS Baseline Level 1 が記録されています。
これらは任意のプロジェクト証拠であり、独立した監査、侵入テスト、SOC 2、ISO 認証ではありません。現在の技術的な境界と主張の範囲は
WHITEPACT_TRUST_STATUS.md と
PUBLIC_TRUST_CLAIMS.md で管理されています。
リリースの利用者は、署名付きタグの証拠、
リリースプロセス、セキュリティポリシー、
SLSA の証拠の範囲、および
利用者向け検証ガイドを確認できます。再利用可能な信頼できるビルダーの
パイプラインは main にあります。リリース v1.2.6 ではこのプロセスが完了しました。wheel と sdist が
再現され、ハッシュ化され、証明書が付与され、公開ジョブで独立して検証され、再ビルドせずに PyPI に
公開され、PyPI 上のものとハッシュが一致し、CycloneDX SBOM とともに GitHub Release に添付されました。
利用者による独立した検証は 2026-08-31 に再実施されました。このリリース固有の証拠は、SLSA v1.2 Build L3 を
満たすものと評価されています。SLSA は適合性フレームワークであり、認証でも、成果物の安全性を
保証するものでもありません。
さらに詳しく
SPEC.md— 現在のアーキテクチャ契約MACHINE_AUTHORITY_PROBLEM.md— v3 の権限レイヤーに関する取り組みが解決する課題MACHINE_AUTHORITY_V1.md— 8 つの中核となるマシン権限の不変条件(委任グラフ、自律性予算、メモリファイアウォール、証拠バンドルなど)の一覧ENFORCEMENT_BOUNDARY.md— 各不変条件の権限が及ぶ範囲の詳細:インラインでの強制適用か、自主的なチョークポイントかLEGACY_TO_MACHINE_AUTHORITY_MAP.md— 従来のアクセス制御を利用している読者向けに、RBAC/OAuth/IAM の概念を WhitePact における対応概念にマッピングMIGRATION_WHITEPACT_V2.md— フェーズごとの移行記録。完了した作業と、明示的に未対応の作業DEFINITION_OF_DONE.md— 完了報告:現時点で実現していること、していないこと、および検証可能な内容SECURITY_THREAT_MODEL.md— 現在のセキュリティ脅威と攻撃対象領域のモデルDETERMINISTIC_VS_PROBABILISTIC.md— ガバナンス上の判断が決定論的である理由SLA.md、ENTERPRISE_SECURITY.md、SECURITY.md— エンタープライズ/セキュリティの方針を率直に説明compliance/SOC2_ALTERNATIVE_PATH.md— 現時点で利用できる、実際に無料で独立検証可能な信頼のシグナルと、SOC 2 の予算が確保できた際に実際の SOC 2 を取得するための率直な道筋docs/ACCESSIBILITY.md、docs/INTERNATIONALIZATION.md— WCAG2AA に準拠するアクセシビリティへの取り組みと、ダッシュボードの i18n アーキテクチャ。どちらにも実際に機能する自動 CI ゲートがありますcompliance/PROJECT_CONTINUITY_PLAN.md— 創業者が対応できなくなった場合に、二人目が必要とするアクセス/復旧チェックリスト。バス係数の冗長性を証明するものではなく、計画として率直に記載しています(二人目は現時点でこのアクセス権を保持していません)
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。