mcpField
F
Faultline

Faultline

リモート
faultline.nxtg.aiAI・エージェント13 日前に更新
リポジトリ公式サイト

Faultline について

Faultline は、AI 生成テキストを個々の事実主張に分解し、証拠に照らして検証するサービスです。AI 出力を評価するチーム向けで、CLI と API のほか、CI ビルドの判定にも対応します。

主な機能

  1. 01原子的な主張の抽出と分類
  2. 02証拠と信頼度スコアによる主張の検証
  3. 03スキャンの比較と判定変更の追跡
  4. 04リスクやレポート条件に基づく CI ビルドの制御
  5. 05JSON、Markdown、HTML、SARIF 形式のレポート出力
  6. 06YAML ルールとコンプライアンステンプレートの適用

活用シーン

  1. 01AI 生成レポートの事実主張の確認
  2. 02リスクがしきい値を超えた場合の CI 失敗
  3. 032 回のスキャン間の変更確認
  4. 04文書群へのポリシーチェックの適用

MCP 対応

プロジェクトには MCP サーバーが含まれます。FAULTLINE_API_KEY を設定すると、ホスト API を介し、サーバー側のプロバイダーキーでスキャンを実行します。

設定

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

エンドポイントhttps://faultline-api.fly.dev/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://faultline-api.fly.dev/mcp認証が必要

ツール

詳細

Faultline — AI の出力の根拠を確認します。

エージェントスタックを将来にわたって使えるものにしましょう。すべてのモデルベンダーから独立しています。NXTG.ai は、Faultline がチェックするモデルを開発していません。

Faultline は AI が生成した出力を個々の主張に分解し、それぞれを最新の証拠に照らして検証します。また、その結果に基づいて CI ビルドを失敗させることもできます。

リリース段階:アルファ CI npm テスト TypeScript ライセンス

リリース段階:アルファ。 現在ご利用いただけますが、まだ不安定な部分があります。精度の数値は公表していません。判定精度は、独立した再評価をまだ受けていません。バージョン 1.0 までに、あらゆる点が変更される可能性があります。

API が生成するガバナンス記録

ホスト型 API は、コードとして 3 種類のガバナンス記録を提供します。リスク登録簿のエクスポート(POST /scan/risk-register)、改ざんを検知できる監査ログのマニフェスト(GET /audit/log/manifest、管理者キーのみ)、および人間による承認記録(POST /scans/:id/approve、GET /scans/:id/approvals)です。マニフェストでは、各チェーンハッシュは、エントリーハッシュと直前のチェーンハッシュを連結した値の SHA-256 です。Faultline のツールを使わず、openssl dgst -sha256 だけでチェーンを再計算できます。


現在のステータス(2026-10-01 確認)

項目状態確認方法
npm の CLI@nxtg/faultline 0.11.1npm view @nxtg/faultline version
ホスト型 APIhttps://faultline-api.fly.dev、バージョン 0.11.1curl https://faultline-api.fly.dev/health
Web アプリhttps://faultline.nxtg.ai(別リポジトリの faultline-web、Vercel 上で稼働)2026-10-01 にライブの料金ページを確認
プランFree:月 5 回のスキャン。Personal:月額 $19、100 回のスキャン。Pro:月額 $49、500 回のスキャン。Enterprise:カスタム、スキャン上限は契約で設定https://faultline.nxtg.ai/pricing
複数モデルのコンセンサスEnterprise のみ。 Enterprise 未満のプランの呼び出し元には、ストリームが開く前に API が 403 consensus_not_in_plan を返しますpackages/api/src/plugins/consensus-entitlement.ts;fp によるライブ確認、2026-10-01(pro、personal、free は 403、enterprise は 200、モックプロバイダー)
POST /critiqueAPI キーが必要です。レート制限があります。プロバイダー支出上限の対象で、支出台帳に記録されますpackages/api/src/routes/critique.ts
プロバイダー支出上限月額 $100。台帳には、管理対象のすべてのスキャンと批評が記録されます。適用機能は無効の状態でリリースされています(FAULTLINE_PROVIDER_SPEND_CAP=on で有効化)。本番環境では無効ですdocs/provider-spend-cap.md;2026-10-01 に GET /usage で providerBudget.enforced=false を確認
API 側のキーごとの月間スキャン上限無効(FAULTLINE_USAGE_CAP)。上記のプラン制限は faultline-web によって適用されますdocs/usage-cap.md

機能

機能説明
アトミックな主張の抽出AI の出力を、重要度スコアリングを行いながら事実/意見/解釈に分解します
主張ごとの検証判定:裏付けあり/矛盾あり/混在/未検証 + 信頼度スコア
スキャンの比較POST /scan/compare + faultline compare — 新規/削除された主張、判定の変化、信頼スコアの差分
CI ゲートfaultline compliance-report --ci は、スキャン全体のリスクが高または重大である場合、レポート内の記事チェックに失敗した場合、レポートのドメインチェックリスト項目が合格していない場合、またはレポートスコアが --threshold を下回る場合に終了コード 1 を返します。--strict を指定すると、一部のみ満たされた記事チェックと、未評価のチェックリスト項目でも失敗します。それ以外の場合は終了コード 0 を返します
最も脆弱な箇所の検出主張ごとの脆弱性スコアリングにより、論旨を最も損なう主張を特定します
主張の依存関係グラフMermaid および Graphviz DOT による可視化
ルールエンジンYAML で定義するルール。PII、バイアス、毒性に関する組み込みルールセット
CI ゲート--fail-on high は終了コード 1 を返します。GitHub Code Scanning 向けに SARIF を出力します
エンタープライズ APIキー管理、監査証跡、レート制限、ウェブフック、一括スキャン、キャッシュを備えた REST API(約 190 ルート)
プロバイダーのフェイルオーバーGemini → OpenAI → Claude → Perplexity の順に自動切り替え。5 分のクールダウンを備えたサーキットブレーカー
モニタリングGET /health/deep、GET /metrics(Prometheus)、GET /status(HTML ダッシュボード)
スケジュール済みジョブPOST /jobs — cron スケジュールに基づく定期スキャンとウェブフック配信
インテグレーションsdks/python の Python クライアントソース、MCP サーバー packages/mcp、Terraform プロバイダー packages/terraform-provider、GitHub Action nxtg-ai/faultline-action(SDK とインテグレーションを参照)
マルチテナントテナントの CRUD、API キーの関連付け、テナントごとの使用状況の集計
コスト追跡スキャンごとのトークン数/コストの推定。プロバイダー/テナント/日付で絞り込める GET /costs
スキャン履歴GET /scans/search — API キーに紐付く過去のスキャンを全文検索(管理者キーの場合はすべて)。カーソルページネーション
ルールテンプレート(HIPAA、SOX、FERPA、Gov)HIPAA/SOX/FERPA/Gov のテンプレート。POST /scan/compliance/:template
一括インポートPOST /scan/bulk — ドキュメントの ZIP、非同期ジョブ、GET /jobs/:id/progress
Swagger UIGET /docs — すべてのエンドポイントで「試してみる」を利用できる、対話型の OpenAPI 3.0 仕様
主張の説明可能性GET /claims/:id/explain — 推論チェーン、見つかった証拠、実行可能な提案
スキャン差分POST /scan/diff — 2 つのテキストをスキャンし、インライン差分を表示(追加/削除/変更/変更なし)
期限一覧GET /compliance/deadlines — 今後の規制上の日付と、それぞれの日付までの日数の一覧。評価は行いません
期限キーワードチェックPOST /compliance/scan-check — 主張のテキストを、該当する日付に関連付けられたキーワードと照合します
i18nAccept-Language: es/fr/en — ローカライズされたエラーメッセージとレポートのラベル(EN/ES/FR)
プロパティベーステストfast-check によるオラクルカバレッジ:信頼度の境界値、重複排除の不変条件、コスト集計、ソートの安定性
GDPR データリクエスト(第 15 条のエクスポート、第 17 条の消去)第 15 条のエクスポート(GET /tenants/:id/export → ZIP)と第 17 条の消去(DELETE /tenants/:id/data)。スキャン履歴、監査ログ、通知、ウェブフック、コスト、スケジュールが対象です
マルチモデル合意pipelineConfig.consensus: true を指定した POST /scan/stream。エンタープライズ限定で、エンタープライズ未満ではサーバー側で拒否されます(403)
主張の批評POST /critique:失敗した主張への批評と改善されたプロンプト。API キー、レート制限、プロバイダーへの支出上限が適用されます
リアルタイムのスキャンストリーミングGET /scan/stream?text=...&provider=mock — Server-Sent Events。onClaimVerified コールバックによる主張ごとの段階的な配信。start → claim_verified × N → complete をストリーミングします。ポーリングは不要です
ミューテーションテスト済みのコアStryker ゲート(CRUCIBLE Gate 6、しきい値 80%):cli/scan.ts 81.97%、stream.ts 88.64%、compliance-report.ts 80.81%、GDPR ストア 80.94%~96.81%。docs/mutation-testing.md によると、最終測定期間は 2026-03-21~2026-04-17 で、それ以降は再実行されていません

機能

プロバイダー
プロバイダー必要なもの最適な用途
GeminiGEMINI_API_KEYウェブ情報に基づくリアルタイムの検証(無料のキーを利用できます)
PerplexityPERPLEXITY_API_KEYリアルタイム検索を活用した検証
OpenAIOPENAI_API_KEY学習データの検証、GPT エコシステム
ClaudeANTHROPIC_API_KEY学習データの検証、推論を多用するドキュメント
MockなしCI パイプライン、ユニットテスト、オフライン開発。合成判定を返すだけで、何も検証しません。CLI が暗黙的にこのプロバイダーへフォールバックすることはありません

--provider <name> でプロバイダーを切り替えられます。コードの変更は不要です。プロバイダーのキーも FAULTLINE_API_KEY も設定されていない場合、CLI は何も確認していないことを通知して終了し、判定を捏造しません(v0.10.1 以降)。FAULTLINE_API_KEY が設定されている場合、guard と MCP サーバーはホスト型 API 上で、サーバー側のプロバイダーキーを使ってスキャンを実行します。

ドキュメントの取り込み
  • PDF と画像のアップロード(OCR 対応) — faultline scan --file document.pdf または POST /scan/upload。pdf-parse と tesseract.js を使用します
  • テキストファイル — --input doc.txt
  • ディレクトリ — --dir ./docs --glob "*.md"
レポートとルール
  • スキャンレポート(PDF) — POST /scan/report から生成できます
  • ルールエンジン — YAML で定義したルール:PII の検出、バイアスの指標、有害性のフラグ、カスタムルール
出力形式
  • json — プログラムによる処理、CI パイプライン
  • markdown — PR、レポート、ドキュメント
  • html — ブラウザーで閲覧できる監査レポート
  • sarif — VS Code の「問題」パネル、GitHub Code Scanning(--sarif の省略形を指定すると results.sarif に書き込みます)
エンタープライズ API
  • API キー管理 — POST /keys、GET /keys、GET /keys/:id、PATCH /keys/:id、DELETE /keys/:id によるライフサイクル全体の管理。一時的な無効化/有効化、スコープ付き権限(scan / report / upload / admin / pro)
  • キーの衛生管理 — 非アクティブなキーの検出(GET /keys/dormant)、有効期限の通知(7日/1日のしきい値)、一括削除/無効化/有効化、使用状況分析(GET /keys/usage)、衛生管理ダッシュボード(GET /keys/usage/view)
  • 監査証跡 — すべてのリクエストについて、入力の SHA-256 ハッシュを記録。GET /audit/log(クエリ+フィルター)、GET /audit/log/stats、GET /audit/log/export(NDJSON)。テナント単位の表示
  • 使用量計測:GET /usage による、キーごとの日次スキャン数と月間クォータの状況(admin キーではプロバイダー支出予算も表示)
  • レート制限 — ティアごとの分あたりの上限:free は 10/min、pro は 100/min、admin は 10,000/min。X-RateLimit-* ヘッダー
  • 支出とクォータのゲート:キーごとの月間スキャンクォータ(402)と、プロバイダー支出の全体上限(503)。どちらも有効化するまでは休止状態です。支出台帳には、管理対象の各スキャンと /critique の呼び出しが、どちらの場合も記録されます
  • マルチテナント — テナントの CRUD(POST /tenants)。スキャン履歴、通知、Webhook、監査ログなど、すべてのリソースをテナントごとに管理。GET /tenants/:id/usage
  • コスト追跡 — プロバイダーの料金に基づくスキャンごとのトークン数/コストの推定。GET /costs(keyId/プロバイダー/日付によるフィルター+集計)
  • 使用状況ダッシュボード — GET /dashboard:リアルタイムのスキャンフィード、プロバイダーの健全性、アクティブなキー、スキャン数(今日/今週/今月)、リスクの分布
  • Webhook — POST /webhooks。scan.complete/scan.failed/job.complete イベント。HMAC-SHA256 署名。Webhook ごとの再試行設定(maxAttempts 1–5、retryDelayMs)、レート制限(FAULTLINE_WEBHOOK_RATE_LIMIT)、サーキットブレーカー(FAULTLINE_WEBHOOK_CIRCUIT_THRESHOLD/COOLDOWN_MS)、配信ログ+ダッシュボード
  • バッチスキャン — POST /scan/batch(1〜10 件のテキストを並行処理。部分的な失敗を許容するセマンティクス)。docs/ci-integration.md を参照してください
  • スキャン比較 — POST /scan/compare:2 つのスキャン結果の差分(新規/削除された主張、判定の変更、信頼スコアの差)を表示
  • キャッシュ — SHA-256 コンテンツハッシュキャッシュ。TTL は 24 時間(環境変数 FAULTLINE_CACHE_TTL_MS)。X-Cache: HIT/MISS ヘッダー。GET /cache/stats、DELETE /cache
  • スケジュール済みジョブ — POST /jobs:*/N * * * * の cron スケジュールによる定期スキャン。結果は webhookUrl に送信
  • プロバイダーのフェイルオーバー — Gemini → OpenAI → Claude → Perplexity → Mock の順に自動切り替え。5 回失敗するとサーキットブレーカーが作動し、5 分後にリセット。すべてのプロバイダーが停止している場合は 503
  • スキャン履歴 — API キーごとに非公開(admin キーではすべて表示)。GET /scans/search?q= による全文検索。古いスキャンの検出(GET /scans/stale)、使用状況分析(GET /scans/usage)、一括削除(DELETE /scans/stale)、衛生管理ダッシュボード、faultline scans CLI
  • ルールテンプレート(HIPAA、SOX、FERPA、Gov) — HIPAA/SOX+FINRA/FERPA/Government。POST /scan/compliance/:template。カスタムテンプレートのアップロード
  • 一括インポート — POST /scan/bulk(ドキュメントを ZIP でアップロード → 非同期ジョブ)。GET /jobs/:id/progress(進捗率+ファイルごとのステータス+概要)
  • モニタリング — GET /health/deep(サブシステムのステータス+プロバイダー設定フラグ)、GET /metrics(Prometheus テキスト形式)、GET /status(HTML)
  • Swagger UI — GET /docs(対話型 OpenAPI 3.0)、GET /docs/json、GET /docs/yaml
  • 主張の検索 — GET /claims?text=&verdict=&from=&to=&source= による主張の全文インデックス検索
  • GDPR データリクエスト(第 15 条に基づくエクスポート、第 17 条に基づく消去) — GET /tenants/:id/export(第 15 条、admin のみ):マニフェスト、スキャン履歴、監査ログ(NDJSON)、通知、Webhook、使用状況、コスト、スケジュールを含む ZIP アーカイブ。DELETE /tenants/:id/data(第 17 条、admin のみ):テナントの 8 つのデータカテゴリに含まれるすべての個人識別情報(PII)を消去。冪等。テナントレコードは保持
  • i18n — ローカライズされたエラーメッセージを使用するには、Accept-Language: es または Accept-Language: fr を送信します。デフォルトは英語です

クイックスタート(CLI)

ステップ 1: 無料の Gemini キーを取得します(クレジットカード不要):aistudio.google.com/apikey

ステップ 2:

export GEMINI_API_KEY="your-key"
npx @nxtg/faultline scan --input your-ai-output.txt --provider gemini

想定される出力(抜粋):

Provider:     Google Gemini
Overall Risk: HIGH

--- Claim Verifications ---
  [OK] c1: supported     — Confirmed by census data. (confidence: 0.82)
  [!!] c2: contradicted  — Audit found significant bias. (confidence: 0.91)
  [??] c3: mixed         — Evidence varies by region. (confidence: 0.63)

その他のプロバイダー:

export ANTHROPIC_API_KEY="..."
npx @nxtg/faultline scan --input doc.txt --provider claude

export OPENAI_API_KEY="..."
npx @nxtg/faultline scan --input doc.txt --provider openai

export PERPLEXITY_API_KEY="..."
npx @nxtg/faultline scan --input doc.txt --provider perplexity

PDF または画像をスキャンする:

npx @nxtg/faultline scan --file report.pdf --provider gemini
npx @nxtg/faultline scan --file screenshot.png --provider gemini

パイプで渡されたエージェントの出力を確認する:

claude -p "..." | npx @nxtg/faultline guard --fail-on refuted

CI ゲート(API キー不要、合成判定、配線テストのみ):

npx @nxtg/faultline scan --input doc.txt --provider mock --fail-on high
# exit 0 = pass, exit 1 = HIGH or CRITICAL findings found
# --provider mock verifies nothing; use a real provider for a real gate

API クイックスタート

サーバーを起動します:

cd packages/api
FAULTLINE_API_KEY=your-key npm run dev
# Server listening on http://localhost:3010

テキストペイロードをスキャンします:

curl -X POST http://localhost:3010/scan \
  -H "x-api-key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"text": "GPT-4 has 1 trillion parameters.", "provider": "mock"}'

OCR スキャン用に PDF または画像をアップロードします:

curl -X POST http://localhost:3010/scan/upload \
  -H "x-api-key: your-key" \
  -F "[email protected]"

スキャンの PDF レポートを生成します:

curl -X POST http://localhost:3010/scan/report \
  -H "x-api-key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"text": "AI system processes medical records.", "provider": "mock"}' \
  --output scan-report.pdf

API キーを作成します:

curl -X POST http://localhost:3010/keys \
  -H "x-api-key: your-admin-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "ci-pipeline", "tier": "pro", "permissions": ["scan", "report"]}'

Webhook を登録します:

curl -X POST http://localhost:3010/webhooks \
  -H "x-api-key: your-admin-key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-service.example.com/hooks/faultline", "events": ["scan.complete"]}'

使用状況ダッシュボードを表示します:

curl http://localhost:3010/dashboard -H "x-api-key: your-key"

ホスト型 API:https://faultline-api.fly.dev(GET /health にキーは不要です)。実行中のサーバーで GET /docs にアクセスすると、インタラクティブなドキュメントを確認できます。

コンセンサスゲートを確認します(API キーが必要です。モックプロバイダーは費用がかかりません):

curl -X POST http://localhost:3010/scan/stream \
  -H "x-api-key: your-key" -H "Content-Type: application/json" \
  -d '{"text": "x", "provider": "mock", "pipelineConfig": {"consensus": true}}'
# below Enterprise: 403 {"error":"consensus_not_in_plan", ...}

ルートのリファレンス:packages/api/README.md。packages/api/docs/openapi.yaml の仕様はバージョン 0.7.0 を宣言し、48 個のパスを含んでいるため、現在のルートの一部のみをカバーしています。


アーキテクチャ

Input: AI-generated text / PDF / image
  │
  ▼ Extract
  Atomic claims (fact / opinion / interpretation, importance 1–5)
  │
  ▼ Verify
  Per-claim verdict (supported / contradicted / mixed / unverified)
  Confidence score (0.0–1.0)
  │
  ▼ Synthesize
  Weakest-link detection — which claim collapses the argument?
  Claim dependency graph — how do failures propagate?
  │
  ▼ Refine
  Critique of failed claims + improved prompt generation

モノレポの構成:

packages/
├── cli/                  # @nxtg/faultline (npm 0.11.1): CLI + scan engine
│   ├── cli/              # Commands: scan, guard, report, watch, critique, graph, weakest, compare…
│   ├── providers/        # Gemini, Claude, OpenAI, Perplexity, Mock adapters
│   ├── compliance/       # EU AI Act risk categories
│   ├── rules/            # Rule engine (PII, bias, shell injection…)
│   ├── analysis/         # Weakest-link scoring, claim graph
│   ├── history/          # Scan history store
│   ├── consensus/        # Multi-model consensus engine
│   └── templates/        # Red-team prompt template library
├── api/                  # @nxtg/faultline-api (not published to npm): Fastify v5 REST API, deployed on Fly
│   ├── src/routes/       # /scan, /scan/stream, /critique, /keys, /usage, /jobs…
│   ├── src/store/        # KeyStore, AuditLogger, CircuitBreaker, ScanCache, provider-spend ledger…
│   ├── src/plugins/      # Auth, rate limit, usage cap, provider-spend cap, consensus entitlement
│   └── docs/             # openapi.yaml (partial, version 0.7.0)
├── mcp/                  # @nxtg/faultline-mcp 0.12.1: MCP server (not on npm as of 2026-10-01)
├── terraform-provider/   # Go Terraform provider
└── web/                  # @nxtg/faultline-web: original React/Vite visualization app (Kaggle origin)
sdks/
└── python/               # Python client source (pyproject name faultline-sdk 0.5.0; not confirmed on PyPI, see SDKs)

https://faultline.nxtg.ai の本番 Web アプリは別のリポジトリ(faultline-web、Vercel 上の Next.js)にあります。このモノレポには含まれていません。

ストア(API レイヤー):

ストア役割
KeyStoreAPI キーの CRUD、権限のスコープ設定
AuditLoggerSHA-256 リクエストハッシュ、追記専用ログ
UsageMeterキーごとの日次スキャン数
ScanAnalyticsリスク分布の集計、傾向データ
RateLimiterティアごとの分単位の制限
WebhookStoreエンドポイント登録、HMAC シークレット管理
ScanCacheSHA-256 コンテンツハッシュキャッシュ、設定可能な TTL、ヒット率統計
CircuitBreakerプロバイダーごとの失敗カウント、クールダウン管理
JobStore + JobScheduler定期スキャンジョブの CRUD、cron ベースのバックグラウンド実行
TenantStoreテナントの CRUD、API キーとテナントの関連付け
CostStoreスキャンごとのトークン/コスト記録、プロバイダー料金テーブル、集計クエリ
ProviderSpend(store/provider-spend.ts)月額 100 ドルのプロバイダー支出上限を管理する追記専用の USD 台帳と月次集計
ScanHistoryStore直近 1000 件のスキャン(新しい順)、全文検索とフィルター検索、カーソルページネーション
ComplianceTemplateStoreHIPAA/SOX/FERPA/Gov テンプレートとカスタムテンプレートのレジストリ
BulkJobStore非同期 ZIP スキャンジョブ:進捗追跡、ファイルごとの結果、サマリーレポート

CLI コマンド

# Scan
faultline scan --input doc.txt --provider gemini
faultline scan --input doc.txt --provider claude --output-format markdown
faultline scan --input doc.txt --sarif                 # writes results.sarif
faultline scan --input doc.txt --fail-on high          # exit 1 if high/critical
faultline scan --file document.pdf                     # PDF/image via OCR
faultline scan --dir ./docs --glob "*.md"              # batch scan directory

# Compare two texts side-by-side
faultline compare --before "old-doc.txt" --after "new-doc.txt" --provider mock
faultline compare --before "old text" --after "new text" --output-format json

# Forensics
faultline weakest  --input doc.txt --provider gemini   # weakest-link claim
faultline graph    --input doc.txt --format mermaid    # claim dependency graph
faultline critique --input doc.txt --provider gemini   # critique + improved prompt

# Agent output
claude -p "..." | faultline guard --fail-on refuted    # verify piped text, gate on the verdict

# Red-team
faultline scan --templates injection,bias              # template library
faultline templates list --category injection

# History + trends
faultline history
faultline trend --file doc.txt

# Utilities
faultline stats                                      # npm download stats
faultline stats --costs --api-url http://localhost:3010 --api-key <key>
faultline rules                                        # list detection rules
faultline init                                         # generate .faultlinerc.json
faultline --version
faultline --help

SDK とインテグレーション

TypeScript / Node.js

このリポジトリには TypeScript SDK パッケージはなく、@nxtg/faultline-sdk は npm にありません(2026-10-01 の npm view は 404 を返しました)。REST API を直接呼び出すか、CLI(@nxtg/faultline)を使用してください。

const res = await fetch('https://faultline-api.fly.dev/scan', {
  method: 'POST',
  headers: { 'x-api-key': process.env.FAULTLINE_API_KEY!, 'Content-Type': 'application/json' },
  body: JSON.stringify({ text: 'GPT-4 has 1 trillion parameters.', provider: 'gemini' }),
});
const result = await res.json();
console.log(result.overallRisk); // 'low' | 'medium' | 'high' | 'critical'
Python

ソースは sdks/python にあります(pyproject 名は faultline-sdk、バージョンは 0.5.0、実行時依存関係はありません)。チェックアウトからインストールします:

pip install ./sdks/python

pip install faultline-sdk は実行しないでください。2026-10-01 時点で PyPI にあるその名前のプロジェクト(バージョン 0.24.0)は、別のプロジェクト(「Faultline Cloud」用の ML トレーニングチェックポイント)です。このパッケージが別の名前で PyPI に公開されたことがあるかどうかは確認されていません。

from faultline_sdk import FaultlineClient

client = FaultlineClient(api_key="your-key", base_url="http://localhost:3010")
result = client.scan("GPT-4 has 1 trillion parameters.")
print(result.overall_risk)  # 'low' | 'medium' | 'high' | 'critical'
MCP サーバー

packages/mcp(@nxtg/faultline-mcp 0.12.1)は、Claude Code、Cursor、その他の MCP クライアントに verify_claims ツールを公開します。2026-10-01 時点で npm には公開されていなかったため(npm view は 404 を返しました)、チェックアウトから実行してください。詳細は packages/mcp/README.md を参照してください。

インストール不要でホスト型を利用できます:デプロイ後、API は POST /mcp(Streamable HTTP、ヘッダー x-api-key)で同じツールを提供します。エンドポイントは https://faultline-api.fly.dev/mcp です。すべてのスキャンゲートが適用されます。docs/INTEGRATION.md §13 を参照してください。

GitHub Action

このアクションは独自のリポジトリ nxtg-ai/faultline-action にあります(タグ v1 が存在します)。

- uses: nxtg-ai/faultline-action@v1
  with:
    input: docs/release-notes.md
    fail-on: high
  env:
    GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}

CI 統合

以下については、docs/ci-integration.md をご覧ください。

  • GitHub Actions のワークフロー(実際のプロバイダーとモック)
  • GitLab CI の例
  • ステージング済みファイル用のプリコミットフック
  • CI ゲートロジックを使用した API ベースの一括スキャン
  • リスクレベルの参照表

GitHub Actions の簡単な例:

- name: Faultline Claim Audit
  env:
    GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
  run: |
    npx @nxtg/faultline scan \
      --input docs/release-notes.md \
      --provider gemini \
      --fail-on high \
      --output-format sarif > results.sarif

他との違い

Promptfoo はプロンプトをテストします。DeepEval は RAG パイプラインをスコアリングします。Faultline は、AI が実際に何を述べたかを監査します。

FaultlinePromptfooDeepEval
AI の出力を個別の主張に分解はいいいえいいえ
実際のエビデンスに照らして主張を検証はいいいえいいえ
主張ごとの信頼度キャリブレーションはいいいえいいえ
最も弱いリンクの検出はいいいえいいえ
主張の依存関係グラフはいいいえいいえ
スキャンの比較(2 つの出力の差分)はいいいえいいえ
FM に依存しない(Gemini / Claude / OpenAI / Perplexity)はいはいいいえ(Python)
プロバイダーの自動フェイルオーバー+サーキットブレーカーはいいいえいいえ
監査証跡+キャッシュ機能を備えたエンタープライズ APIはいいいえいいえ
Python クライアント+MCP サーバーはいいいえいいえ

テストと品質

各パッケージで npx vitest run を実行して測定(2026-10-01、すべて合格):

パッケージテストファイルテスト
packages/api1372,450
packages/cli832,371
packages/mcp349
packages/web139
ルートの npm test(上記すべて)2244,909
sdks/python(pytest)n/a100

ミューテーションスコアは上記の機能表に記載されており、2026-10-01 には再測定されていません。


NextGen AI が開発

コメント

MCP は初めてですか?

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

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