Approved and Ignored: When Peer Review Becomes a Permission Slip for Dangerous Code
Photo: Official GDC, CC BY 2.0, via Wikimedia Commons
In theory, peer code review is one of the most powerful safety mechanisms the software industry has ever devised. A second set of eyes on every change. Senior engineers signing off before anything ships. A documented trail of accountability that, in the event something goes wrong, proves the organization exercised due diligence.
In practice, at a growing number of technology companies across the United States, that process has been quietly hollowed out. The checkboxes remain. The approvals accumulate. The audit trail looks immaculate. And critical vulnerabilities sail through untouched.
This is what developers inside those organizations have started calling the Rubber Stamp Problem — and it is far more widespread than most engineering leadership will publicly acknowledge.
The Architecture of Plausible Deniability
To understand how peer review becomes theater, you have to understand what companies gain from the performance. A robust-looking review process does not just catch bugs. It distributes legal and reputational liability across a team. When a vulnerability is later discovered, the company can point to a chain of approvals and argue that every reasonable precaution was taken.
This creates a perverse incentive structure. The value of the review process — from a corporate risk management standpoint — is not that it actually catches problems. It is that it appears to catch problems. And once that distinction takes root in an organization's culture, the degradation of genuine review is almost inevitable.
Developers who have worked inside this system describe a recognizable pattern. Pull requests arrive with tight deadlines attached. Slack messages follow within hours: Can you take a look at this today? We're trying to merge before the release window closes. Senior engineers, already stretched across multiple projects, scan the diff, check that the tests pass, and click approve. Nobody wants to be the person who held up the release.
Real Code, Real Consequences
The consequences of performative review are not hypothetical. In 2021, a widely reported incident at a mid-sized fintech company — details of which were shared with WhistleDev by a former engineer who requested anonymity — illustrated exactly how the failure mode works in practice.
The company had recently implemented a mandatory two-senior-engineer approval policy following an internal audit. On paper, the policy was rigorous. In reality, the engineering team was under pressure to ship a major feature update ahead of a competitor's launch. A pull request containing a misconfigured authentication middleware — one that, under specific conditions, would bypass session validation entirely — was submitted late on a Thursday afternoon.
Both required approvals came within forty minutes. Neither reviewer left a comment. The code merged, deployed to production, and remained vulnerable for eleven weeks before an external security researcher identified the issue through a bug bounty submission.
When the incident was reviewed internally, the company's official position was that the review process had functioned as designed. Two senior engineers had approved the change. The checklist had been completed. The fact that neither reviewer had meaningfully examined the authentication logic was treated as a performance issue for individuals, not a structural failure of the review culture.
How to Recognize a Compromised Review Culture
For developers navigating organizations where this dynamic may be taking hold, several warning signs tend to surface before the consequences do.
Approval velocity is celebrated. If your team tracks or informally praises how quickly pull requests are reviewed and merged, that metric is actively working against thoroughness. Speed and rigor are not compatible goals in a safety-critical review context.
Comments are socially discouraged. In a healthy review culture, substantive feedback is expected and welcomed. In a performative one, leaving detailed comments — particularly critical ones — can be read as slowing the team down or signaling distrust of a colleague. If you have ever felt reluctant to raise a concern in a review because of how it might land politically, that reluctance is itself diagnostic.
Review assignments are concentrated or rotated to minimize friction. When companies assign reviews to engineers who are known to approve quickly, or rotate assignments in ways that avoid pairing junior authors with genuinely critical senior reviewers, the process has been optimized for throughput rather than safety.
Security-relevant changes receive no special treatment. Authentication logic, authorization checks, cryptographic implementations, and data handling code all carry higher risk than most other changes. If your organization does not have a formal or informal norm of applying additional scrutiny to these areas, that absence is meaningful.
What Developers Can — and Should — Do
If you are working inside an organization where review culture has become performative, you are not without options — though none of them are without friction.
Document your concerns in writing, and do so within the review system itself. If you believe a pull request contains a security issue and you are being pressured to approve it anyway, leave a comment articulating your concern before you approve. This creates a record that the issue was identified and either dismissed or inadequately addressed. That record may matter later.
If internal documentation fails to produce a response, escalate through whatever security reporting channel your organization maintains. Many US-based companies are now required under state-level data protection statutes and federal frameworks like the Gramm-Leach-Bliley Act or HIPAA — depending on their industry — to maintain mechanisms for reporting security concerns internally. Use them, and keep copies of what you submit.
For vulnerabilities that persist despite internal escalation, coordinated disclosure to the relevant software's users, or to regulatory bodies with jurisdiction over the affected sector, represents a legitimate and increasingly well-supported path. WhistleDev's Whistleblower Guides section covers the legal landscape for developers considering external disclosure in detail.
The Review Process Is Only as Honest as the Culture Behind It
Code review, at its best, is an act of collective responsibility. It is a team agreeing that no single developer's judgment is sufficient, that every significant change deserves scrutiny, and that the short-term cost of slowing down is always worth paying if it prevents a production incident or a security breach.
When that agreement is replaced by a compliance performance — when the approvals accumulate not because the code has been genuinely examined but because approving is easier than objecting — the review process does not just fail to provide safety. It actively creates danger, because it generates documentation that suggests safety was achieved.
The rubber stamp, in other words, is not a neutral artifact. It is a liability transfer mechanism dressed up as engineering diligence. And developers who understand that distinction are in a uniquely powerful position to push back against it.