Bug bounty finding intake and triage
the internal workflow record that runs alongside your external platform
Bug bounty submissions arrive through HackerOne, Bugcrowd, Intigriti, Synack, or a private programme; the external platform brokers the researcher relationship and the payout. The work the security team still owns is internal: validate the report against the deployed estate, dedup against existing findings, calibrate severity to the programme standard, route to the named owner, retest the fix, and produce the audit evidence the GRC team carries through ISO 27001, SOC 2, PCI DSS, NIST 800-53, NIS2, and DORA fieldwork. Run that internal record as a structured intake and triage workflow on the same engagement surface the rest of the vulnerability programme uses.
No credit card required. Free plan available forever.
Bug bounty programmes still need an internal workflow record
A managed bug bounty platform brokers the researcher relationship and the payout. Everything the security team still owns is internal: validating the report against the deployed estate, deduping against existing findings, calibrating severity to the workspace standard, routing the work to the named owner, retesting the fix, and producing the audit evidence pack the GRC team carries through fieldwork. SecPortal is not a researcher marketplace and does not broker payouts; it is the internal workflow record that runs in parallel with the external platform so the operating chronology stays defensible.
The pattern below pairs with the vulnerability disclosure programme workflow for the no-payout coordinated disclosure track, the internal disclosure intake workflow for employee, contractor, and customer-success channels, the general vulnerability finding intake workflow for scanner-driven intake, and the third-party pentest report intake workflow for time-boxed pentest deliverables. The bug bounty workflow sits alongside all four on the same engagement surface and feeds the common downstream routing, retest, and audit reads.
Six external sources a bug bounty intake handles
A modern bug bounty programme ingests from more than one external source. Each source carries a different brokering layer, a different confidentiality posture, and a different handoff artefact set. The engagement holds every source in the allowlist as an explicit object so the intake ledger can cite the originating signal cleanly when the audit, the insurer, or the regulator reads back the chain six months later.
| Source | Signal class | Handoff artefacts at intake |
|---|---|---|
| Public bug bounty platform (HackerOne, Bugcrowd, Intigriti, YesWeHack) | A managed marketplace where external researchers submit reports against the published scope, the platform runs the first-pass triage, and the platform brokers the payout once severity is agreed. The platform owns the researcher relationship; the security team owns the internal remediation record. | The platform case identifier, the researcher handle, the triaged severity, the proof of concept, and the disclosure timing constraints are the handoff artefacts the internal record needs at intake. The internal record does not replicate researcher communication; it captures the case reference so the audit chronology stays continuous from external case to internal finding. |
| Private bug bounty programme on a managed platform | A curated researcher pool invited to a private programme on a managed platform (HackerOne private, Bugcrowd private, Intigriti private). Lower-volume than public programmes, higher signal-to-noise, and the researcher pool tends to specialise on the in-scope estate. | The intake captures the same fields as the public platform handoff. Private programmes often have stricter confidentiality clauses on the researcher report content, which the workspace honours through RBAC scoping on the engagement record and a TLP-style handling note on the document management artefact. |
| Crowdsourced pentest platform (Synack, Cobalt, BugCrowd Next-Gen Pen Test) | A platform that blends the bug bounty model with a structured engagement: a curated tester pool, a defined scope, a fixed window, and a deliverable that reads like a pentest report. The platform brokers the testers and the methodology evidence; the internal record holds the remediation lifecycle. | Crowdsourced pentest output arrives as a batch of findings against the defined scope plus a methodology deliverable. The intake opens findings on the engagement record per individual finding from the batch with the platform tasking identifier attached and the deliverable held as a document management artefact. |
| In-house private programme on a self-hosted submission portal | A programme the organisation runs without a managed platform. Researchers submit reports through a security@ contact, a security.txt-pointed form, or a published submission URL. The relationship and the payout decision live entirely with the security team. | The intake captures the researcher handle (or pseudonym where the programme respects anonymity), the original submission reference, the suggested severity, the proof of concept, and the payout decision rationale on a finding against the programme engagement. The in-house programme produces the same audit evidence pack the managed platforms do; only the brokering layer differs. |
| Coordinated disclosure platform referral from a public VDP | A report that arrived through a public Vulnerability Disclosure Programme (VDP) without a payout and later qualified for the bug bounty programme because the affected asset was in-scope, the severity warranted recognition, or the researcher requested compensation under the published policy. The VDP triage referred the report into the bounty track. | The intake captures the originating VDP case reference, the bounty programme case reference issued at promotion, and the rationale for the promotion on the finding record. The chronology preserves both references so the audit reads how the report entered the programme. |
| Researcher-initiated direct contact outside the platform (rare, but recorded) | A researcher reaches out directly through email, security.txt, social media, or a personal contact instead of using the programme platform. The intake honours the report when it concerns the in-scope estate but routes the researcher to the platform for any payout negotiation. | The intake opens a finding on the programme engagement with the report content, the researcher handle, the originating channel, and a named decision on whether the report routes onto the bounty platform for payout consideration or stays as a no-payout coordinated disclosure. The reasoning is captured so the named-decision audit trail reads cleanly. |
Four catalogues the dedup check reads against before opening a new record
Dedup is the discipline that keeps bug bounty intake from collapsing into a noisy parallel queue. Reports that resolve into existing findings, closed findings, accepted exceptions, or scanner findings need a named decision that captures the cross-reference rather than a new record that contradicts the queue.
Open finding catalogue on the affected asset
Every report passes a check against the open findings already recorded on the same asset for the same finding template. A SQL injection against /api/v1/orders that two researchers report a day apart should resolve to one finding with two case references, not two separate records that confuse routing, retest, and disclosure.
The intake runs the asset reference and the finding template against the open catalogue before opening a new record. A match prompts a named decision: merge the new submission into the existing record with the new platform case identifier captured on an override row, or accept the submission as a distinct finding because the proof of concept demonstrates a materially different path.
Closed-and-fixed finding catalogue against the same asset and template
Reports against issues the programme already remediated reach the intake routinely. A reproduction against a fix the engineering team shipped six months ago is a regression; a reproduction against a fix that never landed is a closure error. Both need a different intake path than a fresh finding.
The intake checks closed-and-fixed findings on the same asset and template. A reproduction against a closed finding promotes to the reopen workflow on the original finding rather than opening a new record. The reopen carries the new platform case identifier, the reproducer evidence, and the fix-reversion or fix-incomplete rationale.
Accepted exception or override register against the same asset
A report that lands against a finding the programme already accepted as risk, suppressed for a documented reason, or deferred under an override decision is not a new finding. The exception register holds the named decision, the expiry, and the compensating control; the intake reads against that register before opening a new record.
The intake checks the override register for matches. A report against an active exception logs as a re-validation against the existing override with the new platform case identifier; the named decider gets prompted to review the override against the new evidence rather than the queue opening a parallel record that contradicts the exception.
Scanner finding catalogue on the affected asset
External research often surfaces the same issue an authenticated scan, a code scan, or a CSPM check has already flagged. The scanner finding is on the queue with its own owner and SLA; the bug bounty report should not produce a parallel record that disagrees with the scanner record on severity, owner, or SLA.
The intake checks the open scanner findings on the affected asset for the same template. A match resolves into the scanner finding with the new platform case identifier captured on an override row and the source attribution updated to record that an external researcher independently surfaced the issue. The audit reads as one finding with two sources, not two findings with conflicting state.
Six outcomes every intake decision resolves into
Every accepted external case resolves into one of six outcomes. The outcome is a named field on the intake record so the bug bounty ledger reads as a queryable taxonomy rather than as free-text analyst commentary that the GRC team has to translate at audit.
Accepted as a new finding
The dedup check produced no match against open, closed, override-covered, or scanner-recorded findings. The intake opens a new finding on the engagement with the platform case identifier, the researcher handle, the calibrated severity, the affected asset, the proof of concept, and the source attribution. The new finding inherits the routing rule, the SLA tier logic, and the owner-of-record mapping the rest of the programme uses.
Merged into an existing open finding
The dedup check matched an open finding on the same asset and template. The intake records the new platform case identifier on the existing finding rather than opening a parallel record. The override register captures the merge decision, the rationale, and the named decider so the audit reads why two platform cases resolved to one internal finding.
Reopened against a closed finding
The dedup check matched a closed-and-fixed finding on the same asset and template, and the report demonstrates the issue still reproduces. The original finding reopens with the new platform case identifier, the reproducer evidence, and the regression or fix-incomplete rationale. The aging clock runs from the original capture date so the SLA reads against the original report, not the reopen event.
Re-validation of an existing exception or override
The dedup check matched an active exception. The intake logs the report as a re-validation against the existing override with the new platform case identifier, prompts the named decider to review the override against the fresh evidence, and records the named decision (override stands, override revised, override revoked) on the engagement.
Linked to an existing scanner finding
The dedup check matched an open scanner finding on the affected asset. The intake updates the existing scanner finding with the new platform case identifier, records the external researcher source attribution, and triggers a priority recalculation against the fact that an external party independently reproduced the issue. The original scanner finding owner remains the recipient of record.
Closed as out-of-scope with named rationale
The report falls outside the published programme scope. The intake records the out-of-scope decision on the engagement with the named decider, the rationale (asset not in scope, finding class excluded, scope version under which the report was triaged), and the document management artefact for the closure communication. The audit reads what the programme considered and not just what it accepted.
Seven failure modes that quietly break bug bounty intake
Most bug bounty failures look like sensible defaults: trust the platform triage, copy the platform severity, keep the conversation on the platform, post the disclosure when the researcher asks. The cost arrives months later as a missed retest, a duplicated record, a leaked confidentiality clause, or an audit ask the team cannot reconstruct.
Reports sit on the platform and the internal record never opens
The triager marks the report as triaged-and-accepted on the external platform and assumes the engineering owner will follow the platform thread. Two weeks later the platform shows the case still open, no internal finding exists, and the SLA clock has been running unrecorded since acceptance. The fix is opening a finding on the engagement at the moment the external platform marks the case as triaged-and-accepted so the internal queue is the canonical source of truth on remediation status.
External severity is copied without calibration and routing breaks
The external platform records severity for payout purposes against its own rubric. The intake copies that severity into the finding and the workspace routing reads the wrong tier, the wrong owner, and the wrong SLA. The fix is recording the external severity as the source severity and applying the workspace CVSS 3.1 calibration with the temporal and environmental adjustments the deployed configuration justifies, so the routing reads against the calibrated severity and not the platform-payout severity.
Duplicate reports open parallel records and contradict each other
Two researchers report the same SQL injection a day apart. The intake opens two findings with different owners, different SLAs, and different severity calibrations. Three months later the engineering team is on the hook for two records that resolve to the same fix. The fix is running the dedup check against the open catalogue, the closed catalogue, the override register, and the scanner catalogue before opening a new record, and capturing the merge decision on the existing finding rather than a parallel one.
Confidential researcher reports leak through the standard engagement view
Private programme reports with strict confidentiality clauses land on the engagement and become visible to everyone on the workspace. A researcher PII reference, a vulnerability that has not been disclosed, or a private-programme handling constraint gets exposed to roles that did not need access. The fix is RBAC scoping on the engagement record so only the named handlers see the privileged material, with the TLP-style handling note recorded on the document management artefact so the constraint travels with the report.
Retest happens on the platform and the internal record never updates
Engineering ships the fix, the researcher confirms remediation on the external platform, and the platform case closes. The internal finding stays in_progress because nobody walked the retest evidence back into the workspace. The audit reads the finding as overdue when it is actually resolved. The fix is the retest workflow pairing the verification artefact (request and response, regression test, screenshot) to the original finding on the engagement and moving the finding state to resolved or verified on the same record the platform case closed against.
Disclosure timing slips and the public posting catches the team unprepared
The researcher requests public disclosure after the agreed embargo and the team has no record of the embargo terms, the named disclosure decider, or the prepared public communication. The disclosure lands without a coordinated response. The fix is recording the disclosure handling terms on the finding at intake (immediate, embargo with named end date, coordinated delay with named justification), the named disclosure decider, and the document management upload of the prepared public communication so the team is ready to coordinate when the embargo lapses.
Audit evidence is reconstructed from chat logs every cycle
The audit asks how the programme processed bug bounty submissions over the past quarter. The team excavates Slack threads, the platform export, and a spreadsheet to produce a narrative. The reconstruction is incomplete and slow. The fix is the activity log capturing every intake, dedup decision, severity calibration, owner assignment, retest event, disclosure decision, and exception linkage with timestamp and actor; the CSV export is the evidence pack the assessor reviews, not a narrative the analyst writes from memory.
Six fields every bug bounty intake has to record
A defensible intake is six concrete fields on the engagement, not a sentence in a Slack thread referencing the external platform. The fields make the intake chronology reconstructable when an auditor, an insurer, or a regulator asks how the programme processed external research input over the period under review.
External case identity and source attribution
The platform identifier (HackerOne case URL, Bugcrowd submission reference, Intigriti report ID, Synack tasking reference, in-house programme reference), the platform-recorded severity, the researcher handle, the platform-recorded triage timestamp, and the document management upload of the original report body. The external identity stays attached to the internal finding so the audit chronology is continuous from platform case to internal record.
Calibrated severity, CVSS vector, and source severity preservation
The CVSS 3.1 base vector the workspace severity policy calibrated, the temporal and environmental adjustments the deployed configuration justifies, the resulting severity tier (Critical, High, Medium, Low), and the source severity from the external platform preserved alongside. The calibration is reproducible at audit because both severities are recorded on the same finding rather than the source severity being overwritten.
Asset binding, affected component, and the routing handoff
The affected asset reference (verified domain, repository, mobile bundle identifier, API endpoint, infrastructure resource), the affected component and version, the criticality tier from the asset criticality scoring layer, the routing rule the SLA tier inherits, and the named owner of record on the affected asset. Unowned assets promote to the unowned-asset queue rather than disappearing into the analyst inbox.
Dedup decision and the merge or reopen reference
The dedup check result against the open catalogue, the closed catalogue, the override register, and the scanner catalogue. The named decision (new finding, merged into open, reopened against closed, re-validation against override, linked to scanner finding, closed as out-of-scope), the rationale, and the cross-reference to the existing record where one applies. The dedup decision is a named field so the audit reads against a queryable taxonomy.
Disclosure handling, payout decision reference, and embargo terms
The disclosure handling terms recorded at intake (immediate public disclosure, embargoed disclosure with named end date, coordinated delay with named justification, no public disclosure), the named disclosure decider, the document management upload of the prepared public communication where the programme prepares one in advance, and a non-executable reference to the payout decision on the external platform. SecPortal does not broker the payout; the workspace records the decision context so the internal chronology stays coherent.
RBAC scoping, confidentiality handling, and PII protections
The access scope that applies to the engagement (broad workspace access, restricted to bug bounty handlers, restricted to a named subset for private-programme constraints), the TLP-style handling note where the originating constraint demands one, and the PII handling rule for researcher attribution where anonymity protections apply. Confidential material is isolated by access scoping rather than relying on social discipline.
Eight queues the bug bounty engagement runs concurrently
During an active programme cycle the engagement runs eight queues at the same time. Each queue has a named owner, a documented cadence, and an unresolved-item escalation rule so external researcher signal does not drift behind the platform thread.
- New-submission queue: every external case the platform marked as triaged-and-accepted in the cycle, with the named intake analyst on the hook to open the internal finding.
- Dedup decision queue: every accepted submission with the dedup check completed, the named dedup decision recorded, and the cross-reference to any matched existing record captured on the engagement.
- Severity calibration queue: every new finding from a bug bounty submission with the source severity preserved and the calibrated CVSS 3.1 vector recorded on the finding rather than only on a narrative note.
- Owner routing queue: every new bug bounty finding with the named owner of record on the affected asset, the SLA tier inherited from the routing rule, and the notification fired against the cadence the programme operates.
- Retest verification queue: every fix engineering reports against a bug bounty finding with the verification artefact bound to the original finding and the state moved to resolved or verified on the same record.
- Disclosure handling queue: every fixed finding with the disclosure decision recorded, the named disclosure decider on the hook, and the prepared public communication held as a document management artefact where the programme prepares one.
- Exception re-validation queue: every report that landed against an active override with the named decider prompted to review the override against the fresh evidence and the decision (stand, revise, revoke) captured on the engagement.
- Audit evidence read queue: the rolling intake ledger, the dedup decisions, the calibrated severity history, the routing record, the retest record, and the activity log CSV export ready for the GRC team to read against ISO 27001, SOC 2, PCI DSS, NIST 800-53, NIS2, and DORA fieldwork.
Four boundaries that keep bug bounty intake distinct from adjacent workflows
The bug bounty intake workflow shares an engagement surface with four adjacent intake disciplines. The boundaries below keep each workflow on its own discipline so the queue does not collapse into a single overloaded record that no audit can read.
Vulnerability disclosure programme (VDP) management
The VDP management workflow runs the public commitment to receive and triage security reports without a payout. The bug bounty workflow runs the operational record for reports that arrive through a paid platform or programme. Both run on the same engagement surface and share dedup, severity calibration, routing, and retest discipline; the bug bounty workflow adds the platform case identity, the dedup against the scanner catalogue, and the disclosure embargo handling the payout layer often imposes.
Internal vulnerability disclosure intake workflow
The internal disclosure intake workflow runs the record for employee, contractor, customer-success, internal red team, and anonymous-channel reports. The bug bounty workflow runs the record for external researcher reports that the bounty platform brokered. The internal intake page acknowledges bug bounty triage handoff as one of its upstream sources; this page is the upstream discipline that produces that handoff.
Vulnerability finding intake (the general scanner intake)
The general vulnerability finding intake workflow runs the record for scanner output, third-party scan imports, and structured machine-generated findings. The bug bounty workflow runs the record for human researcher submissions where the source is a paid external programme, the calibration steps differ, and the dedup discipline reads against the scanner catalogue rather than only against the open finding catalogue.
Third-party penetration test report intake
The third-party pentest report intake workflow runs the record for time-boxed engagements that arrive with a structured methodology and a single deliverable. The bug bounty workflow runs a continuous intake against ongoing researcher activity where each report is its own structured record, the disclosure timing varies per report, and the dedup discipline runs against a continuously moving catalogue rather than against a single batch.
How the bug bounty intake runs in SecPortal
The intake rides on the same feature surfaces the rest of the vulnerability programme already uses. The bug bounty programme opens as an engagement on the workspace, every accepted external case lands as a finding with the platform identifier attached, document management holds the original report and the disclosure communication, the dedup discipline reads against the open and closed catalogue and the override register, retest workflows pair fixes to the original finding, the activity log captures every state change, and AI report generation composes the operational read for the security operations leader, the CISO, and the audit evidence pack from the live record.
Programme as an engagement record
The bug bounty programme opens on the engagement record with the named programme owner, the source allowlist for external platforms, the scope and out-of-scope lists, the severity policy reference, and the recurring intake cadence. Every external case the programme accepts lands as a finding on the same engagement.
Findings with platform provenance
Findings management holds every accepted external case as a finding with the platform case identifier, the researcher handle, the source severity, the calibrated CVSS 3.1 vector, the affected asset, and the proof of concept. The finding picks up the existing SLA tier logic and routing rules.
Documents for reports and policy
Document management holds the original researcher report, the programme policy reference, the payout policy reference (held, not executed), and the disclosure communication artefact so the chain of custody from external case to internal finding stays reconstructable.
Overrides for dedup decisions
Finding overrides capture the dedup decisions: duplicate-of, merged-into, accepted-exception, false-positive, and the named decider on each. The override register reads as the queryable record the audit consumes when asked how two platform cases resolved to one internal finding.
Retest workflows close the loop
Retesting workflows pair the verification artefact to the original finding and move the state to resolved or verified on the same record the external case closed against. The aging clock keeps running on the original capture date so the SLA reads against the date the programme received the report.
RBAC for confidential handling
Team management scopes engagement access to the named bug bounty handlers and the privileged-source handlers. Private-programme confidentiality clauses and TLP-style handling notes are enforced by access scoping with multi-factor authentication enforced on every account rather than by social discipline.
Notifications keep work moving
Notifications push routed bug bounty findings to the named owners on the documented cadence so accepted submissions do not sit on the engagement waiting for someone to open the queue view by chance. Disclosure embargo windows surface as notification cues against the recorded end date.
AI operational and audit reads
AI report generation composes the recurring bug bounty programme read for the security operations leader, the CISO briefing, the board read-out, and the audit evidence pack from the live engagement record. Reports regenerate so the operational and the audit views never disagree on the underlying chronology.
Activity log evidence chain
The activity log captures every intake, dedup decision, severity calibration, owner assignment, retest event, disclosure decision, and exception linkage with timestamp and user attribution. The CSV export is the evidence chain for ISO 27001, SOC 2, NIST 800-53, PCI DSS, NIS2, and DORA assessor reads.
Seven framework reads the bug bounty workflow produces evidence for
The bug bounty workflow produces structured evidence for the frameworks the GRC team carries through audit fieldwork. The reads below are the ones that surface against a defensible intake ledger; narrative notes pulled from the external platform export do not produce the same answer when an assessor asks how the programme processed external research input over the period under review.
| Framework citation | What the bug bounty workflow reads as |
|---|---|
| ISO 27001 A.5.7 (threat intelligence) and A.8.8 (management of technical vulnerabilities) | The bug bounty engagement holds the source allowlist for external researcher input, the intake ledger, the dedup decisions, the severity calibration history, the routing record, and the retest record. The activity log CSV export reads as the threat intelligence input record and the technical vulnerability management record the assessor reviews. |
| SOC 2 CC7.1 (system monitoring) and CC7.4 (incident response) | The bug bounty workflow contributes to CC7.1 by maintaining the structured record of external research input and to CC7.4 by carrying the response chronology for accepted bug bounty findings. The retest record and the disclosure decision history close the loop the auditor reads. |
| PCI DSS 6.3.1 and 11.4.5 (vulnerability identification and external testing) | The merchant tracks published and externally-reported vulnerabilities against the cardholder data environment with a documented risk-ranking process. The bug bounty ledger reads as the external testing input the PCI assessor consumes alongside the internal scan record. |
| NIST 800-53 RA-5 (vulnerability monitoring) and SI-2 (flaw remediation) | The bug bounty workflow produces the structured evidence that the organisation runs continuous external vulnerability monitoring through a researcher-driven channel and remediates the resulting flaws against documented severity and timeline standards. |
| NIST CSF 2.0 ID.RA-1, DE.CM-8, and RS.AN-5 | The workflow contributes to ID.RA-1 (asset vulnerabilities identified) through external research input, to DE.CM-8 (vulnerability scans performed) through researcher-driven discovery, and to RS.AN-5 (vulnerability disclosure processes are established) through the disclosure handling record. |
| NIS2 Article 21 (cybersecurity risk-management measures) | The bug bounty engagement is the documented record of how the organisation receives, triages, and remediates externally-reported vulnerabilities against the in-scope estate, with named handlers and reconstructable decisions. |
| DORA Article 13 (ICT-related risk monitoring) and Article 17 (ICT-related incident management) | The bug bounty workflow contributes to Article 13 by maintaining the structured record of external researcher signal and to Article 17 by carrying the response chronology where an accepted bug bounty finding rises to the level of an ICT-related incident. |
Where bug bounty intake sits in the wider programme
Run bug bounty intake as one of several intake layers that feed the common downstream routing, remediation, retest, and audit reads. Adjacent intake disciplines include the vulnerability disclosure programme workflow, the internal disclosure intake workflow, the general vulnerability finding intake workflow, and the third-party pentest report intake workflow. Downstream workflows that read the bug bounty intake include security finding ownership and routing, vulnerability finding merge and supersede, security finding fix verification, vulnerability acceptance and exception management, and audit fieldwork evidence request fulfillment. Background context for the choice between a bug bounty and a pentest is covered in the bug bounty versus penetration testing comparison, and the deduplication discipline that the intake reads against is explained in the security findings deduplication guide.
How it works in SecPortal
A streamlined workflow from start to finish.
Define the bug bounty programme engagement and the source allowlist
Open a bug bounty programme engagement on the workspace with the named programme owner, the in-scope assets (in-scope URLs, mobile bundles, APIs, repositories), the out-of-scope list, the severity policy reference, the payout policy reference (held as a document management artefact rather than executed inside the workspace), the source allowlist for external platforms (HackerOne handle, Bugcrowd programme reference, Intigriti programme reference, Synack tasking reference, private platform references), and the recurring intake cadence. The engagement is the record the rest of the workflow attaches to.
Capture every accepted external report as a finding with provenance
When the external bug bounty platform marks a report as triaged-and-accepted, the internal triager opens a finding on the engagement with the external case identifier (platform case ID), the source platform identifier, the researcher handle from the external platform, the original report body, the reproduction steps, the severity the external platform recorded, the CVSS 3.1 vector the programme calibrates, the affected asset reference, and the document management upload of the original report. Provenance survives so the audit trail reads as a closed loop from external case to internal finding.
Dedup against the open finding catalogue before opening a new record
Every accepted report passes a dedup check against the open finding catalogue for the same asset and the same finding template before opening a new record. Duplicates resolve into an override decision on the original finding rather than a parallel record: the override register captures the duplicate case reference, the rationale, and the named decider. Where a duplicate would have generated a payout debate, the dedup record is the basis the programme owner uses with the external platform.
Calibrate severity against the workspace policy, not the external rating
The external platform records severity for payout purposes; the workspace calibrates severity for routing, SLA, and remediation purposes. The intake records the platform severity as the source severity, the workspace severity policy applies the normalised CVSS 3.1 base vector plus the temporal and environmental adjustments the deployed configuration justifies, and any override is captured as a named decision on the finding rather than a private analyst note. The calibrated severity drives the SLA tier and the owner mapping the rest of the programme uses.
Route to the named owner against asset criticality and the routing rule
The finding routes through the same ownership and routing rule the rest of the queue uses: the asset criticality scoring layer determines tier, the engineering owner of record on the affected asset is the primary recipient, security owns the watcher slot, and unowned assets promote to the unowned-asset queue rather than disappearing into the analyst inbox. Bug bounty findings do not maintain a parallel routing flow; they pick up the rule the programme already operates so the SLA clock starts the same way it does for scanner findings, pentest findings, and internal-disclosure findings.
Retest the fix and bind the verification to the original finding
When engineering ships the fix, the retest workflow targets the engagement record, pairs the verification artefact (request and response, screenshot, payload, regression test) to the original finding, and moves the finding state from in_progress to resolved or verified on the same record. The aging clock keeps running on the original capture date so the SLA reads against the date the programme received the report, not the date the retest fired. The retest record is the basis the programme owner uses to confirm closure back to the external platform.
Coordinate disclosure and read the recurring audit-grade evidence pack
When the fix is verified the programme owner coordinates disclosure handling with the researcher (through the external platform where the relationship lives) and records the disclosure outcome on the engagement (public disclosure, coordinated delay, embargoed) with the document management artefact for the final researcher communication. On the recurring cadence the engagement produces an evidence pack the GRC team reads when ISO 27001 A.5.7, SOC 2 CC7.1, PCI DSS 6.3.1, NIST 800-53 RA-5, NIS2 Article 21, and DORA Article 13 ask how the programme keeps pace with external research: the intake ledger, the dedup decisions, the calibrated severity history, the routing record, the retest record, and the activity log CSV export are the evidence the assessor consumes.
Features that power this workflow
Orchestrate every security engagement from start to finish
Vulnerability management software that tracks every finding
Finding overrides that survive every scan cycle
Verify fixes and track reopens on the same finding record
Document management for every security engagement
Every action recorded across the workspace
Collaborate across your entire team
Multi-factor authentication on every workspace
Compliance tracking without a full GRC platform
AI-powered reports in seconds, not days
Notifications and alerts for the people who carry the work
Global search across every engagement, finding, and client
Finding comments and collaboration on the same record as the work
Run the internal record for bug bounty submissions on one engagement
Ingest accepted reports with provenance, dedup against the open catalogue, calibrate severity to the workspace policy, retest fixes, and produce the audit evidence pack from the live engagement record. Free plan available.
No credit card required. Free plan available forever.