# Gatekeep security seed checklist Used in model prompts **and** the deterministic scanner (`action/scripts/security-scan.sh`). | Item | Deterministic scan | Model review | | --- | --- | --- | | Hardcoded secrets/tokens | Added-line regex | Yes | | Prompt injection via repo files | Instruction-override phrases in diff | Yes | | Auth bypass | Path globs (`**/auth/**`) floor high | Yes | | Unauthorized API access | — | Yes | | Billing logic bypass | Path globs (`**/billing/**`, `**/payment/**`) | Yes | | CI workflow tampering | `.github/workflows/**` → high + scan hit | Yes | | Unsafe deserialization | pickle/yaml.load/unserialize patterns | Yes | | SQL/command injection | Concat / `shell=True` patterns | Yes | ## Blocking policy (default) `policy.json` → `security_agreement`: **`require_agreement_unless_scan_hard_fail`** - **Inline + block:** security / **Critical** findings where **≥2 models agree**, or any **deterministic scan hard-fail**. - **Summary only:** lone-model security flags (disputed) — do not inline; humans can still escalate. - Scan hard-fail always floors PR tier to **high** and fails check `gatekeep / security`. - Every finding (including security) still shows **severity + where + why it matters**.