SOC 2準拠にプルリクエストは必須ではない
AIコーディングツールAmp(Sourcegraph製)のチームブログ記事「That’s not SOC 2 compliant」(著者: Will Dollman)の要旨。Ampチームはプルリクエストを使わずメインブランチへ直接pushする開発フローを採用しているが、それでもSOC 2準拠を達成しているという内容。
主張の骨子
SOC 2はプルリクエストというプロセスそのものを要求していない。求められているのは、変更に伴うリスクが「考慮され、コントロールされていること」であり、具体的な実装手段(PRレビューを必須にするかどうか)は問われない。監査人が確認するのは、リスクに対して何らかのコントロールが機能しているかどうかという実質面。
PRの代わりに導入している4つのコントロール
- Restricted push access — ビジネス上の役割に基づいてmainへのpush権限を制限する
- Signed commits — GitHub上で検証済み署名を必須化し、コミット作成者を検証可能にする
- Automated CI — テスト・インフラ・セキュリティチェックを含む検証パイプラインを全pushに対して実行する
- 監査証跡 — 各コミットを"Amp threads"(Ampとのやり取りの記録)にリンクし、変更の経緯を追跡可能にする
スケーラビリティについての著者の立場
Ampチームは現在20名規模(大半がエンジニア)で、この規模とチーム内の信頼関係があってこそ成立している面がある。著者自身も「2,000人規模の会社が全員にmainへのpush権限を与えるべきか」には否定的な立場を示している。結論として、組織やチーム全体を一律に変える必要はなく、システムごとに「PRが実際に管理しているリスクは何か」を問い直し、別のコントロールで代替できないか検討すべき、というのが記事の主張。