---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 32
  claims_with_evidence: 28
  claims_without_evidence: 4
confidence_derived: 0.88
---

# 根拠レポート：セキュリティ設計書

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.88**
  - 根拠あり：28 / 32、根拠なし：4
- 優先レビュー（高）
  1. **HSTS設定**：Netlifyプラットフォーム依存のため直接確認困難
  2. **Service Worker詳細動作**：sw-toolboxの挙動はCDNからの読み込みに依存
  3. **Renovate設定**：設定ファイルが見つからず推測
  4. **Google Analytics保持期間**：外部サービス設定のため確認困難

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `package.json` - プロジェクト設定、依存関係、スクリプト定義
- E-02: `README.md` - プロジェクト概要、機能説明
- E-03: `.github/workflows/codeql.yml` - CodeQLセキュリティスキャン設定
- E-04: `.github/codeql/codeql-config.yml` - CodeQL設定
- E-05: `eslint.config.js` - ESLint設定、セキュリティ関連ルール
- E-06: `website/docusaurus.config.js` - Webサイト設定、Algolia、Google Analytics
- E-07: `website/static/service-worker.mjs` - Service Worker実装
- E-08: `src/cli/format.js` - CLIフォーマット処理、ファイル操作
- E-09: `src/cli/format-results-cache.js` - キャッシュ機能

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | PrettierはCLIツール/Node.jsライブラリである | E-01, E-02 | ○ |
| C-02 | ユーザー認証機能は実装していない | E-01, E-08 | ○ |
| C-03 | Webサイトは静的サイト生成（Docusaurus） | E-06 | ○ |
| C-04 | Playgroundはクライアントサイドのみで動作 | E-07 | ○ |
| C-05 | セッション管理は該当なし | E-01, E-06 | ○ |
| C-06 | CLIはOS権限に従いファイル操作 | E-08 | ○ |
| C-07 | GitHub Actions権限は明示的に指定 | E-03 | ○ |
| C-08 | WebサイトはNetlifyでホスティング | E-06 | ○ |
| C-09 | HTTPS強制 | E-06 | ○ |
| C-10 | HSTSはNetlifyにより自動適用 | **根拠なし** | △ |
| C-11 | 外部リソースはHTTPS使用 | E-06, E-07 | ○ |
| C-12 | 保存データ暗号化は実施しない | E-08, E-09 | ○ |
| C-13 | Algolia APIキーは公開可能なサーチオンリーキー | E-06 | ○ |
| C-14 | Google Analytics匿名化IP使用 | E-06 | ○ |
| C-15 | Playgroundはユーザー入力をHTMLとしてレンダリングしない | E-07 | ○ |
| C-16 | データベースを使用しない | E-01 | ○ |
| C-17 | fast-globを使用してファイルパターン展開 | E-01 | ○ |
| C-18 | evalやFunctionを直接使用しない設計 | ソースコード検索結果 | ○ |
| C-19 | regexp/no-super-linear-backtrackingルール使用 | E-05 | ○ |
| C-20 | GitHub ActionsでCI/CD履歴記録 | E-03 | ○ |
| C-21 | CodeQL解析を実行 | E-03, E-04 | ○ |
| C-22 | Google Analytics統計取得 | E-06 | ○ |
| C-23 | Renovateで依存関係自動更新 | **根拠なし** | △ |
| C-24 | Yarn 4.12.0使用 | E-01 | ○ |
| C-25 | trim: 1.0.1をresolutionsで指定 | E-01 | ○ |
| C-26 | Node.js 20以上を要求 | E-01 | ○ |
| C-27 | ESLint使用 | E-01, E-05 | ○ |
| C-28 | TypeScript使用 | E-01 | ○ |
| C-29 | Knip使用 | E-01 | ○ |
| C-30 | cspell使用 | E-01 | ○ |
| C-31 | Service WorkerでnetworkFirst戦略 | E-07 | ○ |
| C-32 | sw-toolboxの詳細挙動 | **根拠なし（CDN依存）** | △ |

## 4) 不足情報（Unknown / Missing）
- **HSTS設定確認**：NetlifyのHTTPヘッダー設定は `netlify.toml` またはNetlify管理画面で確認が必要
  - 候補：netlify.toml / Netlify管理画面 / _headers ファイル
- **Renovate設定**：`renovate.json` または GitHub App設定の確認が必要
  - 候補：renovate.json / .github/renovate.json / GitHub App設定
- **sw-toolbox詳細挙動**：CDNから読み込むライブラリのため、バージョン固定のリスク評価が必要
  - 候補：sw-toolboxドキュメント / CDN SRI対応確認
- **Google Analytics保持期間**：外部サービスの設定に依存
  - 候補：Google Analytics管理画面

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク**: 認証・認可（CLIツールのため該当なし）
- **0: 低リスク**: 通信暗号化（Netlify標準のHTTPS）
- **1: 中リスク**: 外部CDN依存（sw-toolbox 3.6.0がCDNから読み込み、SRIなし）
- **0: 低リスク**: 依存関係管理（CodeQL自動スキャン、resolutions使用）
- **1: 中リスク**: プラグインシステム（任意コード実行可能、利用者責任）

## 6) レビュアーチェックリスト（最小）
- [ ] HSTS設定がNetlify経由で適切に適用されているか確認
- [ ] Renovate設定ファイルまたはGitHub App設定の存在確認
- [ ] sw-toolbox CDN読み込みにSRIハッシュを追加するか検討
- [ ] サードパーティプラグインのセキュリティリスクについてドキュメント化の検討
- [ ] キャッシュファイル（`--cache`）のファイルパーミッションに関するドキュメント化の検討
