Pentest finding dispute resolution
when the client pushes back, run a workflow rather than a chat thread
Most penetration test reports get at least one finding contested. The client says it is a false positive, the severity is too high, the asset is out of scope, the risk is already accepted, or the remediation requirement is unrealistic. Handled badly, the dispute lands in email, drags for weeks, and ends with the firm quietly rewriting a finding nobody can later defend. Handled well, dispute resolution is a structured workflow on the engagement record: triage, evidence review, adjudication against documented criteria, and a captured outcome that holds up six months later when an auditor reads the file.
No credit card required. Free plan available forever.
Run dispute resolution as a workflow, not a chat thread
Most penetration test reports get at least one finding contested. The client says it is a false positive, the severity is too high, the asset is out of scope, the risk has been accepted, or the remediation is impractical. Handled badly, the dispute lands in email, gets argued for two weeks, and ends with the firm quietly editing a finding nobody can defend three months later. Handled well, dispute resolution is a structured event on the engagement record: a captured dispute, a documented evaluation path, an independent peer review, an adjudicated decision, and a recorded outcome the next reviewer can read without reconstructing the conversation from memory.
SecPortal models pentest dispute resolution as a first-class workflow on the engagement. Each dispute opens against the affected finding, the evaluation path is named by dispute type, the reviewer who re-walks the evidence is named, severity changes carry a new CVSS 3.1 vector rather than a silent number swap, and the resolved outcome lands on the same record. The deliverable that reaches the branded client portal reflects the resolution, and the audit trail captures who decided what and why.
Six dispute types and how each one is evaluated
Not every dispute is the same shape. A false positive claim needs a reproduction attempt; a severity dispute needs a CVSS vector walk; a scope dispute needs the rules of engagement. Routing each dispute to the right evaluation path is the discipline that turns pushback into a reviewable event rather than an open-ended argument.
False positive claim
The client argues the issue does not exist, the reproduction does not work in their environment, or the scanner flagged a benign condition. The evaluation path is a reproduction attempt against the original evidence: the reviewer re-runs the request, walks the response, and either confirms the issue, captures additional evidence, or reclassifies the finding to informational with the rationale recorded on the finding.
Severity dispute
The client agrees the issue exists but argues the severity is wrong. The evaluation path goes back to the CVSS 3.1 vector and the environmental metrics. Reviewers walk attack vector, attack complexity, privileges required, user interaction, scope, and impact metrics against the evidence. A revised severity carries the new vector on the finding so the change is reproducible rather than a number swap.
Scope dispute
The client argues the asset, endpoint, or behaviour is out of scope, behind a system the firm was not authorised to test, or related to a third-party dependency rather than the buyer is system. The evaluation path goes back to the rules of engagement, the asset list, and the methodology section of the report. Out-of-scope findings get repositioned (informational, advisory) or removed with the rationale captured on the finding.
Accepted-risk claim
The client argues the risk has been formally accepted by an internal owner. The evaluation path requires a written acceptance with a named accountable owner, a documented business justification, and a reassessment trigger. An informal "we know about that" does not clear the bar; ISO 27001 Annex A 5.7 and SOC 2 trust services criteria expect documented risk treatment decisions or the finding sits as an unmanaged exposure.
Remediation feasibility dispute
The client argues the recommended fix is impractical, would break a dependency, or the cost outweighs the residual risk. The evaluation path goes back to the developer-readiness of the original guidance. Reviewers tighten the recommendation against the affected configuration, library, or code path, propose a compensating control where the original fix is genuinely impractical, and record the negotiated remediation on the finding rather than dropping the requirement.
Asset-changed claim
The client argues the underlying asset has materially changed since the test was run, so the finding no longer applies. The evaluation path goes back to the engagement window and the asset version. Material change after the test window typically moves work toward a fresh engagement rather than a quiet finding withdrawal; the original finding stays as historical context with a clear lineage link to the new engagement.
Where dispute resolution usually breaks down
Six failure modes recur whenever dispute resolution is treated as a relationship management exercise rather than a structured workflow. Each one is invisible at the time and visible at the next audit, the next retest, or the next client procurement review.
The dispute lives in email
Pushback lands in a Friday afternoon email, gets answered the following Tuesday, and is forgotten by the time the report ships. Six months later nobody can reconstruct why the severity was downgraded or why a finding was dropped. The audit trail starts at the published PDF rather than at the dispute that shaped it.
Severity is renegotiated, not re-evaluated
The client asks for the severity to be lowered, the firm complies to keep the relationship comfortable, and the CVSS vector on the finding stops matching the headline severity. The next reviewer reads the inconsistency as either a bug or a quiet downgrade, and either reading damages confidence in the report.
False positive becomes the default acceptance
Every contested finding gets dropped on the false positive line because re-walking the evidence is expensive and the deadline is closer than the principle. The catalogue ends up reflecting what the client was comfortable with rather than what the test found, and the firm cannot defend the report against a third-party reviewer who reads the original evidence.
Accepted risk lands without an owner
A finding gets marked accepted-risk on the back of a verbal "we know about that" with no signed acceptance, no named owner, and no expiry. The audit reads it as an unmanaged exposure. ISO 27001, SOC 2, and PCI DSS all expect the acceptance to be a written treatment decision with a reassessment trigger or it is not a treatment at all.
Remediation requirements get rewritten silently
The client pushes back on the fix, the firm rewords the remediation guidance to something easier to deliver, and the original requirement is erased rather than negotiated. The next reviewer reads the softened version and never knows the original requirement was harder. Where a compensating control is the right answer, it should be on the record alongside the original.
Disputes resolve outside the engagement record
Adjudication happens in a video call between the engagement lead and the client, the call ends with a verbal agreement, and the engagement record reflects nothing of the conversation. When the call participants leave the firm or the client team, the rationale leaves with them. The dispute outcome should land on the finding with a written rationale and a named approver, regardless of where the conversation happened.
Roles in a pentest dispute review
Dispute resolution is a multi-role workflow with explicit separation of duties. The independence of the peer reviewer from the original test author is what makes the outcome defensible to the client and to a third-party reviewer.
Test author
The tester who logged the original finding. Owns the original evidence, severity rationale, and remediation guidance. Defends the original call against the dispute, attaches additional evidence the reviewer asks for, and either accepts the dispute outcome or escalates it to the engagement lead with a written rationale.
Independent peer reviewer
A senior tester who did not author the disputed finding. Re-walks the evidence, the CVSS vector, and the reproduction independently of the original tester. The independence is what makes the dispute outcome defensible to the client and to a third-party reviewer; without it, the dispute is just two people arguing about the same finding.
Engagement lead
Owns the engagement and adjudicates when the test author and the peer reviewer disagree. Records the decision against the finding with the rationale, the affected severity or status, and the timestamp. Adjudication is not consensus; it is a recorded decision the audit trail can answer with later.
Client owner
The named client contact who raised the dispute. Provides evidence, business context, accepted-risk documentation, or remediation feasibility input as the dispute type requires. Receives the resolution against the finding through the branded client portal so the outcome is visible on the same record both sides see.
Five resolution outcomes a dispute can land on
Every dispute resolves to one of five outcomes. The discipline is to name the outcome on the finding rather than to leave the resolution implicit, because the named outcome is the artefact the audit reads later.
| Outcome | What it means on the finding |
|---|---|
| Confirmed | The original call stands. Reviewer re-walked the evidence and the finding holds. The dispute event is preserved on the finding with the reviewer name, the timestamp, and the rationale so the conversation does not have to repeat at the retest. |
| Reclassified | Severity, status, category, or remediation guidance changes. The change carries a new CVSS vector or a new rationale on the finding so the headline matches the underlying data. Reclassification never overwrites the original silently; the prior call is preserved in the dispute history. |
| Accepted | Formal risk acceptance is recorded with a named accountable owner, a written justification, and a reassessment trigger. The finding stays open with an accepted-risk status so the audit trail shows it was treated as a documented exception rather than a quiet drop. |
| Withdrawn | The finding moves to informational or is dropped from the report when re-evaluation shows the issue does not meet the bar (false positive, scope, methodology drift). The dispute history stays preserved on the finding so the withdrawal is reproducible rather than a missing record. |
| Escalated | The dispute reveals the underlying asset has materially changed, the methodology no longer applies, or the work crosses into a fresh engagement. A new engagement record is opened paired to the original for continuity, and the original finding stays as historical context. |
Reviewer checklist before the resolution lands
Before the dispute resolves, the reviewer runs through a short checklist. Each item takes minutes; missing any one of them is the source of the failure modes above and the audit catches that follow them.
- Dispute is captured against the affected finding, not in a side channel.
- Dispute type is named (false positive, severity, scope, accepted-risk, remediation feasibility, asset change).
- Independent peer reviewer is named on the dispute and is not the original test author.
- Reviewer re-walks the evidence and records the rationale on the finding.
- Severity changes carry a new CVSS 3.1 vector on the finding rather than a number swap.
- Accepted-risk outcomes carry a named owner, a written justification, and a reassessment trigger.
- Reclassified findings preserve the original call in the dispute history rather than overwriting it.
- Withdrawn findings keep the dispute event on the record so the withdrawal is reproducible.
- Engagement lead adjudicates contested calls with a recorded decision and rationale.
- Resolution outcome is reflected on the finding before the report regenerates.
- Findings are state-frozen between resolution and republication of the deliverable.
- The branded client portal surfaces the resolved status so both sides read one source of truth.
How dispute resolution looks in SecPortal
Dispute resolution is one workflow stitched into three feature surfaces: the engagement record, findings management, and team management with role-based access. Reviewer activity, adjudication, and resolved outcome live on the same engagement, so the conversation and the audit trail share a single source of truth.
Open the dispute
The client opens the dispute against the affected finding through the branded client portal. The dispute type and rationale are captured on the finding rather than in a chat thread, with a timestamp and a named requester.
Re-walk and adjudicate
A peer reviewer named through team management re-walks the evidence on the finding through findings management. Severity changes carry a new CVSS vector; rationale lives next to the data it changed.
Resolve and republish
The engagement lead records the outcome against the finding. If the executive summary is affected, the AI report regenerates against the resolved state. Findings state-freeze between resolution and republication so no edits land on an approved deliverable.
What auditors expect from a dispute trail
Disputes that resolve to reclassification, acceptance, or withdrawal show up in audit evidence. The frameworks below all expect a documented record of the decision rather than a softened finding with no rationale attached. The dispute resolution workflow produces that record as a side effect of running the workflow at all.
| Framework | What the audit expects |
|---|---|
| ISO 27001:2022 | Annex A 5.7 (threat intelligence) and 8.8 (management of technical vulnerabilities) expect documented risk treatment decisions. An accepted-risk dispute outcome is the documented decision; without a named owner and a justification, the audit reads it as an unmanaged exposure. |
| SOC 2 | Common Criteria CC7 (system operations) and CC9 (risk mitigation) expect identified risks to be treated, mitigated, or accepted with documented decisions. The dispute outcome is the documented decision artefact for any finding that is reclassified, accepted, or withdrawn. |
| PCI DSS v4.0 | Identified vulnerabilities are expected to be addressed under defined risk-based intervals. A dispute that resolves to accepted-risk has to carry a written justification and a reassessment trigger or it does not satisfy the requirement. |
| CREST | Accredited firms must demonstrate a documented process for handling client feedback on findings, with a named technical reviewer separate from the test author. The dispute resolution workflow is the artefact that demonstrates the process when CREST audits the firm. |
Where dispute resolution sits across the engagement lifecycle
Dispute resolution is the gate between report delivery and remediation. It composes with the rest of the engagement lifecycle on the same record so the work that goes in once does not have to be redone at every stage.
Upstream and downstream
Dispute resolution takes the output of pentest quality assurance and pentest report delivery once the report ships, and feeds the resolved state into remediation tracking, vulnerability acceptance and exception management for resolved accepted-risk outcomes, and retesting.
Project context
Dispute resolution is one phase inside pentest project management. The engagement lead schedules adjudication against the remediation timeline, names the reviewer, and tracks the dispute alongside scope, evidence, and findings on the same record.
Pair the workflow with the long-form guides
Dispute resolution is operational; the surrounding guides explain the trade-offs that show up at adjudication time. Pair this workflow with the severity calibration research for the data behind every CVSS argument, the CVSS scoring explained guide for the vector vocabulary, the aging pentest findings research for what an unresolved dispute costs over time, and the finding triage during a pentest guide for the upstream workflow that produces the catalogue disputes are raised against.
Buyer and operator pairing
A structured dispute resolution workflow is what pentest firms, security consultants, and internal security teams run when a contested finding has to clear an independent reviewer before the report is republished. The framework references that mandate this gate include CREST for accredited firms, ISO 27001 for documented risk treatment decisions, and SOC 2 for the audit trail of how identified risks were addressed.
What good dispute resolution feels like
Defensible outcome
Severity changes carry a new CVSS vector, accepted-risk decisions carry a named owner and an expiry, and withdrawn findings preserve the dispute history. When a third-party reviewer reads the report later, the answer to “why did this finding change” is on the finding itself.
Audit-ready trail
Named reviewer, dispute type, written rationale, adjudication decision, and resolved outcome live on the engagement record. CREST, ISO 27001, SOC 2, and client procurement audit answers come from the record rather than from a reconstruction of who said what in a video call.
Adjudicated, not negotiated
A contested finding is re-evaluated by an independent reviewer rather than renegotiated in a relationship call. The outcome reflects the evidence and the rules of engagement, not the negotiating power of either side. Both sides come out of the conversation with a record they can stand behind.
One source of truth
The dispute, the evaluation, the adjudication, and the resolution all live on the same record both sides see through the branded client portal. The chat thread fades; the engagement record persists. Six months later the question “what was the outcome” has one answer, not four.
Pentest finding dispute resolution is the workflow that decides whether a contested deliverable holds up six months later. Get it right and the report and the audit trail line up; get it wrong and the firm ends up defending findings nobody can reconstruct. The goal of this workflow is to make the structured re-evaluation the path of least resistance for any pentest team that has to handle pushback without quietly rewriting the deliverable.
Frequently asked questions about pentest finding dispute resolution
What is pentest finding dispute resolution?
Pentest finding dispute resolution is the structured workflow that runs when a client contests a finding from a penetration test. The dispute is captured on the affected finding, triaged by type (false positive, severity, scope, accepted-risk, remediation feasibility), re-walked by an independent peer reviewer, adjudicated by the engagement lead, and resolved to one of five outcomes (confirmed, reclassified, accepted, withdrawn, escalated). The resolution lives on the finding with the rationale, the named approver, and the timestamp so the audit trail can answer questions about the dispute six months later.
How is dispute resolution different from QA?
QA happens before the report ships. An independent peer reviewer walks the catalogue against documented criteria and the engagement lead signs off on the deliverable. Dispute resolution happens after the report is delivered, when the client pushes back on a specific finding. Both workflows use the same engagement record and many of the same reviewers, but QA is the gate before delivery and dispute resolution is the structured response to client feedback after delivery.
Who should run pentest dispute resolution?
A peer reviewer who did not author the disputed finding plus the engagement lead for adjudication. The independence is what makes the outcome defensible. CREST and ISO 27001 expect the same separation of duties that QA expects. The original test author defends the call and provides additional evidence; the peer reviewer re-walks independently; the engagement lead adjudicates when the two disagree. The named client owner provides the dispute rationale and receives the resolution through the branded client portal.
Should every contested finding be re-evaluated?
Yes. Even when the dispute reads as a renegotiation rather than an evidence challenge, the workflow runs because the evaluation produces the rationale that protects the firm and the client later. A contested finding that gets quietly dropped without a recorded re-evaluation creates a hole in the audit trail; a contested finding that gets re-evaluated and confirmed creates a stronger finding because the dispute history shows the call was challenged and held.
How are severity disputes resolved?
Severity disputes go back to the CVSS 3.1 vector and the environmental metrics. The reviewer walks attack vector, attack complexity, privileges required, user interaction, scope, and impact metrics against the evidence on the finding. A revised severity carries a new vector so the headline reflects the underlying data. Severity changes never happen as a number swap; they happen with a vector change and a recorded rationale, or they do not happen.
How are accepted-risk claims handled?
Accepted-risk claims require a written acceptance with a named accountable owner, a documented business justification, and a reassessment trigger or expiry date. ISO 27001 Annex A 5.7 and SOC 2 trust services criteria both expect documented risk treatment decisions; an unfixed finding with no signed acceptance is an unmanaged exposure rather than an accepted risk. The accepted-risk outcome on the finding holds the artefact the audit reads.
What happens when the client says the finding is a false positive?
A false positive claim triggers a reproduction attempt against the original evidence. The reviewer re-runs the request, walks the response, and checks the conditions the original test captured. The outcome is either confirmed (the issue reproduces and the original call stands), reclassified (severity changes or the category is wrong), withdrawn (the issue does not reproduce and the finding moves to informational or is dropped), or escalated (the underlying asset has changed enough that a fresh engagement is the right response). The reproduction evidence and the rationale stay on the finding regardless of the outcome.
Can findings be withdrawn?
Yes, when the re-evaluation shows the issue does not meet the bar. False positives that do not reproduce, scope-drift findings, and methodology mismatches get withdrawn. The withdrawal is recorded as an outcome on the finding with the dispute history preserved rather than the finding disappearing from the catalogue. A withdrawn finding with a recorded rationale is defensible; a finding that quietly disappears is not.
How does dispute resolution affect the report?
Resolved disputes flow through to the report. Reclassified severity changes the executive summary headlines. Accepted-risk outcomes appear in the residual risk section with the named owner and the reassessment trigger. Withdrawn findings drop from the technical catalogue but the executive summary reflects the count change. The AI report regenerates from the live engagement record so the deliverable matches the resolved state, and findings are state-frozen between resolution and republication.
How does SecPortal support dispute resolution?
SecPortal captures every dispute against the affected finding through findings management, with a named reviewer, a dispute type, a written rationale, and a resolution outcome. Team management gates who can adjudicate. The engagement record carries the dispute history alongside the original evidence so the audit trail is one source of truth rather than scattered across email and chat. The branded client portal surfaces the resolved status so both sides see the same record. The platform does not write the adjudication decision for the firm; it makes the decision cheap to record and impossible to lose.
How it works in SecPortal
A streamlined workflow from start to finish.
Capture the dispute on the affected finding
When the client contests a finding, the dispute opens against the finding itself, not in a side chat. The client states the dispute type (false positive, severity, scope, risk acceptance, remediation feasibility), provides their evidence or rationale, and the engagement lead acknowledges receipt with a timestamp. The dispute is now an event on the audit trail rather than an opinion in an email thread.
Triage the dispute against documented criteria
Each dispute type has a defined evaluation path. False positive claims require a reproduction attempt against the original evidence. Severity disputes go back to the CVSS 3.1 vector and the environmental context. Scope disputes go back to the rules of engagement and the asset list. Accepted-risk claims need written acceptance with an owner and an expiry. Remediation feasibility goes back to the developer-readiness of the original guidance. The triage step routes the dispute to the right evaluation rather than letting every dispute be argued the same way.
Re-walk the evidence on the finding
A peer reviewer who did not author the original finding re-walks the evidence: reproduction steps, request and response captures, screenshots, payloads, and the CVSS vector. The reviewer either confirms the original call, refines it with new evidence, or recommends a reclassification. The review is recorded on the finding with the reviewer name, the timestamp, and the rationale. Severity changes never happen silently; they happen with a written reason next to the data they changed.
Adjudicate with the engagement lead
When the peer reviewer and the original tester disagree, the engagement lead adjudicates. Adjudication captures the decision, the rationale, the affected severity or status, and the named approver. Adjudication is not consensus; it is a recorded decision so the audit trail can answer the question "who decided this and why" without anyone reconstructing the conversation from memory.
Apply the outcome to the finding and the report
The dispute resolves to one of five outcomes: confirmed (original call stands), reclassified (severity, status, or category changes with rationale), accepted (formal risk acceptance recorded with owner and expiry), withdrawn (finding moves to informational or is dropped, with the dispute history preserved), or escalated (treated as a new engagement event because the underlying asset has changed). The outcome lands on the finding, the report regenerates if the executive summary is affected, and findings are state-frozen between resolution and republication.
Carry the audit trail into the retest and the next engagement
Disputed findings carry their full history forward. The retest reads the original call, the dispute, the resolution, and the rationale on the same record rather than starting from a silently edited PDF. When the next engagement reuses templates from the prior workspace, prior dispute outcomes inform severity calls earlier rather than reproducing the same argument. The branded client portal surfaces the resolved status so both sides see one source of truth.
Features that power this workflow
Stop running finding disputes on email and memory
Capture, triage, adjudicate, and resolve disputes on the engagement record with a defensible audit trail. Start free.
No credit card required. Free plan available forever.