{
  "schemaVersion": 1,
  "generatedAt": "2026-07-28T00:00:00.000Z",
  "principles": [
    "未取得の認証・監査・SLAを取得済みとして表示しない",
    "製品仕様と公開説明を一致させる",
    "実測、代理値、Syntheticを明確に区別する",
    "顧客ごとの契約条件は公開一般論と混同しない",
    "セキュリティ質問へ回答できない項目を推測で埋めない"
  ],
  "controlGroups": [
    {
      "group": "認証・アクセス制御",
      "controls": [
        {
          "id": "iam-01",
          "title": "Organization／Brand境界",
          "status": "implemented",
          "summary": "APIとD1の双方でOrganizationとBrandの複合スコープを強制します。",
          "evidence": "製品アーキテクチャ・ルートポリシー"
        },
        {
          "id": "iam-02",
          "title": "現在権限の再確認",
          "status": "implemented",
          "summary": "APIキー発行時の権限ではなく、現在のMembership・Role・失効状態を操作ごとに確認します。",
          "evidence": "認可ポリシー・負のテスト"
        },
        {
          "id": "iam-03",
          "title": "部門別承認ロール",
          "status": "implemented",
          "summary": "アプリ管理権限と、マーケ・広報・法務・事業責任者の承認ロールを分離します。",
          "evidence": "承認ロール・職務分離"
        }
      ]
    },
    {
      "group": "データ保護・ライフサイクル",
      "controls": [
        {
          "id": "data-01",
          "title": "問い合わせデータの分離",
          "status": "implemented",
          "summary": "問い合わせはHubSpotへ直接送信し、マーケティングサイト独自のデータベースには保存しません。",
          "evidence": "HubSpot Forms送信契約・ブラウザーテスト"
        },
        {
          "id": "data-02",
          "title": "保持期限と削除",
          "status": "implemented",
          "summary": "保持期限、Legal Hold、削除予約、疑似匿名の削除証跡を分離して管理します。",
          "evidence": "Data Lifecycle設計"
        },
        {
          "id": "data-03",
          "title": "データ最小化",
          "status": "operational",
          "summary": "HubSpotへ送る項目を連絡先情報と相談内容に限定し、アクセス解析イベントへ個人情報を含めません。",
          "evidence": "HubSpot payload契約"
        }
      ]
    },
    {
      "group": "外部サービス・費用統制",
      "controls": [
        {
          "id": "provider-01",
          "title": "送信先固定",
          "status": "implemented",
          "summary": "DataForSEO等のProviderは許可済み宛先と操作へ限定し、任意URLへの送信を許可しません。",
          "evidence": "Egress policy"
        },
        {
          "id": "provider-02",
          "title": "費用予約と照合",
          "status": "implemented",
          "summary": "Provider呼び出し前に費用を予約し、実費と照合します。結果不明時は成功扱いにしません。",
          "evidence": "Provider budget boundary"
        },
        {
          "id": "provider-03",
          "title": "サブプロセッサー",
          "status": "contractual",
          "summary": "正式な利用サービス、処理目的、送信データ、所在地、削除条件を契約・審査時に開示します。",
          "evidence": "Subprocessor register"
        }
      ]
    },
    {
      "group": "監査・説明責任",
      "controls": [
        {
          "id": "audit-01",
          "title": "Evidence provenance",
          "status": "implemented",
          "summary": "回答本文、引用URL、モデル、言語、地域、取得方法、取得日時、費用を証拠へ関連付けます。",
          "evidence": "Observation provenance"
        },
        {
          "id": "audit-02",
          "title": "職務分離",
          "status": "implemented",
          "summary": "複数部門の承認が必要な課題では、同一担当者による兼任承認を拒否します。",
          "evidence": "Governance approval boundary"
        },
        {
          "id": "audit-03",
          "title": "改ざん検知",
          "status": "implemented",
          "summary": "承認・削除・復旧等の証跡へSHA-256またはHMACベースの検証値を付与します。",
          "evidence": "Audit receipts"
        }
      ]
    },
    {
      "group": "可用性・復旧",
      "controls": [
        {
          "id": "resilience-01",
          "title": "保守Lease",
          "status": "implemented",
          "summary": "定期保守はLease、Timeout、Critical／Non-critical分離で二重実行と停止を抑制します。",
          "evidence": "Maintenance orchestration"
        },
        {
          "id": "resilience-02",
          "title": "ローカル復旧訓練",
          "status": "implemented",
          "summary": "バックアップ、別環境への復元、スキーマ、外部キー、テナント境界を検証します。",
          "evidence": "Recovery receipt"
        },
        {
          "id": "resilience-03",
          "title": "Remote復旧",
          "status": "contractual",
          "summary": "RTO／RPO、製品データストア、Queue／DLQ、R2の復旧条件は契約・運用設計時に確定します。",
          "evidence": "BCP／運用Runbook"
        }
      ]
    },
    {
      "group": "セキュリティ運用",
      "controls": [
        {
          "id": "security-01",
          "title": "脆弱性対応",
          "status": "operational",
          "summary": "依存関係、静的配信境界、外向き送信先、秘密情報、セキュリティヘッダーをリリースゲートで確認します。",
          "evidence": "Validation report"
        },
        {
          "id": "security-02",
          "title": "インシデント対応",
          "status": "operational",
          "summary": "検知、封じ込め、影響確認、通知、再発防止、証拠保全をRunbook化します。",
          "evidence": "Incident response runbook"
        },
        {
          "id": "security-03",
          "title": "第三者認証",
          "status": "transparent",
          "summary": "未取得の認証や監査報告を取得済みとは表示しません。最新状況は商談・審査時に回答します。",
          "evidence": "公開上の非誇張方針"
        }
      ]
    }
  ],
  "publicClaims": [
    {
      "id": "evidence-first",
      "category": "証拠",
      "claim": "優先度や結論だけでなく、AI回答本文・引用URL・取得条件を課題へ関連付けます。",
      "status": "verified",
      "evidencePath": "/product/current-state/",
      "owner": "製品・ガバナンス",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "取得できる詳細はAI面と契約プランにより異なります。"
    },
    {
      "id": "observed-only-outcomes",
      "category": "効果測定",
      "claim": "施策効果の正本にはobservedデータだけを使用します。",
      "status": "methodology",
      "evidencePath": "/methodology/",
      "owner": "データ品質",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "Syntheticデータは開発・デモ用途として区別します。"
    },
    {
      "id": "fixed-cohort",
      "category": "効果測定",
      "claim": "BaselineとOutcomeは同じPrompt×EngineのCohortで比較します。",
      "status": "methodology",
      "evidencePath": "/product/outcomes/",
      "owner": "データ品質",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "サンプル不足時は成果判定を確定しません。"
    },
    {
      "id": "demand-proxy",
      "category": "需要",
      "claim": "DataForSEO等の検索需要はAIプロンプト実数ではなく、需要代理値として表示します。",
      "status": "methodology",
      "evidencePath": "/methodology/",
      "owner": "データ品質",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "検索需要とAI上の質問回数は別の概念です。"
    },
    {
      "id": "cross-functional-approval",
      "category": "承認",
      "claim": "課題種別に応じてマーケ・広報・法務・事業責任者の承認を管理します。",
      "status": "verified",
      "evidencePath": "/use-cases/approval-workflow/",
      "owner": "製品・ガバナンス",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "必要な承認ロールは導入時の運用設計で確定します。"
    },
    {
      "id": "separation-of-duties",
      "category": "承認",
      "claim": "複数部門承認では、同一担当者だけで完了させない職務分離を設計できます。",
      "status": "conditional",
      "evidencePath": "/use-cases/approval-workflow/",
      "owner": "製品・セキュリティ",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "実際の適用は組織の承認者設定と契約プランに依存します。"
    },
    {
      "id": "tenant-brand-scope",
      "category": "セキュリティ",
      "claim": "OrganizationとBrandを単位に権限・データ境界を設計します。",
      "status": "verified",
      "evidencePath": "/security/",
      "owner": "セキュリティ",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "個別のデータ所在地・保持条件は契約時に確認します。"
    },
    {
      "id": "contact-direct-hubspot",
      "category": "問い合わせ",
      "claim": "問い合わせはHubSpotへ直接送信し、マーケティングサイト独自のデータベースには保存しません。",
      "status": "verified",
      "evidencePath": "/privacy/",
      "owner": "セキュリティ・データ取扱",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "HubSpot側の保持・削除条件は同サービスの契約と運用設定に従います。"
    },
    {
      "id": "contact-data-minimization",
      "category": "問い合わせ",
      "claim": "HubSpotフォームへ送る項目を、連絡先情報と相談内容に限定します。",
      "status": "verified",
      "evidencePath": "/privacy/",
      "owner": "セキュリティ・データ取扱",
      "reviewedAt": "2026-07-28",
      "reviewDueAt": "2026-10-28",
      "note": "アクセス解析イベントへ氏名・メールアドレス・電話番号を含めません。"
    }
  ]
}