Safeguard
Security Guides•

How do you sort tabletop findings into tool, process and people gaps?

A way to sort dependency compromise tabletop findings into tool, process, knowledge and ownership gaps so each one gets a fix that fits its cause.

Safeguard Security Team
4 min read

Sort each finding by its cause: a tool gap, a process gap, a knowledge gap or an ownership gap. The category tells you the kind of fix. Buying a tool does not repair a missing decision owner, and training does not repair a missing inventory. Four buckets and one question per finding are enough.

Why categorize

After a tabletop the notes list contains things like "did not know who could block the package" and "no list of CI secrets." Treating all of them as tasks produces a long backlog with no pattern. Sorting by cause shows where the effort should go and prevents the common mistake of answering every finding with training or with software.

CISA's exercise packages include an After Action Report template, so there is a place to record findings. The sorting below is a layer you add on top.

The four buckets

BucketMeaningTypical signTypical fix
ToolThe capability does not exist or cannot be reached"We cannot search all repos for a version"Build, configure or buy the capability
ProcessA step is missing, unclear or in the wrong order"We argued about who declares an incident"Write or change the runbook, set decision rules
KnowledgeThe step exists, people do not know it"I did not know we had a mirror"Short briefing, cold read, drill
OwnershipNobody is accountable"Everyone thought someone else would rotate keys"Name an owner and a backup

One question per finding

Ask: "If the right person had been in the room and knew the plan, would this still have gone wrong?"

  • If yes and the cause is missing capability, it is a tool gap.
  • If yes and the cause is a missing or muddled step, it is a process gap.
  • If no, because someone present could have done it, it is a knowledge gap.
  • If nobody could be named, it is an ownership gap.

Some findings sit in two buckets. Pick the one that, if fixed, removes the problem. Note the second one as a follow-on.

Example findings

FindingBucketFix
No place to search SBOMs or lockfiles togetherToolCentral inventory, with a named owner
No rule for when to freeze deploysProcessDecision guide with end conditions
Engineers unaware the mirror can block versionsKnowledgeWalkthrough and a cold read of the runbook
Nobody owns CI credentialsOwnershipAssign owners, record in the credential list

Prioritize with two lenses

For each finding, rate how much time it cost in the exercise and how often it would recur in a real incident. Start with high cost and high recurrence. Fix ownership gaps early because they are cheap and unblock others.

Cap the list. Take three to five findings per exercise, give each an owner and a date, and revisit them at the next session. The scoring rubric helps you decide which areas to retest.

Avoid blame in the wording

Write findings about the system, not the person. "The runbook does not say who can block a package" is useful. "Alex did not know the process" is not. Blameless wording keeps people honest in future exercises.

Quick check

What if a finding is both a tool and a process gap?

Pick the cause that removes the problem if fixed, and list the other as a follow-on task.

Do all findings need a fix?

No. Some are accepted risks. Record that decision, the owner and a date to revisit.

Safeguard can help with the inventory side of this work. SBOM and dependency scanning show where a package and version appear across your projects, and policies and gates can stop a flagged version at the pull request. You can try a free scan at gold.safeguard.sh/scan.

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.