← all branches

feat/sec-base

needs attentionviewing older commit
26393f2 · incrementalPR #267reviewed 2026-07-08 04:57 UTC5H · 19M · 11L · 3I
The branch
Purpose
Land all draftable governance, procurement, and operations artifacts for the ISO 27001:2022 + SOC 2 Type II combined certification program so founding team can make four gating decisions (GHAS billing, platform selection, auditor booking, policy sign-off) with the full picture in hand.
Goal
Security/compliance baseline — dependency/code scanning in CI, reconciled CloudTrail/GuardDuty CDK stacks, GitHub org security settings, compliance knowledge base (rule doc + policy skeletons + operations machinery).
Sub-goals
  • SG-1: Dependency & code scanning — dependabot.yml + codeql.yml + advisory audit job (complete)
  • SG-2: CDK security baseline reconcile — AuditTrailStack + GuardDutyBaseline org enrollment (complete)
  • SG-3: GitHub org security settings via gh api (complete, evidenced)
  • SG-4: Compliance knowledge base — compliance.md SSOT + 18 policy skeletons + operations docs (complete)
The changes (whole branch)
What
Two commits added Phase 3-5 pre-built operations machinery (control calendar, CA register, evidence index, internal audit programme, IR tabletop, management review template) plus procurement pack (audit-firm RFQ, pentest RFQ, platform evaluation brief) and vendor/subprocessor register (13 vendors). GuardDuty ground truth updated: dev member enrollment confirmed (RelationshipStatus=Enabled, re-verified 2026-07-08).
Why
Pre-building these docs now ensures the Type II observation window starts immediately after Type I/Stage 1 milestone — operations machinery that is authored post-Type-I adds latency to an already time-critical path. The CA register is seeded (not empty) to demonstrate Clause 10.1 process working from day one.
Areas
docs/compliance+5430.claude/rules+11
Blast
42 files total on branch, +1560/-6. All documentation. No production code, schema, or infra changes on this branch (CDK stacks in prior commits, all docs in final commits).
compliance-program auditor-facing-docs iso27001 soc2
CI (pr-checks)· Documentation-only commits — typecheck/lint/tests N/ACodeRabbit· No .coderabbit.yaml present

Findings · 20

correctness3

medium

CA-002 source cites F-1 only; BAT-256 corrective action covers F-1 and F-2

docs/compliance/corrective-action-register.md

F-2 (no customer DELETE endpoint) is a separate HIGH finding. Update Source to '(F-1, F-2)'.

medium

F-6 / BAT-258 (log redaction) has no CA register entry

docs/compliance/corrective-action-register.md

Known Medium finding with a filed Linear issue and no CA row. Add CA-006.

medium

Webshare/IPRoyal T3 classification not yet verified against own tiering definition

docs/compliance/vendor-register.md

Tiering definition: T1 = Restricted/Confidential data. Register flags the caveat but leaves it unresolved. Confirm T3 or upgrade before merge.

security5

high

Evidence index claims CloudTrail secret-read events are live evidence — they are not enabled

docs/compliance/evidence-index.md

The IR tabletop explicitly pre-identifies CloudTrail GetSecretValue data events as a gap. The evidence index row for 'Secrets handling (CC6.1 / A.8.24)' cites these events as current evidence — misrepresenting control state to an auditor.

high

Webshare/IPRoyal T3 tier understates actual risk: plaintext CFE credentials transit the proxy

docs/compliance/vendor-register.md

Implementation routes loginMiEspacio() through the residential proxy. The compensating-control note ('session transport only') is inaccurate — username+password POST transits the proxy IP. T3 classification is premature pending verification or upgrade.

medium

Pentest RFQ should explicitly scope GitHub Actions / OIDC role abuse path (CA-004 HIGH)

docs/compliance/pentest-rfq.md

Most realistic path to mass CFE credential exfiltration. Add: 'GitHub Actions workflow injection / OIDC deployer role escalation to Secrets Manager.'

medium

IR tabletop misses the value-exfiltration inject variant

docs/compliance/ir-tabletop-cfe-credential-leak.md

Scenario starts at lowest-severity ARN-in-log variant. Add T+15 inject where CloudTrail shows anomalous GetSecretValue from unexpected principal.

medium

Anthropic T2 annotation understates agent context scope

docs/compliance/vendor-register.md

Agents receive IaC details, compliance docs, open findings, partial detector IDs. Annotation should explicitly acknowledge and confirm DPA status.

conventions2

medium

pentest-rfq.md collapses Status into Owner row

docs/compliance/pentest-rfq.md

All other docs have a separate | Status | row. Split into two rows for consistency.

medium

evidence-index.md missing IR management controls row (A.5.24-28 / CC7.3-CC7.5)

docs/compliance/evidence-index.md

ir-tabletop doc cites these controls but the evidence index has no corresponding entry mapping them to the tabletop artifact.

tests6

high

CA register missing data-flow findings F-3, F-5, and F-6

docs/compliance/corrective-action-register.md

cfe-credential-data-flow.md identified 6 findings. CA register only maps F-1, F-4, plus infra gaps. F-3 (SFN execution history), F-5 (member RLS read), and F-6 (log redaction, BAT-258) have no CA rows. ISO Clause 10.1 requires every identified nonconformity to have a register entry.

high

Control calendar has no privileged-access review cadence

docs/compliance/control-calendar.md

Quarterly access review covers all identities but does not distinguish privileged access (AWS IAM admin, GitHub org owners). CC6.2/A.5.18 prompt auditors to look for a separate privileged-access cadence, especially given CA-004 (OIDC roles hold AdministratorAccess).

high

Evidence index missing CC9 (risk mitigation/transfer) and CC5/CC1 TSC criteria

docs/compliance/evidence-index.md

No evidence plan for CC9 (cyber insurance, vendor liability clauses) or CC1.1-CC1.5 (control environment/tone-at-top as distinct TSC criteria). SOC 2 Type II auditors sample by TSC criterion.

medium

IR tabletop has one scenario; no future scenarios enumerated

docs/compliance/ir-tabletop-cfe-credential-leak.md

Year-2 SOC 2 auditors will look for scenario diversity. Add a future-scenarios placeholder list.

medium

Internal audit checklist missing Clause 9.1 (monitoring, measurement)

docs/compliance/internal-audit-programme.md

Commonly cited as separate Stage 2 nonconformity. Add checklist item for 9.1 monitoring methods.

medium

Vendor register missing transactional email provider

docs/compliance/vendor-register.md

Email service transfers customer PII — must appear in register and subprocessor list.

improvement4

medium

Control calendar backup owners missing for 3 of 4 quarterly controls

docs/compliance/control-calendar.md

For a 3-founder team, empty backup fields mean missed control slots become audit exceptions.

medium

Audit RFQ facts pack missing data-residency and BC/DR claims

docs/compliance/audit-rfq.md

Firms ask upfront; answering saves ~1 week of back-and-forth before quotes arrive.

medium

Platform evaluation Fedora agent step lacks a pass/fail definition

docs/compliance/platform-evaluation.md

25%-weighted criterion will be scored inconsistently without a binary pass definition.

medium

Vendor register Action ③ (subprocessor list publish) needs a Linear issue

docs/compliance/vendor-register.md

C1 requirement for Type II. The initial publish needs a ticket with a target date before the window opens.

History · 6 commits

  1. 2ad7120blockedincremental7H · 14M · 11L2026-07-08 17:33
  2. 26393f2needs attentionincremental5H · 19M · 11L2026-07-08 04:57current
  3. 9b22f9fneeds attentionincremental6H · 12M · 9L2026-07-08 03:15
  4. 697438cneeds attentionfull3H · 7M · 6L2026-07-07 20:12
  5. aaec085needs attentionincremental7H · 11M · 9L2026-07-07 17:59
  6. 6a3693cneeds attentionfull11H · 13M · 6L2026-07-07 17:41