mcpField
W
WhitePact

WhitePact

リモート
github.comセキュリティ22 週間前に更新
リポジトリ公式サイト

WhitePact について

WhitePactは、モデルや自律型エージェントを監督するチーム向けのAIガバナンスプラットフォームです。MCPサーバーでは、決定論的なアクション判定、承認ワークフロー、改ざん検知可能な証跡とともにガバナンスチェックを提供します。

主な機能

  1. 015種類のランタイムガバナンス判定
  2. 02信頼スコアとコンプライアンス評価
  3. 03PII・バイアス・ハルシネーション検出
  4. 04ドリフト監視とコスト追跡
  5. 05承認ワークフローとハッシュチェーン証跡

活用シーン

  1. 01ポリシーに基づくエージェントのツール呼び出し制御
  2. 02AI規制へのモデル適合性確認
  3. 03信頼度の変化とモデル支出の追跡
  4. 04監査証跡を使ったガバナンス判定の確認

MCP 対応

MCPサーバーはstdio、Streamable HTTP、旧式のHTTP+SSEで、ガバナンスツールとリソースをMCPクライアントに提供します。信頼スコア、ガードレール、コンプライアンス、バイアス評価、ドリフト検出、コスト追跡、監査証跡に対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://whitepact-mcp-http.onrender.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://whitepact-mcp-http.onrender.com/mcp認証が必要
SSEhttps://whitepact-mcp-http.onrender.com/sse認証が必要
パッケージ
pypirai-governance-platform1.2.2

ツール

詳細

CI PyPI バージョン Python 3.11+ ライセンス:MIT 公式 MCP Registry に掲載 Smithery に掲載 OpenSSF Scorecard OpenSSF ベストプラクティス OpenSSF ベースライン

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 を呼び出しません
このモデルは信頼できますか?TrustScoreEngine0~100 のスコア、A~F のグレード、リスクレベル
規制に準拠していますか?ComplianceEngineNIST AI RMF、EU AI Act のリスク区分、ISO 42001
PII を漏えいしていますか?GuardrailsEngine監査ログ付きのブロック/マスキング
ハルシネーションを起こしていますか?HallucinationDetectorリスクスコア、裏付けのない主張
攻撃を受ける可能性はありますか?RedTeamSimulator10 種類の攻撃ベクトル、CVE ID、安全な拒否の割合
コストはいくらですか?CostTracker + ModelRouterモデルごとの USD、実行可能な最安モデルへのルーティング
時間とともに悪化していますか?TrustDriftMonitor7 日/30 日の傾向、重大度アラート
バイアスはありますか?BiasBuster6 種類の人口統計プローブ、CI ゲート
このデータにはプライバシー保護ラベルが付いていますか?PrivacyLabelデバイスの外部に出ない連合 DP ラベル
このメディアは本物ですか?DeepfakeDetectorアンサンブルの信頼度、検出された手法
接続する前に、サードパーティの MCP サーバーを信頼できるか確認できますか?SupplyChainScannerVERIFIED_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 Serverstdio、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_score6 つのガバナンス領域にわたる複合 AI 信頼スコア(0~100)
rai_complianceNIST AI RMF/EU AI Act/ISO 42001 のコンプライアンス評価
rai_hallucination曖昧な表現、一貫性、裏付けのない主張に基づくハルシネーションリスク
rai_cost_estimateトークン数からモデル API 呼び出しの USD コストを見積もります
rai_redteam_payloads敵対的攻撃のペイロード(プロンプトインジェクション、ジェイルブレイクなど)
rai_redteam_analyzeレッドチームのペイロードに対するモデルの応答からセキュリティレポートを作成します
rai_compare_models6 つすべての信頼性領域で 2 つのモデルを比較します
rai_audit_summaryガバナンス機能の概要(ツール、フレームワーク、攻撃ベクトル)
rai_healthガバナンスエンジンのステータスとモジュールの利用可否
rai_bias_evaluate6 つのプローブ領域で、信頼区間とともに人口統計学的バイアスを評価します
rai_drift_checkベースラインと現在の評価の間で信頼スコアのドリフトを確認します
rai_passport_generateベンダーリスク評価用の、検証可能で改ざんの痕跡がわかる AI パスポート
rai_budget_check支出と予算、チーム/モデル別の内訳、月末の予測
rai_policy_checkガバナンスポリシー(ブロックリスト、免責事項など)に照らしてテキスト/応答を確認します
rai_stream_scanストリーミング LLM 出力のチャンクに含まれる PII/有害なコンテンツをスキャンします
rai_benchmarktruthfulqa/bbq/hellaswag のスイートに照らして応答をスコアリングします
rai_benchmark_promptsベンチマークスイート用の質問セット
rai_model_routeコストと品質のトレードオフを考慮し、タスクに対応できる最も安価なモデルを提示します
rai_pii_reportカテゴリ別の PII 監査レポートと、GDPR/CCPA に基づく修正ガイダンス
rai_incident_log監査/SIEM 用の構造化されたガバナンスインシデント記録
rai_eu_ai_act_classifyEU AI Act のリスク分類とコンプライアンスロードマップ
rai_iso42001_gapISO/IEC 42001:2023 AI マネジメントシステムのギャップ分析
rai_executive_summaryRAG ステータスインジケーター付きの、取締役会向けガバナンス概要
rai_org_statusモデル、グレード、コンプライアンス、リスクに関するガバナンスステータスのスナップショット
rai_webhook_statusWebhook 配信の健全性、障害分析、修正措置
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/frameworksNIST AI RMF、EU AI Act、ISO 42001
レッドチームのカテゴリwhitepact://redteam/categories敵対的攻撃のカテゴリ
信頼性の次元whitepact://trust/dimensionsTrust Score を構成する 6 つの次元
バイアスプローブカタログwhitepact://bias/probes利用可能なバイアスプローブとスコアの解釈
ガバナンスポリシーテンプレートwhitepact://governance/policyrai_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/enrollAPI キーを TOTP MFA に登録
POST/api/orgs/{org_id}/keys/{key_id}/mfa/verifyTOTP コード/バックアップコードを検証
GET/POST/api/governance/evidenceハッシュチェーンで連結されたガバナンス証拠レコードを読み取り/書き込み
GET/POST/api/governance/approvalsREQUIRE_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)
WebhookDBに永続化される再試行キューを備えた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_PATHgovernance.dbSQLite のパス
RAI_DB_URL(未設定 = SQLite)SQLAlchemy の完全な URL — RAI_DB_PATH より優先されます
RAI_DATABASE_URL(未設定)RAI_DB_URL のエイリアス
RAI_API_KEYS(空 = 認証オフ)カンマ区切りのベアラートークン
RAI_AUTH_ENABLEDtrue認証の強制を切り替えます
RAI_REDIS_URL(未設定 = インメモリ)分散レート制限用の Redis URL
RAI_RATE_LIMIT_DEFAULT100/minute組織ごとのレート制限(ベアラートークンをキーに使用)
RAI_OTEL_ENDPOINT(未設定 = 無効)OTLP HTTP エンドポイント
RAI_OTEL_SERVICE_NAMEresponsibleaiトレース用のサービス名
RAI_ALERT_THRESHOLD5.0ドリフトアラートをトリガーする信頼スコアの低下値
RAI_MONTHLY_BUDGET_USD10000.0月間 AI 支出の上限
RAI_LOG_LEVELINFOログレベル
RAI_LOG_JSONtrue構造化 JSON ログ
RAI_HOST127.0.0.1バインドアドレス
RAI_PORT8765ポート

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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。