“那不符合 SOC 2 标准。”
"That's not SOC 2 compliant"

原始链接: https://ampcode.com/notes/thats-not-soc-2-compliant

Amp 对业界将“拉取请求”(PR)作为 SOC 2 合规标准提出了挑战。他们认为,审计人员更看重风险管理,而非特定的工作流程。通过关注合规的核心要求——即对变更进行授权、测试和记录,Amp 在没有使用 PR 的情况下,通过限制推送权限、强制提交签名以及自动化 CI/CD 流水线,依然维持了合规性。 Amp 不依赖强制性的人工代码审查,而是确保每一项变更都经过安全和基础设施检查,并留存将代码提交与项目讨论相关联的审计追踪。这种经过深思熟虑的高信任流程,使团队能够持续交付并保持敏捷。 Amp 承认,虽然他们的“直接推送到主分支”方案适用于当前的小型团队,但未必适用于所有规模。不过,他们认为各类企业都应重新审视自身的流程。企业不应默认采用为最高风险系统设计的“一刀切”式 PR 流程,而应评估每个项目的具体风险,并设计针对性的管控措施。归根结底,SOC 2 合规的本质在于证明你了解并能够降低风险,而拉取请求仅仅是实现这一目标的方式之一。

Hacker News 上题为“那不符合 SOC 2 标准”的讨论,凸显了企业合规(特别是 SOC 2)与软件工程进度之间充满争议的矛盾。 许多贡献者批评正式的变更咨询委员会(CAB)和强制性的合规表演,指出它们往往会造成官僚瓶颈,助长“批量处理”高风险发布,并挫伤员工士气。几位评论者认为,这些流程往往只是流于形式,将文档工作置于实际安全之上。 相反,持怀疑态度的人警告称,为了追求“高信任”环境而放弃严格管控,会招致挪用公款或恶意内部威胁等重大风险。他们认为,如果这些控制措施可以轻易被绕过,仅依靠测试或同行评审是不够的。 归根结底,该讨论反映了行业中一个普遍的困境:如何在不抑制生产力的前提下,实施有效的安全与监管。尽管有人主张用自动化的产物证明或结对编程来替代传统的基于 PR 的把关方式,但其他人对于放弃既定且受审计员欢迎的协议仍持谨慎态度,即便这些协议被认为效率低下。
相关文章

原文

Will Dollman//August 13, 2026

We’ve been sharing more about how we work: building Amp with Amp, orbs, killing features, no pull requests. And the most common reaction isn’t about the AI workflows or whatever kind of loop graph engineering is flavor of the week. It’s this:

Wait, you don’t use pull requests? You push to main? How? That’s not SOC 2 compliant.

Except it is.

Skipping pull requests was a deliberate choice from the first commit. It’s a big part of how we build and why we can ship continuously.

So when we started working toward SOC 2, we took that question straight to our auditors: “you need PRs for that… right?”

Controls

SOC 2 doesn’t require pull requests. It requires that you think about your risks.

That’s the real answer we came away with. Auditors, and SOC 2 itself, are more flexible than you might assume. Ours didn’t ask us for pull requests; they asked what our change process was, and worked with us on a set of controls that fit it.

The Trust Services Criteria never mention git or pull requests. What they ask for is that changes are authorized, tested, approved, and recorded — and pull requests are just one way of doing that.

Here are the controls we landed on:

  • Restricted push access. Access to main follows business function: every engineer at Amp can push, and most of Amp is engineers. But the percentage of people with access matters less than being able to explain exactly who has it and why.
  • Signed commits. Pushing already requires authentication, but commit authorship is just metadata. GitHub enforces verified signatures on main, which makes the author on every commit verifiable.
  • Automated CI. Every change runs through the full validation pipeline: tests, infrastructure checks, security checks. Bad changes block main.
  • An audit trail that’s as good as a PR’s. Commits link to the Amp threads that produced them, so the record isn’t just a diff, it’s everything that led up to it. From there, CI/CD records the path from commit to deployment.

None of this is exotic. But it isn’t the standard process with a step deleted, either. It’s a system designed on purpose, and it gives an auditor the same thing a PR workflow gives them.

And no, code review isn’t on the list. The criteria don’t say a second human has to stare at a diff.

Does this scale?

We’re 20 people, mostly engineers, and everyone is close to the code. Being small and high-trust is our advantage, and we aren’t going to give it away for a process we don’t need. When writing code is fast, slow process becomes what you’re actually waiting on. But we’re not going to pretend a 2,000-person company should let everyone push to main.

What does scale is think about your risks, because risk isn’t uniform inside a company either. Amp is customer-facing production software, and we ship it this way. Meanwhile, plenty of code at bigger companies carries less risk than that, yet every change goes through the same process, calibrated to the scariest system the company runs.

And you don’t have to overhaul the whole company to fix that. Pick one system and ask: “What risks are our pull requests actually managing here?” Then ask how else you could manage them.

The answer doesn’t have to be pull requests.

联系我们 contact @ memedata.com