Safeguard
Security Guides•

Is 'approve with comments' safe when the comment is a security issue?

Approve with comments speeds up review across time zones, but security findings need care. A simple rule for which comments can ride along with approval.

Safeguard Security Team
4 min read

Approve with comments is safe for minor, optional or cosmetic notes. It is not safe when the comment describes a vulnerability or a removed control, because an approval tells the merge system the change is ready. Block on security findings and approve once they are fixed.

What the practice is

Google's public guidance on review speed describes "LGTM with comments." A reviewer gives approval while also leaving unresolved comments, in order to avoid making a developer wait a full day for a final "approved." It lists when to do this: the reviewer is confident the developer will appropriately address all remaining comments, or the comments do not have to be addressed, or the suggestions are minor, such as sorting imports, fixing a nearby typo, applying a suggested fix or removing an unused dependency. It adds that the reviewer should say which of these they intend.

It is especially useful when author and reviewer are in different time zones.

Why security findings are different

Every example Google lists is a low risk item. None of them is a vulnerability. That is not an accident. Once you approve, branch protection will usually allow a merge. If the author reads the comment late, misreads it as optional, or the pull request is merged by a bot or another person, the finding ships.

A security finding also tends to need a second look after the fix. "Use the parameterised form" is easy to say and easy to get slightly wrong.

A rule that fits on one line

Approve with comments if the worst outcome of the author ignoring every comment is harmless. Otherwise request changes.

Applied to common comments:

CommentApprove with comments?
Rename variable, fix typoYes
Add a log line for diagnosticsYes
Consider tightening this regular expression (hardening)Yes, if labelled optional
This id is not checked against the callerNo, request changes
This builds SQL from inputNo, request changes
This removes the admin checkNo, request changes
This dependency has a known advisoryDepends on reachability, discuss first

Make the intent explicit

Google's guidance tells reviewers to state which option they intend when it is not clear. Use labels. In the comment, write "optional" or "nit" for items that can ride along, and "blocking" for anything that cannot. The suggested labels in the same guidance, Nit, Optional or Consider, and FYI, make review intent explicit and help authors prioritise.

Then match the status to the labels. If any comment is blocking, the review status must be request changes. A mismatch, where the status says approved but a comment says blocking, is the situation to avoid.

Time zones without risk

If the reviewer is ending their day and the author is starting theirs, split the review. Approve the safe parts and request changes on the security point alone, and say exactly what would let you re-approve. When the author fixes it, the next reviewer can re-approve within minutes. Waiting a day for one fix is slower than doing it the next morning, but approving a vulnerability is slower still.

Tooling can help

A branch protection rule that dismisses stale approvals when new commits arrive, and a mandatory check that fails on unresolved blocking conversations, make the mismatch harder to create. Both are settings in your hosting platform.

Quick check

Who decides if a comment is blocking?

The reviewer, and they should say so in the comment. If the author disagrees, discuss it, with a security champion or security engineer as tiebreaker.

Can the author mark a security comment resolved?

Preferably the reviewer resolves it after checking the fix. That adds seconds and avoids a finding disappearing by accident.

Sources

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.