ステータス: 起票 (2026-07-01) 本ドキュメントは JTBD-012 帳票・証憑管理 SaaS の未確定論点を、arch 側の 塊 (D1〜D10) を土台に、RQ-117 Synthesis の 119 items を再構造化した「論点の landscape 俯瞰」の SSoT。arch と役割を分けて運用する: arch はモジュール構成 (層/責務) の正典、本ページは意思決定項目 (論点) の正典。

代表取締役の週次集中判断 (30-60 分/週) のための地図として機能する。個別 draft ADR は本ページ §Wave 別 順序で drp KV へ投函し、審査後 rendered ADR (docs/adr/) を canonical 化する。

このドキュメントは何か

立ち位置

  • arch (arch_jtbd012_voucher_saas_draft.md) = モジュール構成 (層 ①〜⑤ + 塊 D1〜D10) の SSoT。2026-06-08 起票 (Cloudflare 前提のまま stale)。別 PR で ADR-0179 反映 amend が必要
  • 本ページ = 意思決定項目 (論点) の SSoT。arch の 塊 D1〜D10 構造を土台に、RQ-117 Synthesis の 119 items を再構造化。ADR-0179 (Phase 0-1 GCP 単一) を反映。
  • RQ-117 Synthesis = 119 items の詳細・Tier 分類・Top 10 スコアリング。本ページはその要約 + 塊 axis での再構造化。

想定読者と使い方

  • 代表取締役 ([email protected]): 週次 30-60 分の集中判断で「今週どの 論点 を落とすか」を選ぶ。本ページ §Wave 別 順序 と §塊 状態集計 が入口。
  • Claude Code (vlt / drp / main セッション): 開幕時に本ページ §塊 別 詳細 を読み、未確定論点の draft ADR 起票候補を認識する。ADR 受理時は本ページの状態列を書換する (updates 対象)。
  • Jr 入社時 (2026-10 想定): JTBD-012 SaaS の設計全体像を「塊 × 論点」の 2 軸で把握するための入口。

スコープと非スコープ

区分内容
スコープJTBD-012 Phase 0 dogfood + Phase 1 GA の意思決定項目 (119 items) を 塊 axis で再構造化 · 状態列で ADR 受理 / 提案中 / 未着手 / 撤収 を可視化 · Wave 順序で優先度を提示
非スコープ個別 論点 の判断基準 / 代替案 / 撤退条件 (それぞれの draft ADR で審査) · Phase 2 の意思決定 (Phase 2B AWS 移行判断で別 ADR 起案) · JTBD-012 以外の SaaS 論点

状態凡例

記号意味備考
受理済 (Accepted or 実装完了)ADR 番号を併記。以降の変更は amend PR で追跡
🟡提案中 (Proposed / draft PR open)draft_adr_*.md を drp KV に投函済 or 直近投函予定
🔴spike / RQ 待ちDeep Research 未完で判断基準そのものが未整備
未着手 (draft ADR も未起票)Wave 順序に従い今後起票
Tier 2 (impl-tune)draft ADR 化せず対応する scope doc / 開発仕様書 内で決定

arch 層 × 塊 × 論点 分布

arch (arch_jtbd012_voucher_saas_draft.md) の層構成図 (①〜⑤ + 横断) と塊 (D1〜D10) の対応関係を axis に、Wave 1 主要論点を層ごとに配置する。

arch 層主な責務主モジュールモジュール説明Wave 1 論点他 Tier 1 論点数
① プレゼンテーションユーザーが直接触る画面 (UI)
  1. 証憑管理アプリ
  2. 検索ビュー
  3. 管理コンソール
  1. 証憑の登録・状態確認 UI
  2. 取引年月日・金額・取引先の 3 要素で証憑を探す一覧 (電帳法 検索要件の窓口)
  3. テナント設定・ユーザー・連携の管理画面
-(Phase 0 は最小 UI)0
② インタフェース・認証外と中の入口 · 誰が入れるかを判定
  1. AuthGateway
  2. IdPBroker
  3. RealmResolver
  4. SearchIndex(API)
  5. JournalExporter
  6. AccountingBridge
  1. 顧客の M365/Google アカウントのまま入る認証入口 · pluggable 抽象 (ADR-0127)
  2. Entra/Google 等 IdP 差を吸収する仲介役 · 自前 or 外部 SaaS は spike (RQ-099)
  3. メールドメイン等から「どのテナント · どの IdP か」を振り分け
  4. 3 要素で証憑を引く検索 API · 検索ビューの裏側
  5. 仕訳データを弥生/freee/MF へ書き出す · 証憑本体は動かさずリンクのみ
  6. 自社の既存 GAS 会計 (SSoT) とつなぐ境界
D3 · D4b · D6H1 3 要素検索 索引12 (B系 5 + C系 1 + N1 + IdPBroker · Q3 · B1 等)
③ アプリケーション・ドメイン処理取込 · 中身理解 · 台帳化 · 真実性保証
  1. IngestAdapter
  2. M365Adapter
  3. OcrExtractor
  4. AutomationGate
  5. VoucherLedger
  6. IntegrityGuard
  1. 取込口の共通インターフェイス · ソース非依存で扱う (ADR-0127)
  2. Outlook/OneDrive から Graph API 経由で証憑取込 · day-1 実装
  3. 証憑画像から文字・3 要素を OCR/LLM で読み取る
  4. 読取信頼度で「自動確定」or「人の確認待ち」に振り分け · 工数最小化
  5. 証憑の台帳 · 3 要素検索キーと会計仕訳との対応を持つ
  6. ハッシュ・版数・監査ログで改ざんされていないことを保証 (RQ-088)
D5 · D6 · D7 · D8A2 append-only · F1 訂正削除履歴 · R1 TSA · M3 JIIMA · P2 事務処理規程15 (M1-9 · Q系 · G1)
④ 永続化・正本証憑の法的原本を安全保管
  1. RecordStore
  2. ImmutableStore
  3. KeyManager
  4. RetentionManager
  1. 正本の集約先 · 証憑本体=GCS · 台帳=Cloud SQL · 索引=BigQuery (ADR-0126 案 B)
  2. 訂正・削除できない WORM 相当保存 · 真実性を製品が独立に担保
  3. 暗号化と鍵管理 · テナントごと分離 + 紛失対策のエスクロー (RQ-098)
  4. 法定保存年限管理と期限後の監査証跡付き廃棄 (RQ-091)
D2 · D7 (Immutable) · D9 · D10A1 schema · O1 RPO · O4 cross-region replica30 (A3-A8 · F2-6 · N7-8 · O2/O3/O5 · P系)
⑤ 基盤上の全層が動く土台
  1. Platform
  2. ConfidentialCompute
  1. 全層が動く土台 · Cloud Run + Cloud SQL + GCS + BigQuery + Vertex (ADR-0179 GCP 単一)
  2. 運営者でも中身を読めない TEE 計算層 · 必要時のみ (RQ-098)
D3 · D10 (TEE)K1 GCP region15 (C系 · D SLO · E CI · J 運用 · TEE = RQ-098)
横断全層に効く共通機能
  1. AuditLog
  2. TenantContext
  3. Telemetry
  1. 誰がいつ何をしたかの記録 · 改ざん検知と JIIMA/ISMS の土台
  2. すべての処理にテナント識別子を付与して他社データへの越境を防止 (RQ-092)
  3. 稼働の見える化 · 取込率・自動確定率・SSO 失敗率など
D4a(L1 multi-tenant · Wave 4)4

読み方:

  • Wave 1 Top 10 は 層 ③ (5 items) + 層 ④ (3 items) + 層 ⑤ (1 item) + 層 ②(1 item) に分布 = 層 ③・④ が critical path の主戦場
  • 層 ① UI 系論点は Wave 1 にゼロ = Phase 0 は最小 UI で走り、UI 設計は Phase 1 GA 前判断に defer
  • 層 ⑤ 基盤の K1 (region) 確定が 全層のデプロイ先を規定 = 他 3 items (A1 · M3 · R1) と並行だが最軽量 (1PD) で先落とし可能
  • 層 ③ の 5 items は Route #3 真実性 4 要素 (ADR-0175) の実装配線 = A2 (append-only) · F1 (訂正削除) · R1 (TSA) · M3 (JIIMA) · P2 (事務処理規程) が対

塊 × RQ-117 カテゴリ Cross Matrix (詳細集計)

各セルは Tier 1 items 数 (該当なしは -)。Total = 119 items (Tier 1 = 83 + Tier 2 = 36)。

責務A schemaB APIC secD SLOE CIF 訂正削G TSAH 索引I 照合J 運用K regionL multiM JIIMAN SOC2O DRP 規程Q 監査Tier 1 計
D1 商品スコープ全体-----------1-----1
D2 正本④ RecordStore6----4--------2--12
D3 基盤⑤ Platform--632----32------16
D4a テナント分離横断 TenantContext1-1-------11-----4
D4b 認証② AuthGateway-51----------1---7
D5 取込③ IngestAdapter--------3--------3
D6 データモデル③ VoucherLedger + SearchIndex1------1---------2
D7 真実性③ IntegrityGuard + ImmutableStore1----11-----5--2111
D8 自動化③ OcrExtractor + AutomationGate-----------------0
D9 保存年限④ RetentionManager-----1--------32-6
D10 暗号化④ KeyManager--2------5---7---14
未割当 (横断)-----------------11
Tier 1 合計-85103261138315854283

読み方: D2 正本 (12 items) と D3 基盤 (16 items) と D10 暗号化 (14 items) が Tier 1 の 50% を占め、Phase 0 の実装工数の主軸を成す。D7 真実性 (11 items) は Route #3 (訂正削除履歴 · ADR-0175 確定) の実装配線に集中。

信頼境界別 論点越境

arch の信頼境界・配置図 (Mermaid) で示された 5 境界 (顧客テナント / 自社 SaaS / ハイパースケーラ / 第三者 SaaS / 自社内部) と、論点がどの境界を越えるかの対応。

信頼境界誰が管理越境する論点 (代表)論点の主性質
🏢 顧客テナント顧客B1 API 認証 (OIDC) · N1 MFA · D5 取込 (Graph/Google API) · D3 JournalExporter (仕訳 export)顧客側 IdP / API に依存 · 契約書 or API 仕様変更で影響を受ける
🟢 自社 SaaS (VENDOR)自社 (vlt クローン)A1 schema · A2 append-only · F1 訂正削除 · H1 検索索引 · O1 RPO · O4 replica · D9 年限 · D10 鍵管理内部設計 = 自社で判断 100% コントロール可能
🟡 ハイパースケーラGCP (Phase 1) / AWS (Phase 2B)K1 region · TEE 判断 (RQ-098 · D10) · N3 SIEM (Cloud Logging) · N5 Pen testクラウド事業者の SLA / API 変更で影響を受ける
🔵 第三者 SaaS認定機関・ベンダーR1 TSA (総務大臣認定 5 候補) · M3 JIIMA cert · IdPBroker (RQ-099 · D4b)契約書ベース · 契約 lead time で全体スケジュール制約
⚪ 自社内部自社 (mas クローン)D3 AccountingBridge (既存 GAS 会計 = 自社会計 SSoT との境界)vlt SaaS ↔ mas 会計 の内部連携

読み方:

  • 契約 lead time 制約 = 第三者境界の R1 (TSA)M3 (JIIMA) は自社決定だけでは動かせない外部制約で、Phase 1 GA 遅延の主因
  • 一度決めたら変更困難な決定 = 自社 SaaS 境界の A1 (schema)A2 (append-only) は事後変更コストが極大 (one-way door)
  • 顧客側変更に耐える設計要 = 顧客テナント境界の B1/N1 は「顧客 IdP 変更に耐える pluggable 設計」(ADR-0127) を守る

論点の依存関係

「何を先に決めないと、他が決まらないか」の SSoT。RQ-117 Synthesis の Critical Path 分析を可視化。

依存関係グラフ (Wave 1-4 · 主要 24 items)

flowchart TB
  classDef l0 fill:#fff3bf,stroke:#f08c00,color:#663c00,font-weight:bold;
  classDef l1 fill:#d3f9d8,stroke:#2f9e44,color:#1b4332;
  classDef l2 fill:#e7f5ff,stroke:#1c7ed6,color:#0b4a8b;
  classDef l3 fill:#fff0f6,stroke:#c2255c,color:#7d1a3b;
  classDef l4 fill:#f1f3f5,stroke:#868e96,color:#343a40;
  classDef ext fill:#ffe8cc,stroke:#e8590c,color:#7f4700,stroke-dasharray:5 5;

  %% Level 0 (最初 · 何にも依存しない)
  K1["K1: GCP region
(⑤基盤・1PD)"]:::l0 A1["A1: schema 基礎
(④正本・3PD)"]:::l0 M3["M3: JIIMA cert track
(③真実性・5PD)"]:::l0 R1["R1: TSA provider
(③真実性・5PD・外部契約)"]:::l0 %% Level 1 (Level 0 決定後に着手) A2["A2: append-only
(③④・5PD)"]:::l1 H1["H1: 3 要素索引
(②・5PD)"]:::l1 F1["F1: 訂正削除履歴
(③・8PD)"]:::l1 O1["O1: RPO 目標
(④・3PD)"]:::l1 O4["O4: cross-region replica
(④・5PD)"]:::l1 P2["P2: 事務処理規程 template
(③・3PD)"]:::l1 M4["M4: JIIMA 予算
(③・2PD)"]:::l1 %% Level 2 G1["G1: TSA Strategy interface
(③・4PD)"]:::l2 O3["O3: PITR retention
(④・2PD)"]:::l2 B1["B1: API 認証
(②・3PD)"]:::l2 Q3["Q3: 認証取得順序
(③・2PD)"]:::l2 %% Level 3 N1["N1: MFA policy
(②・2PD)"]:::l3 N3["N3: SIEM
(⑤・4PD)"]:::l3 N6["N6: IR runbook
(⑤・3PD)"]:::l3 %% Level 4 J1["J1: dogfood go/no-go
(全体・2PD)"]:::l4 L1["L1: multi-tenant 判断
(横断・Phase 1)"]:::l4 %% 外部 spike (RQ 待ち · 破線) RQ088["RQ-088: D7 真実性 spike"]:::ext RQ091["RQ-091: D9 年限 spike"]:::ext RQ098["RQ-098: D10 TEE spike"]:::ext RQ099["RQ-099: D4b IdPBroker spike"]:::ext %% 依存辺 K1 --> A1 K1 --> O1 K1 --> O4 A1 --> A2 A1 --> H1 A1 --> F1 A1 --> O1 A1 --> B1 A1 --> J1 A2 --> F1 F1 --> G1 R1 --> G1 M3 --> P2 M3 --> M4 M3 --> Q3 O1 --> O3 O4 --> O3 B1 --> N1 B1 --> N3 N3 --> N6 N6 --> J1 J1 --> L1 %% spike の効き先 RQ088 -. 実装先送りリスク .-> F1 RQ091 -. 実装先送りリスク .-> O1 RQ098 -. 実装先送りリスク .-> N3 RQ099 -. 実装先送りリスク .-> B1

Critical Path Level 別 一覧

Level 0 = 何にも依存しない (最優先 · Phase 0 開始と同時に確定要)

ID論点塊/層EffortBlocks論点性質
K1GCP region (asia-northeast1)D3 / ⑤1PD3 (O1/O4/O3)単一 region 選定 · trivial だが foundational
A1schema 基礎 (id 型 + hash + 列)D2 / ④3PD6 (A2/H1/F1/O1/B1/J1)one-way door · 全下流に影響
M3JIIMA cert track (5 候補)D7 / ③5PD3 (P2/M4/Q3)外部 3ヶ月 lead time · 誤選定で 3ヶ月 rework
R1TSA provider (5 候補 · 認定必須)D7 / ③5PD2 (G1/B1 間接)外部契約 lead time · 総務大臣認定必須 (2022-07-30 以降)

Level 1 = Level 0 のいずれかに依存 (PR-5/6/7 merge 前必達)

ID論点塊/層Effort前提
A2append-only 強制手段D2 / ③④5PDA1
H13 要素検索 索引戦略D6 / ②5PDA1
F1訂正削除履歴 row shapeD2 / ③8PDA1, A2
O1RPO 目標D9 / ④3PDA1, K1
O4cross-region replica 位相D9 / ④5PDK1
P2事務処理規程 template 採用元D7 / ③3PDM3
M4JIIMA 手数料予算D7 / ③2PDM3

Level 2 = Level 1 のいずれかに依存

ID論点前提
G1TSA Strategy interfaceF1, R1
O3PITR retention windowO1, O4
B1API 認証モデル (OAuth+WIF)A1
Q3認証取得順序 (JIIMA/ISMS/SOC2/P)M3

Level 3-4 = Phase 0 中盤〜終盤

  • Level 3: N1 (needs B1) · N3 (needs B1) · N6 (needs N3)
  • Level 4: J1 dogfood pilot go/no-go (needs N6, A1) · L1 multi-tenant (needs J1)

各 Wave 1 論点の前提と下流

ID前提 (これが決まってないと着手不能)下流 (これを決めないと着手不能な項目)
K1O1 · O4 · O3 (Level 2) · (間接) 全て
A1A2 · H1 · F1 · O1 · B1 · J1
M3P2 · M4 · Q3
R1G1
A2A1F1 · (間接) F2-F6
H1A1(Wave 3 の検索 tuning)
F1A1 · A2G1 · F2 · (Wave 3 の削除 policy)
O1A1 · K1O3
O4K1O3
P2M3(税務調査対応の SLA · P4)

決定順序の 3 原則

論点順を「何から決めるか」で迷ったら、次の 3 原則で判断する:

  1. 外部リードタイム逆算 (calendar-driven)
    • M3 JIIMA (3 ヶ月) · R1 TSA (数週間) は外部機関・ベンダー依存で、先送りするほど Phase 1 GA が遅れる
    • 内部決定より優先させて Wave 1 の週 1-2 に置く
  2. one-way door 優先 (irreversibility-driven)
    • A1 schema (id 型 + content_hash) · A2 append-only · F1 訂正削除履歴 は事後変更コスト極大
    • 実装着手前に凍結 = Wave 1 の週 1-3 に集中
  3. 依存グラフ Level 順 (topological)
    • Level 0 (K1/A1/M3/R1) を確定してから Level 1 に進む
    • Level 0 内でも 4 items 並行 (代表取締役の週 30-60 分判断 × 3-4 週で完遂)

実務推奨 (代表取締役の週次判断 × 12 週での配分):

落とす論点論点性質
1A1 (🟡 提案中 · PR #3541 審議) · K1 (軽量)one-way door + foundation
2M3 · R1 (外部 lead time 併走)calendar-driven
3A2 · F1 (Route #3 実装中核)one-way door
4P2 · H1M3 派生 + A1 派生
5-6O1 · O4 · B1 · G1 (Level 2)Wave 1 完遂 + Level 2 突入
7-8N1 · N3 · O3 · Q3Wave 2 中盤
9-10N6 · M4 · M1-M2 (JIIMA 詳細)Wave 2 終盤
11-12J1 (Wave 4 前半) · Wave 3 の残 Tier 1Phase 0 終盤判断

RQ-118 (SaaS 一般化フレームワーク) との整合

本ページの Wave 順序を RQ-118 Synthesis (2026-07-01 · 3 モデル $7.25) の一般化 7 phase model で照らし直した結果、次の対応が確認できる:

一般化 Phase と JTBD-012 Wave 1 論点のマッピング

RQ-118 一般化 Phase論点 (JTBD-012)性質
Phase −1 Compliance Landscape (calendar-driven external)M3 JIIMA cert track · R1 TSA provider外部機関/契約 lead time 3-8 ヶ月 = 逆算圧力最大
Phase 0 Trust Boundary (foundational · one-way door)A1 schema · K1 GCP region事後変更コスト極大 · schema と region が Phase 1+ の下流全てを規定
Phase 1 Identity & Tenancy (partial in Wave 1)(Wave 2 の B1 API 認証 · L1 multi-tenant)Phase 0 dogfood (1 tenant) では Wave 2 に defer 可
Phase 2 Data Lifecycle & AuditA2 append-only · F1 訂正削除履歴 · O1 RPO · O4 replica · H1 索引 · P2 事務処理規程Route #3 真実性 4 要素の実装配線

読み替え: Wave 1 Top 10 は phase −1 (M3/R1) + phase 0 (A1/K1) + phase 2 (残 6) の混合で、Phase 1 (identity/tenancy) は Wave 2 に defer した構造。Compliance-first の phase 順序と整合。

RQ-118 が明示化した gap (RQ-117 Level 0 に未反映の 3 件)

3 モデル DR で「一般化 Phase 0 に含まれるべき」と特定されたが RQ-117 で明示されていない 3 論点。2026-07-02 に Wave 2 リストへ反映済 (次セッション以降で新規 ID 発行 + RQ-117 Synthesis 側追記へ拡張予定):

論点現行状態RQ-118 phase反映位置 (2026-07-02 反映)メモ
KMS custody (customer-managed vs platform-managed)RQ-098 spike 待ち (D10 塊 · Wave 3)Phase 0 (foundational)Wave 2 前半 (方針だけ確定 · 実装は RQ-098 継続)失敗パターン #9 (3-6 EM) 予防価値。Wave 3 の RQ-098 spike 実装より前に方針を切り分けて decouple
Identity boundary (user ∈ org ∈ workspace?)B1 API 認証モデル (Rank 15 · Wave 2) で late 定義Phase 0 (foundational)Wave 2 前半 (B1 API 認証モデルの前に定義)Phase 0 dogfood 1 tenant では意識薄いが、Phase 1 GA 前確定必達。Slack Unified Grid の 12+ EM retrofit 予防
Network boundary (VPC-SC / private endpoints)ADR-0179 (GCP + WIF) で部分 cover · K2/K3 (Wave 2-3) で latePhase 0 (foundational)Wave 2 後半 (Phase 1 GA 前 multi-tenant 化前に確定)Phase 0 dogfood では GCP native network で十分。K2/K3 (region) と並列に位置づけ

決定順序 3 原則の RQ-118 補強

RQ-118 が定量化した failure pattern top 10 (中央値 5 EM / top-3 平均 9 EM) を根拠に、既存 3 原則が実測で正当化された:

  1. 外部リードタイム逆算 (calendar-driven) — JIIMA 3-8mo · SOC 2 II 6-15mo · ISO 27001 6-10mo の実測 lead time 表 (RQ-118 §4) が根拠
  2. one-way door 優先 (irreversibility-driven) — failure pattern #1-3 (database tenancy 6-12EM · auth-before-tenancy 12+EM · region-before-residency 3-9EM) の 3 モデル合意が根拠
  3. 依存グラフ Level 順 (topological) — RQ-118 の phase −1 → 0 → 1 → 2 が Level 0-2 topology で一致

Wave 1: 最初の 3 週間 (Top 10 · Score 順)

RankID論点 (要約)状態EffortBlocksScore
1A1D2 / D6receipts + audit_log の schema 基礎 (id 型 + content_hash + 列定義)🟡 (PR #3541)3PD619.5
2R1D7TSA provider 選定 (総務大臣認定必須 · 5 候補)5PD28.5
3K1D3GCP region (asia-northeast1) 確定1PD39.5
4M3D7JIIMA 認証トラック選択 (5 スキーム)5PD311.5
5P2D7事務処理規程 テンプレート採用元 (Claude unique 発見)3PD16.5
6A2D2 / D7append-only 強制手段 (DB constraint / trigger / app)5PD17.5
7F1D2 / D7訂正削除履歴 の行 shape (version chain / tombstone / patch)8PD111.0
8H1D63 要素検索 (日付 / 金額 / 取引先) 索引戦略5PD04.5
9O1D9RPO 目標 (Recovery Point Objective)3PD18.5
10O4D9 / D3Cross-region replica 位相 (async replication)5PD17.5

運用ルール (RQ-117 Synthesis §Question 4 より):

  • 週次 1-2 draft ADR (代表取締役の集中判断 30-60 分/週)
  • 最初の 3 週間で Top 10 制覇 (30-60 分 × 3 週 = 1.5-3 時間 × 集中判断)
  • Wave 1 の 4 items (A1 · K1 · M3 · R1) が Critical Path Level 0 = PR-4 merged 前に必ず確定
  • Wave 1 の 6 items (A2 · H1 · F1 · P2 · O1 · O4) が Level 1 = PR-5/6/7 merged 前に必ず確定
  • RQ-118 補完 3 論点 (KMS custody 方針 / Identity boundary / Network boundary VPC-SC) は Wave 2 に組込済 (詳細は §RQ-118 gap 表)。Phase 1 GA 前確定必達 = Wave 2 完遂前に方針レベルで確定する

Wave 1 #2 起票候補の 3 択 quick reference (2026-07-02 追記)

Wave 1 #1 (A1 = receipts + audit_log schema 基礎) は PR #3541 で起票済。次に起票する #2 は R1 / K1 / M3 のいずれか (Critical Path Level 0 · A1 と並列)。代表取締役の週次判断 (30-60 分/週) の入口として、3 択の性質を 1 表にまとめる:

候補ScoreEffortBlocks (下流数)特徴起票所要 (目安)
K1D39.51PD3GCP region asia-northeast1 確定。軽量 · 「決めて次に進む」型。ADR-0179 (GCP 単一) が既に方針確定 → region 詳細のみ30 分
M3D711.5 (最高)5PD3JIIMA 認証トラック選択 (5 スキーム)。Lead time 3ヶ月 = 逆算圧力 最大。カレンダー駆動で早期確定価値大60 分
R1D78.55PD2TSA provider 選定 (5 候補 · 総務大臣認定必須)。外部契約 lead = 契約プロセス逆算で早期起票価値45-60 分

判断のフレーム (代表取締役向け · 「今週どれを落とすか」):

  • 時間圧力優先 → M3 (JIIMA 3ヶ月 lead) or R1 (TSA 契約 lead)
  • 判断負荷最小 → K1 (方針既確定 · 詳細のみ · 30 分)
  • 下流波及最大 → M3 or K1 (共に Blocks 3)
  • Score 最高 → M3 (11.5)

いずれの候補も PR-4 merged 前に確定必須 (Critical Path Level 0)。3 択を代表取締役が選択後、tasks/prompts/draft_adr_*.md に起案 → drp KV 投函の順で進める。

Wave 2: Phase 0 中盤 (rank 11-30 · 20 items + RQ-118 補完 3 論点)

G1 TSA Strategy interface (D7) · N1 MFA policy (D10) · N3 SIEM / log aggregation (D10) · N6 Incident response runbook (D10) · M4 JIIMA 手数料予算 (D7) · Q3 認証取得順序 (D7) · N5 Pen test 範囲 (D10) · N7 Breach determination log (D10) · M1-M2 JIIMA トラック詳細 (D7) · M5 マニュアル整備責任者 (D7) · O2 RTO 目標 (D9) · O5 DR runbook rehearsal (D9) · P4 ダウンロードの求め SLA (D7) · A3-A8 schema 詳細 (D2 · 5 items) · B1 API 認証モデル (D4b)

+ RQ-118 補完 3 論点 (2026-07-02 追加 · 詳細は §RQ-118 gap 表):

  • KMS custody 方針 (D10 · Wave 2 前半) — customer-managed vs platform-managed の方針だけ確定 · 実装は RQ-098 spike (Wave 3) に defer
  • Identity boundary (D4b · Wave 2 前半 · B1 前) — user ∈ org ∈ workspace のモデルを B1 API 認証モデル定義より前に確定 · Phase 1 GA 前 multi-tenant retrofit を予防
  • Network boundary VPC-SC (D3 · Wave 2 後半) — private endpoints / perimeter 方針を K2/K3 (region) と並列に確定 · Phase 1 GA 前 multi-tenant 化前必達

Wave 3: Phase 0 終盤 (rank 31-83 · 53 items)

残 Tier 1 items = 主に C (security 5 items) + D (SLO 3 items) + I (照合 3 items) + J (運用 5 items) + B (API 4 items) + K2-3 (region 2 items) + N8 (D10) + Q1-2 (D7) 等。Phase 0 完了時 Tier 1 の 60% (50 items) 確定を目標

Tier 2 (36 items): draft ADR 化しない

対応する scope doc (pr4-endpoint-schema.md / pr5-search-endpoint.md / pr6-correction-deletion-history.md / pr7-tsa-strategy.md) or 開発仕様書 (docs/dev/dev_*.md) 内で決定。scope docs に「本項は ADR 化せず本 doc で決定」注記を追加 (別 PR)。

  • B2 GET /receipts response contract
  • B3-B8 API design detail (pagination · rate limit 等)
  • C7-C8 security tuning
  • D4-D6 SLO tuning
  • E1-E8 CI/CD detail
  • G2-G6 TSA impl detail (fake provider · retry · cache)
  • H2 search API pagination model
  • I4-I6 Reconciliation tuning
  • J2-J8 Ops detail (on-call · runbook stubs)
  • K3 data residency detail
  • L2-L4 expansion (pricing / plan tiers)
  • M6-M9 JIIMA 派生
  • N2 / N4 / N8 security ops
  • O3 PITR retention window
  • P1 / P3 / P5 顧問税理士 連携詳細
  • Q1-Q2 セキュリティ資料

塊 別 詳細 (D1-D10)

D1 商品スコープ (product scope)

ID論点状態Wave備考
L1Multi-tenant 有効化基準 (Phase 0 は 1 tenant · Phase 1 で N tenant 化判断)🔴3Phase 0 実測データに基づき Phase 1 GA 前判断

D2 正本 (RecordStore · ADR-0126 ✅ 確定)

責務: 証憑本体 = GCS Object Retention Lock · 台帳 = Cloud SQL · 索引 = 補助 (H1 で戦略決定)。

ID論点状態Wave備考
A1receipts + audit_log の schema 基礎 (id 型 + content_hash + 列定義)🟡 (PR #3541)1UUID v7 + SHA-256 採用案 · 6 下流をブロック
A2append-only 強制手段 (DB constraint / trigger / app-layer)1Route #3 真実性の柱
A3-A8schema 詳細 (PK strategy / index type / partition 等)2-3A1 受理後の実測データで判断
F1訂正削除履歴 の行 shape (version chain / tombstone / patch)1電帳法 §4-1-3 実装土台 · 8PD
F2-F6訂正削除履歴 詳細 (deletion policy / tombstone GC 等)2-3F1 受理後
O1RPO 目標1Cloud SQL PITR + GCS Object Lock で担保
O2RTO 目標2O1 と対で決定

D3 基盤 (Platform · ADR-0179 ✅ 確定 = GCP Cloud Run + Cloud SQL + GCS + BigQuery + Vertex)

責務: SaaS 実行環境 · 監視 · 認証基盤 · CI/CD。Cloudflare は明示的に不採用 (ADR-0179 §3.4)。

ID論点状態Wave備考
K1GCP region 確定 (asia-northeast1)13 下流 (O1/O4/O3) をブロック · 1PD (trivial だが foundational)
K2-K3data residency 詳細 (cross-project / VPC-SC)2-3K1 受理後
C1-C6Security 基礎 (encryption / Secret Manager / WIF 等)2-3ADR-0179 継承
D1-D3SLO 基礎 (uptime / latency / error budget)3Phase 0 実測データで決定
E1-E2CI/CD 基礎 (Cloud Build / staging strategy)3Phase 0 現行 vlt-deploy.yml 継承
J1dogfood pilot go/no-go 判定基準3Phase 0 完了時判断
O4Cross-region replica 位相 (async replication)1K1 確定後 · RPO 非ゼロ設計

D4a テナント分離 (TenantContext · 🔴 RQ-092 spike 待ち)

責務: multi-tenant 化 (Phase 1 GA 以降) 時のテナント境界強制。

ID論点状態Wave備考
L1Multi-tenant 有効化基準🔴3RQ-092 待ち · Phase 1 GA kickoff まで defer 可
C1 (再掲)tenant 分離を DB level で強制 vs app level 保証2-3D2 に依存
K1 (再掲)tenant N 化時の region 分離 (Phase 2A で multi-region 判断)3O4 と連動

D4b 認証 (AuthGateway · ADR-0127 ✅ 部分確定 = M365 day-1 pluggable)

責務: 顧客の M365 / Google などの IdP でログインを可能にする。

ID論点状態Wave備考
B1API 認証モデル (OAuth + WIF)2ADR-0127 day-1 M365 継承
B3-B8API design 詳細3Wave 3
N1MFA policy (advisory vs enforced)2ADR-0127 補強 · Runner-up rank 12
IdPBroker自前実装 vs 外部 (WorkOS 等)🔴2-3RQ-099 待ち

D5 取込 (IngestAdapter · ADR-0127 ✅ 部分確定 = M365Adapter day-1)

責務: 証憑ソース (Outlook/OneDrive · Gmail/Drive) からの受領。Phase 0 dogfood では manual upload 主体。

ID論点状態Wave備考
I1-I3Reconciliation 設計 (BigQuery streaming / dead-letter 等)3Phase 0 manual upload では優先度低

D6 データモデル (VoucherLedger + SearchIndex · A1 に依存)

責務: 証憑台帳の schema と検索索引の設計。

ID論点状態Wave備考
A1 (再掲)schema 基礎 (D2 と同項目)🟡 (PR #3541)1-
H13 要素検索 (日付 / 金額 / 取引先) 索引戦略1電帳法 §4 検索要件 (V3.a)

D7 真実性 (IntegrityGuard + ImmutableStore · ADR-0175 ✅ Route #3 確定)

責務: 3 号真実性ルート 4 要素 (訂正削除履歴 + 事務処理規程 + JIIMA cert + TSA 認定) を全て実装配線。

ID論点状態Wave備考
A2 (再掲)append-only 強制手段1Route #3 pillar 1
F1 (再掲)訂正削除履歴 の行 shape1Route #3 pillar 2 · 電帳法 §4-1-3
G1TSA Strategy interface (pluggable)2Route #3 pillar 3 · 補助
R1TSA provider 選定 (5 候補)1Route #3 pillar 3 · 総務大臣認定必須 (2022-07-30 以降)
M1JIIMA 認証トラック 5 スキーム内訳2Route #3 pillar 4
M2JIIMA 令和 5 vs 令和 7 (デジタルシームレス) 適用年度2M3 で先行判断
M3JIIMA 認証トラック選択 (3 ヶ月リードタイム 逆算)1Phase 1 GA から逆算
M4JIIMA 手数料予算 (¥500K/track)2Runner-up rank 15
M5マニュアル整備責任者 (V1 可視性)2Phase 0 内
P2事務処理規程 テンプレート採用元 (Claude unique 発見)1Measure 3 + 4 併用推奨
P4ダウンロードの求め 対応 SLA (税務調査対応)2電帳法 §4-1-4
Q3認証取得順序 (JIIMA / ISMS / SOC 2 / P マーク)2Runner-up rank 16

D8 自動化 (OcrExtractor + AutomationGate · Phase 0 spike 待ち)

責務: OCR + LLM で 3 要素抽出 + 信頼度ゲート。

ID論点状態Wave備考
(該当なし)Phase 0 dogfood では manual upload 主体で OCR は Phase 1 準備段階🔴3Vertex AI (ADR-0179 §3.3) 前提で Phase 1 GA 前判断

D9 保存年限 (RetentionManager · 🔴 RQ-091 spike 待ち)

責務: 電帳法 保存年限 (最長 10 年) の自動管理 + 期限後廃棄。

ID論点状態Wave備考
O1 (再掲)RPO 目標1RQ-091 と対で決定
O2 (再掲)RTO 目標2O1 と対で決定
O4 (再掲)Cross-region replica 位相1K1 確定後
O5DR runbook rehearsal cadence2Wave 2
F2削除ポリシー (soft / hard delete + tombstone GC)2F1 受理後
P1顧問税理士 連携頻度 (税務調査対応)2P2 と連動
P3事務処理規程 レビュー・改訂サイクル2P2 受理後

D10 暗号化 (KeyManager · 🔴 RQ-098 spike 待ち)

責務: テナントごと envelope 暗号化 + 鍵エスクロー + TEE (機密計算) 判断。

ID論点状態Wave備考
C1encryption 方針 (envelope · tenant-per-key)2-3ADR-0179 継承
C2Secret Manager 運用 (key rotation)2-3GCP Secret Manager
N1 (再掲)MFA policy2Runner-up rank 12
N3SIEM / log aggregation 戦略2Runner-up rank 13
N5Pen test 範囲 + 頻度2SOC 2 準備
N6Incident response runbook2Runner-up rank 14
N7Breach determination log (72h 通知)2GDPR / SOC 2
N8Non-human identity governance3Wave 3
J3secret rotation cadence3Wave 3
J4-J7Ops 詳細 (on-call · runbook stubs 等)3Wave 3

塊 状態集計

Tier 1受理済 ✅提案中 🟡spike 🔴未着手 ⬜ADR
D1 商品スコープ10010-
D2 正本12部分1 (A1)011ADR-0126
D3 基盤16部分0016ADR-0179
D4a テナント分離40013RQ-092
D4b 認証7部分016ADR-0127
D5 取込3部分003ADR-0127
D6 データモデル201 (A1)01-
D7 真実性11部分0011ADR-0175
D8 自動化00010Phase 1 判断
D9 保存年限60016RQ-091
D10 暗号化1400114RQ-098
未割当10001-
Tier 1 合計83部分15 spike77-

「部分」= 塊レベルでは ADR 受理済だが 論点 個別は未消化 (例: D2 は ADR-0126 で正本 = 自社集約 案 B 確定だが、A1-A8 の schema 詳細は未着手)。

次段 (2026-07-01 時点)

  1. Wave 1 Top 10 の順次起票: 週次 1-2 draft ADR ペース · 最初の 3 週間で完遂目標。A1 (shipped) → R1 → K1 → M3 の Level 0 を優先。
  2. arch 側 amend PR: arch_jtbd012_voucher_saas_draft.md の Cloudflare 記述を ADR-0179 (GCP 単一) に置換 · 塊 D3 の基盤層 Cloud Run + Cloud SQL + GCS + BigQuery + Vertex 追記。Wave 1 起票と平行実施可能。
  3. spike 4 件の Deep Research 起票: RQ-088 (D7 真実性) · RQ-091 (D9 年限) · RQ-092 (D4a 分離) · RQ-098 (D10 暗号) · RQ-099 (D4b IdPBroker)。Phase 0 中盤までに 1-2 件消化目標。
  4. 本ページの updates: draft ADR 受理ごとに §Wave 別 順序 と §塊 別 詳細 の状態列を書換。Auto-sync CI 化候補 (別 PR で検討)。
  5. RQ-118 反映 (新規追加 · 2026-07-01):
    • KMS custody 方針を Wave 1 or 2 前半で確定 (実装は RQ-098 spike 継続)。失敗パターン #9 予防 (3-6 EM)。
    • Identity boundary (org model) を Wave 1 or 2 に新規 論点として追加検討。B1 (Rank 15) より上流。Slack Unified Grid 予防 (12+ EM)。
    • Network boundary (VPC-SC) を Phase 1 GA 前 (Wave 2 後半) に確定明示。
    • ADR 起案候補「SaaS 開発の決定順序フレームワーク採択」(ADR-0021 の refinement/amend 相当 · 1 論点 = compliance-constrained phase −1 to 2 anchor の明文化)。

参照

  • arch_jtbd012_voucher_saas_draft.md — arch (層 ①〜⑤ + 塊 D1〜D10) SSoT (Cloudflare 記述は 2026-07-01 時点で stale)
  • RQ-117 Synthesis — 119 items 詳細 + Top 10 スコアリング + JIIMA coverage matrix
  • ADR-0125 — JTBD-012 dogfood 先行方針
  • ADR-0126 — 正本 = 自社集約 (案 B)
  • ADR-0127 — 認証 = M365 pluggable day-1
  • ADR-0175 — Route #3 真実性 4 要素
  • ADR-0179 — Phase 0-1 GCP / Phase 2B AWS · Cloudflare 不採用
  • ADR-0181 — vlt クローン設立

改訂履歴

日付 (JST)変更
2026-07-01初版起票。arch の 塊 D1-D10 を土台に RQ-117 Synthesis 119 items を再構造化 · Wave 1 Top 10 に A1 起票 (PR #3541) を反映 · ADR-0179 (GCP 採用) 前提を明記
2026-07-01 (追記)3 節を新設・強化: (1) arch 層 × 塊 × 論点 分布 で arch の層構成図 (①〜⑤ + 横断) と論点の対応を可視化、(2) 信頼境界別 論点越境 で 5 境界 (顧客/自社/hyperscaler/第三者/自社内部) と論点の関係を整理、(3) 論点の依存関係 で Critical Path Level 0-4 の Mermaid graph + Level 別表 + 決定順序 3 原則 + 週次判断 12 週配分表を追加
2026-07-01 (追記 2)RQ-118 との整合 節を新設 — SaaS 一般化 7 phase model (Claude+OpenAI 合意 · $7.25 · 3 モデル DR) と Wave 1 論点の対応表 · RQ-117 Level 0 との delta 3 件 (KMS custody / Network boundary / Identity boundary) を明示。§次段 に 3 件 + ADR 起案候補追記
2026-07-01 (追記 3)arch 層 × 塊 × 論点 分布 表に モジュール説明 列を追加 — 各主モジュール (証憑管理アプリ / AuthGateway / IdPBroker / RecordStore / Platform 等 23 モジュール) の役割を 1 行説明 · arch draft §モジュール別表と同期 · ADR 参照と spike RQ (RQ-088/091/092/098/099/127) を各行に付記
2026-07-01 (追記 4)モジュール説明 列を <ul><li> 箇条書きに整形 · scoped CSS で列幅を 300-380px に確保 (div.module-desc-wide wrapper) · 各説明が読みやすい 2-3 行折返しで表示されるよう調整 · テキスト内容は追記 3 から変更なし
2026-07-02 (追記 5)主モジュール 列と モジュール説明 列を番号付リスト (<ol><li>) に整形 · モジュール名の重複を解消 (主モジュール列 = 名前のみ / モジュール説明列 = 説明のみ) · 同じ番号 1-6 で両列の対応を視認できる形に · 主モジュール列も scoped CSS で列幅 150-210px に確保