# 資安後續 Runtime Gate 準備契約

| 項目 | 內容 |
|------|------|
| 日期 | 2026-05-17 |
| 狀態 | 草案 |
| Schema | `docs/schemas/security_followup_runtime_gate_v1.schema.json` |
| Snapshot | `docs/security/security-followup-runtime-gate.snapshot.json` |
| 模式 | `runtime_gate_preparation_only` |
| runtime 執行授權 | `false` |

## 0. 核心結論

`security_followup_runtime_gate_v1` 是 S3.4 的後續 runtime gate 準備契約。

它只定義一件事：如果未來某個 `approve_scope` 真的要進一步走向 runtime gate，AwoooP 必須先看到哪些前置 evidence、preflight checks、rollback / disable plan，以及哪些動作仍然禁止。

它不是 runtime gate 本身，也不是執行授權。目前 `active_runtime_gates=0`。

## 1. 目前狀態

| 指標 | 數量 |
|------|------|
| Gate templates | 8 |
| Active runtime gates | 0 |
| Approved scope count | 0 |
| Runtime actions authorized | `false` |
| Action buttons allowed | `false` |

## 2. Gate Templates

| Template | 風險 | 初期定位 |
|----------|------|----------|
| Redacted finding ingestion | MEDIUM | 只準備 ingestion adapter 的 redaction / audit 前置條件 |
| Safe web crawl scope | MEDIUM | 只準備 TLS/header/basic crawl 的低噪音 scope |
| Gitea owner attestation + read-only inventory | MEDIUM | 先依 S4.9 驗收 S4.7 owner response，再準備 read-only token 或 redacted export inventory |
| GitHub target decision | HIGH | 只準備 S4.10 owner response request packet / template status ledger / audit event templates / redaction examples / collection checks / intake preflight checks / response、S4.12 workflow / secret 名稱 request packet / template status ledger / audit event templates / redaction examples / collection checks / intake preflight checks / response 驗收、owner / visibility / canonical / workflow parity 決策 |
| Ref truth review | HIGH | 只準備 S4.11 request packet / template status ledger / audit event templates / redaction examples / collection checks / intake preflight checks / owner response 驗收、refs truth / deprecated / release tag 人工判定 |
| Credentialed scan exception | HIGH | 只準備人工 exception、credential lifecycle 與停用方式 |
| Kali full-upgrade / reboot | HIGH | 只準備維護窗口、snapshot、rollback 與 post-health |
| Kali `/execute` exception | CRITICAL | 預設 blocked，只準備 disable / allowlist / audit 設計 |

## 3. AwoooP 可做

1. 顯示每個 template 需要的 minimum evidence、preflight checks、reviewers 與 rollback / disable requirement。
2. 顯示目前沒有 active runtime gate。
3. 在 `approve_scope` 後提醒仍需要 follow-up runtime gate。
4. 對 Kali `/execute` 顯示 blocked by default。
5. 將 gate preparation 狀態寫入 Audit evidence。

## 4. AwoooP 不可做

1. 不啟用 runtime gate。
2. 不顯示 scan、execute、repo、refs、deploy、secret 類 action button。
3. 不因為 template 存在就執行 scan、Kali `/execute`、credentialed scan、repo 建立、visibility 修改、refs sync 或 GitHub primary cutover。
4. 不保存 raw secret、token、cookie、private key、credential value 或 exploit payload。
5. 不把 LOW / MEDIUM observation 變成 blocking gate。

## 5. 階段定位

S3.4 是「批准後仍不能直接做事」的保險絲。

它讓未來真正進 runtime 前的資料門檻先被定義清楚，但仍維持初期低摩擦：目前只顯示、只準備、只留痕，不執行。

2026-05-17 S4.8 追加：Gitea follow-up runtime gate 已要求 S4.7 owner coverage attestation 先完成。即使未來 read-only inventory 被批准，仍要先看 public-only / local remote gap、org/user endpoint、110 adjacent source、canonical owner 與 legacy/inaccessible disposition 的 owner decision；未完成前不得執行 inventory。

2026-05-17 S4.9 追加，2026-05-18 補 request packet、template status ledger、audit event templates、redaction examples、display sections 與 collection checks：Gitea follow-up runtime gate 已要求 AwoooP 先顯示 S4.9 owner response request packet 與五個 template statuses，並用 audit event templates / redaction examples / display sections / collection checks 確認收件流程只記錄 metadata、不保存敏感值、不把 request sent 當成 accepted；owner response 通過 preflight、outcome lane 判定與基本驗收後，才可把 S4.7 owner scope decision 當成 read-only inventory 的前置 evidence。未收到或未驗收 owner response 前，不得執行 inventory，也不得標記 inventory complete。
