Safeguard
Security Guides•

Should a bot be allowed to close security tickets?

A bot can close a ticket when a rescan proves the finding is gone. It should not close on a merge, a timer or an accepted risk. A decision guide.

Safeguard Security Team
3 min read

A bot should close a security ticket only when independent evidence shows the finding is gone, such as a rescan on the deployed code. It should not close tickets because a pull request merged, a timer ran out, or someone said "accepted". Those need a person.

The decision table

SituationBot closes?Why
Rescan confirms the finding no longer appearsYesEvidence is objective
Pull request merged, no rescan yetNoMerged is not shipped or verified
Ticket older than a set ageNoAge is not a fix
Component removed from the inventoryYes, with a noteThe risk is gone, record it
Risk acceptedNo, a person does itA decision needs an approver
Finding marked false positiveNo, a person confirmsWrong closure hides real risk
Duplicate of an open ticketYes, link to the originalMechanical and reversible

Rules for the bot closures you do allow

  1. Log the evidence, such as the scan id and the date, in the ticket.
  2. Use a distinct status or label so people can filter bot closures.
  3. Make closure reversible: if the finding reappears, reopen the same ticket, do not create a new one.
  4. Sample bot closures every month. Pull ten at random and check them.
  5. Pause the rule if the error rate passes a threshold you set in advance.

The danger of stale closure rules

"Close after 90 days of no activity" is a common rule and a bad one for security. It makes the dashboard look clean and the risk stays. If tickets go stale, the cure is ownership and escalation, not deletion. See stale security tickets: close, fix or accept.

Start in report only mode

Run the closing rule for a few weeks writing a comment such as "would close" without changing anything. Compare against what humans decide. Turn on closing once the two agree. The same idea is covered in shadow mode for automated remediation.

Quick check

Is a merged fix pull request enough to close the ticket?

No. Wait for a rescan that confirms the finding is gone from the deployed version.

Should old tickets be closed automatically?

No. Age does not change risk. Escalate or decide on them instead.

Safeguard can rescan after a fix pull request, and its autonomous remediation is off by default with every category on Manual. Try a free scan at gold.safeguard.sh/scan.

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.