Open Close Reopen Workflow
Every BreachSpider ticket follows a three-state lifecycle: Open, Closed, and Reopened. Each state transition is logged in the audit log with a timestamp, actor, and reason, creating the chain of custody that auditors need to verify your remediation process.
State: OPEN
A ticket enters the Open state when it is created, either manually or by an auto-ticket rule.
What happens on creation:
- The ticket appears in the environment's Tickets tab with state: Open.
- The assignee is notified via the configured destination (email, Jira issue, ServiceNow incident).
- The audit log records TICKET_CREATED with the full ticket details: CVE ID, asset, assignee, destination, priority.
- The linked finding remains in the active findings list.
While a ticket is open:
- The assignee works on the remediation: applying a patch, implementing a compensating control, coordinating with a vendor, or completing whatever action the ticket requires.
- The ticket can be viewed and tracked in the Tickets tab.
- No automatic state changes occur. The ticket stays open until someone explicitly closes it.
State: CLOSED
A ticket moves to the Closed state when remediation is complete or when the finding has been formally dispositioned.
How to close a ticket:
- Navigate to your environment's Tickets tab.
- Find the open ticket.
- Click Close.
- Select a close reason (required):
| Close Reason | When to Use |
|---|---|
| patched | The vendor patch was applied successfully. The vulnerability is remediated. |
| risk_accepted | The team reviewed the finding and formally accepted the risk. Document the justification. |
| false_positive | The finding was determined to be incorrect. The CVE does not affect this asset. |
| vendor_notified | The vendor has been notified and a fix is expected. The ticket is closed pending vendor action. |
-
Add resolution notes (optional but recommended): Document what was done, when, and by whom. Examples: "Applied firmware V3.0.1 during maintenance window 2026-06-05 0200-0400. Verified by process engineer." or "Risk accepted by OT Manager per policy OT-RM-003. Device scheduled for replacement Q4 2026."
-
Click Confirm Close.
After closing:
- The ticket appears in the Closed view (filter by state in the Tickets tab).
- The audit log records TICKET_CLOSED with the close reason, resolution notes, actor, and timestamp.
- The linked finding is NOT automatically acknowledged. Go to the finding and acknowledge it separately to complete the audit trail.
Why closing does not auto-acknowledge: The ticket tracks the remediation work. The acknowledgment documents your evaluated position on the vulnerability. These are intentionally separate actions. You might close a ticket (patch applied) but want to verify the patch was effective before acknowledging the finding. Or you might close a ticket (vendor_notified) while leaving the finding active pending the vendor's response.
State: REOPENED
A closed ticket can be reopened if circumstances change and the remediation needs attention again.
When to reopen:
- A patch that was applied failed or was rolled back.
- A new exploit was published for a CVE that was previously assessed as low risk.
- A compensating control was removed or degraded.
- The vendor's expected fix did not materialize.
- An auditor flagged the closure as insufficient.
How to reopen:
- Navigate to the Tickets tab.
- Filter to Closed tickets.
- Find the ticket.
- Click Reopen.
- Add a reason for reopening (required): "Firmware update V3.0.1 caused process instability. Rolled back to V2.9.4. Vulnerability is re-exposed."
- Click Confirm Reopen.
After reopening:
- The ticket returns to Open state.
- The audit log records TICKET_REOPENED with the reason, actor, and timestamp.
- The linked finding is flagged for re-review if it was previously acknowledged.
The Complete Audit Chain
For a single finding, the ideal audit trail looks like:
1. FINDING matched (automatic -- matching engine)
2. TICKET_CREATED (manual or auto-rule)
3. TICKET_CLOSED (reason: patched, notes: "Applied V3.0.1")
4. FINDING_ACKNOWLEDGED (reason: patched)
This four-step chain proves: the vulnerability was identified, a remediation action was initiated, the remediation was completed, and the finding was formally dispositioned. This is the evidence chain NERC CIP auditors, IEC 62443 assessors, and SOC 2 reviewers are looking for.
Ticket Lifecycle via API
Close a ticket:
curl -X POST \
-H "Authorization: Bearer bs_live_..." \
-H "Content-Type: application/json" \
-d '{
"reason": "patched",
"notes": "Applied firmware V3.0.1 during maintenance window."
}' \
"https://breachspider.com/api/v1/environments/5/tickets/101/close"
Reopen a ticket:
curl -X POST \
-H "Authorization: Bearer bs_live_..." \
-H "Content-Type: application/json" \
-d '{
"reason": "Patch rolled back due to process instability."
}' \
"https://breachspider.com/api/v1/environments/5/tickets/101/reopen"