Samurai-meet

実装バックログ(コード基準)

flowchart TD
  Device[端末Key-B: proof・nonce・実機監査] --> Image[端末画像暗号化]
  Image --> Delete[削除reconciler・監査]
  Native[Native Passkey・app links] --> Business[プロフィール・募集・マッチ]
  Delete --> Business
  Business --> Chat[別audienceのChat token]
優先 項目 依存 完了定義
P0 Web Passkeyの正式frontend化 Web hosting WEB_PASSKEY_URL に本番UI、短命ceremony token、実機E2E
P0 端末Key-Bの実機・監査 Secure Storage / PostgreSQL 端末移行、proof replay、Key-B表示保護、秘密値なし監査を検証
P0 再認証tokenをURLから除去 session handoff API 完了: fragmentはbootstrap_tokenだけ。Web options/verify、短命hash、request_id再送制限を実装・テスト
P1 募集・応募・通知遷移のiOS実機E2E 募集API/iOS日時UI ISO内部値・利用日/壁時計のAsia/Tokyo固定、絶対時刻UTC、過去時刻・日跨ぎ、公開・応募・通知遷移を一連の実機E2Eで確認する
P1 client画像UI統合 Key-A/端末Key-B HKDF 写真選択・表示・削除を端末暗号化APIへ接続し、サーバーは暗号文のみ
P1 削除reconciler DB/ストレージ 孤児検出、冪等ジョブ、監査、バックアップ期限の運用
P1 native Passkey実機 app links Associated Domains/assetlinks、登録・別端末・解除を確認
P2 認証統合テスト拡張 PostgreSQL handoff/reuse/challenge/rotationの実DB並行ケース
P2 Web Passkey transaction reconciler PostgreSQL/worker bootstrap消費・handoff作成失敗時の孤児sessionを検出し、再試行または安全に失効させる
P2 業務APIの残り profile schema プロフィール、募集、検索、関心、承認、完了、チャット(REST+WebSocket配送+写真添付の暗号文BLOB)、会合セッション/距離補助、通知一覧・未読管理、通報登録(reports)・ブロック作成/一覧/解除まで実装済み。残: 通報の運営キュー/admin/reportsとaudit_logs、評価。IPベースのHTTP rate limit、チャット送信のユーザー単位rate limit、チャット配送の複数インスタンス対応(LISTEN/NOTIFY)は実装済み
P2 Stripe Identity本人確認 Stripe Identity / Webhook / identity_verifications Verification Session発行、Webhook署名検証・イベント冪等性・ユーザー紐付け・再確認期限を実装し、正規の検証結果だけverifiedバッジへ反映。戻りURLやクライアント自己申告では更新しない
P2 プロフィール編集・通知のフロント接続 Go API契約 募集公開・検索・応募・承認/辞退、通知一覧・未読管理は接続済み。自己紹介編集の完全同期、通知の実機E2E、OSプッシュ通知の要否を確認
P2 ログアウト後の言語選択・履歴ガードのiOS実機確認 Expo Router コードと自動テストは実装済み。ログアウト後に旧保護画面へ戻らず、言語選択から再開することを実機で確認
P0 Proton式client-owned root key v2 docs/ai/security/proton-style-key-management v1互換のまま24語Recovery Phrase、旧端末承認、新端末X25519 envelope、server zero-knowledge境界を実機E2Eで確認
P0 端末移行のbulk画像DEK再包み client-owned root key v2 / image API 進捗・再試行・中断再開・旧端末失効を持ち、全画像の新端末envelope確認後だけ完了扱い
P0 Native hardware posture iOS Secure Enclave / Android Keystore Expo Goと本番nativeを区別し、hardware-backed/attestation可否を画面と監査へ反映
P1 Go admin panel 認証・監査・運用権限設計 公開APIと別listenerまたは別serviceで、管理者認証、監査ログ、危険操作の再認証、運用分離を実機・障害時も検証
P1 Recovery Codes client-owned root key v2 8個程度のone-time auth recovery codeをhashのみ保存し、phrase復号能力と分離
P1 Chat transport 業務API WebSocket配送を実装済み(別audience Chat Token、first-frame認証、20秒heartbeatでセッション/ブロック/マッチ失効+Chat Token期限、単一インスタンスのin-memoryハブ、fan-out除外はソケット単位でマルチデバイス整合、送信レート制限、接続中のtoken.renewローテーションとtoken_seq巻き戻し拒否、スレッドstatus列のデッドコード削除、複数インスタンスのLISTEN/NOTIFY fan-out、メッセージ保持期間スイープ+deleted_at実配線+削除監査chat_message_deletions、写真添付chat_attachments(暗号文BLOB、サーバーは鍵を持たない、未参照は約24hスイープ))。残: Expo実機での再接続負荷試験、保持日数の運用・法務確定、添付の複数枚/サムネイル/削除API

各項目は実装前に脅威、API契約、migration、observability、rollback、E2E受入条件をPR本文へ記載する。