# Mamori 参加者キー管理運用手順（公開版 v0.5・2026-10-23更新）

## 発行
- 組織ごとに1つの専用キーを発行（`MAMORI_KEYS_JSON` に `{"<key>": {"org": "<org>", "tlp_max": "GREEN"}}` 形式で登録）
- キーは `mk_` + 乱数48桁（`secrets.token_hex(24)`）。推測不能性を確保
- 運営は `admin/issue_key.py issue <org>` で発行（キーはコマンド引数・ログに出さず、暗号化ストレージへ標準入力で渡す）
- 新規の閲覧範囲は **GREEN まで**。AMBER の閲覧は、運営が組織の実在と連絡先を確認したあとに付与
- 発行はベータ期間中は人手（問い合わせ → 原則当日、遅くとも24時間以内に発行）
- 受け取った参加者は `tools/check-key.sh` で有効性を確認（`/api/whoami` が `ok: true` を返す）

## 保管
- キーは fly secrets（暗号化ストレージ）にのみ保存。コード・コミット・ログに平文で残さない
- 参加者はキーをパスワードマネージャ等で保管し、第三者と共有しない

## ローテーション
- 随時リクエスト可能。手順:
  1. 参加者が問い合わせ（org名を明示）
  2. 運営が新キーを発行し、新旧キーを24時間並行有効化
  3. 参加者の切替確認後、旧キーを失効
- 定期ローテーション推奨: 90日ごと

## 失効
- 漏洩の疑い: 連絡から24時間以内に失効・再発行
- 禁止事項への違反（ポイズニング・キー不正使用）: 即時失効
- 退会: リクエストから7日以内にキー失効・当該組織の観測データを削除

## 監査
- 投稿は `org_hash`（組織名のハッシュ）付きで記録され、誤投稿・悪意ある投稿の追跡が可能
- レート制限（投稿30回/時・読取120回/時）を超えたアクセスはログに記録

## 今後の改善（ロードマップ）
- セルフサービスのキー発行・失効ポータル
- キーのスコープ分離（投稿専用/読取専用）
- 投稿への署名（HMAC）による真正性検証
