A penetration test that surfaces critical findings right before a release deadline puts engineering and security teams in an uncomfortable position. Delaying the release feels costly. Shipping with open vulnerabilities feels reckless. The good news is that neither option is your only path forward. With a structured approach, you can close out pentest findings responsibly, protect the release timeline, and keep your security posture intact.
This guide walks you through exactly how to do that, from triaging findings against your release scope to maintaining accountability for anything that ships open.
Map pentest findings to release risk before anything else
Before any remediation decision gets made, you need to understand which findings actually affect what you are shipping. Not every vulnerability in a pentest report is relevant to the code or systems going out in this release. Mapping findings to release scope is the first filter that separates urgent action items from everything else.
- Pull the full pentest report and list every finding with its severity rating (critical, high, medium, low).
- Cross-reference each finding against the components, services, and endpoints included in your release scope.
- Tag each finding as in scope (directly affects what ships), adjacent (affects related systems that could be reached via the release), or out of scope (unrelated to this release).
- Flag any in-scope critical or high findings for immediate escalation to the release owner and security lead.
After this step, you should have a clearly segmented list. Out-of-scope findings do not disappear, but they no longer block this conversation. Your focus narrows to the findings that genuinely intersect with what is going live.
Build a remediation priority matrix for your release scope
With in-scope findings identified, the next step is to rank them by the combination of severity and exploitability in your specific environment. A critical finding in an isolated internal system carries different release risk than a high-severity finding in a public-facing API endpoint. A flat severity list does not give you enough signal to make good decisions under time pressure.
Build a simple two-axis matrix using severity on one axis and exploitability context on the other. Exploitability context means: Is this reachable without authentication? Does it require chained access? Is it exposed to the internet or only to internal users? Assign each in-scope finding a combined risk score and sort the list accordingly.
- Create a spreadsheet with columns for finding ID, severity, exploitability context, combined risk score, assigned owner, and estimated fix time.
- Score exploitability: high (unauthenticated, internet-facing), medium (authenticated or internal), low (requires chained exploitation or privileged access).
- Multiply or weight severity against exploitability to produce a combined score. Even a simple 1-3 scale works if applied consistently.
- Sort the list by combined score and identify the hard cutoff: findings above a defined threshold must be fixed before release, findings below it are candidates for compensating controls.
You now have a defensible, documented rationale for every remediation decision tied to this release. This matrix becomes the reference document for every conversation that follows.
Negotiate compensating controls for findings that can’t be fixed in time
Compensating controls are temporary security measures that reduce the exploitability or impact of a vulnerability when a full fix is not feasible before the release date. They are a standard part of responsible release management, not a workaround or a shortcut. The key is that they must be specific, enforceable, and time-bound.
For each finding that cannot be remediated in time, work with the security team to define a control that meaningfully reduces risk. Vague commitments like “we will monitor this” do not qualify. Specific controls do.
- Network-level restrictions: Limit access to the vulnerable endpoint by IP range, VPN requirement, or firewall rule.
- WAF rules: Deploy a web application firewall rule that blocks known exploit patterns targeting the vulnerability.
- Rate limiting and alerting: Implement rate limits on the affected endpoint and set up alerts for anomalous traffic patterns.
- Feature flags: Disable the vulnerable feature entirely in production until the fix is deployed.
- Increased monitoring: Elevate logging verbosity and set up real-time alerting on the affected component for the post-release window.
Document each compensating control formally: what it is, who owns it, when it goes live, and when it expires. A compensating control without an expiry date tends to become permanent. Tie each control directly to the finding it covers and include a remediation deadline.
Get security sign-off without a full remediation cycle
Security sign-off does not require every finding to be closed. It requires the security team to formally agree that the residual risk of shipping is acceptable given the controls in place. That agreement needs to be documented, and the right people need to own it.
- Prepare a release risk summary document that includes: the prioritized findings list, the remediation status of each in-scope finding, the compensating controls in place for open items, and the combined residual risk assessment.
- Schedule a sign-off meeting with the security lead, the release owner, and, where appropriate, a representative from legal or compliance if regulated data is involved.
- Walk through each open finding and its compensating control. The security lead should explicitly accept or reject the residual risk for each item.
- Capture the sign-off in writing, whether as a signed document, an email confirmation, or a tracked approval in your project management tool.
If the security lead is not comfortable signing off, that is a signal to revisit the compensating controls or push the release. A sign-off under pressure without genuine agreement creates liability and erodes trust. The goal is informed consent, not a rubber stamp.
Track open findings post-release without losing them
Open findings that ship with a release have a way of disappearing into backlogs and never getting fixed. The post-release tracking step is where most teams fail, and it is the step that determines whether your compensating controls actually expire or quietly become permanent fixtures.
Integrate every open finding directly into your engineering backlog with a severity label, a remediation deadline, and a link back to the original pentest report. Do not keep them in a separate security spreadsheet that only the security team can see. Visibility drives accountability.
- Create a ticket for each open finding in your project management tool (Jira, Linear, GitHub Issues, or equivalent).
- Tag each ticket with the pentest date, the finding ID, the severity, and the agreed remediation deadline.
- Assign each ticket to an owner and add it to the relevant team’s sprint backlog or roadmap.
- Set a calendar reminder or automated workflow to review open finding tickets at a defined cadence, typically every two weeks until closed.
- When a compensating control expires, verify that the underlying finding is closed. If it is not, escalate before removing the control.
After your first release cycle using this approach, you should have zero orphaned findings. Every open item from the pentest will have a ticket, an owner, a deadline, and a compensating control that is actively managed until remediation is complete.
Closing out pentest findings before a release is a process problem as much as a technical one. The teams that do it well are not the ones with the fewest vulnerabilities; they are the ones with the clearest documentation, the most specific compensating controls, and the strongest accountability structures. If your team needs support building that process or wants an independent security perspective on residual risk before a major release, get in touch with us and we can help you work through it.
Frequently Asked Questions
Wat moet ik doen als de security lead weigert te tekenen voor een release met open bevindingen?
Als de security lead niet akkoord gaat, moet je de compenserende maatregelen herzien of de release uitstellen. Bespreek welke extra controls nodig zijn om het resterende risico acceptabel te maken, en documenteer de redenen voor uitstel zodat alle betrokkenen een duidelijk beeld hebben van de beslissing en de vervolgstappen.
Hoe bepaal ik welke compenserende maatregelen sterk genoeg zijn voor een kritieke bevinding?
Een compenserende maatregel is sterk genoeg als deze de kans op uitbuiting of de impact ervan aantoonbaar vermindert, specifiek is geformuleerd, een eigenaar heeft en een concrete vervaldatum kent. Vage afspraken zoals 'we houden het in de gaten' zijn onvoldoende; kies voor aantoonbare technische controls zoals WAF-regels of IP-restricties.
Wanneer is het verantwoord om een release door te laten gaan met open bevindingen van hoge ernst?
Een release met open high-severity bevindingen is verantwoord als de exploiteerbaarheid laag is, er specifieke compenserende maatregelen actief zijn, de security lead formeel akkoord heeft gegeven en elke open bevinding een gedocumenteerde remediation-deadline heeft. Zonder al deze elementen is uitstel de veiligere keuze.
Hoe voorkom ik dat open bevindingen na de release in de backlog verdwijnen en nooit worden opgelost?
Integreer elke open bevinding direct als ticket in het projectmanagementsysteem van het engineeringteam, voorzien van een eigenaar, een deadline en een koppeling naar het pentest-rapport. Stel een vaste reviewcyclus in van bijvoorbeeld twee weken en controleer bij het verlopen van een compenserende maatregel altijd of de onderliggende kwetsbaarheid al is verholpen.