SCA Tools: Software Composition Analysis Buyer's Guide for 2026
TL;DR
Modern applications are 70 to 90 percent third-party code, and Software Composition Analysis (SCA) is the tooling category that surfaces the vulnerabilities and license obligations buried inside those dependencies. The strongest SCA tools in 2026 are GraphNode SCA (on-premise SCA paired with SAST in the same engine, asset-based pricing), Snyk Open Source (developer-first cloud DX), Black Duck (license compliance gold standard), Mend (auto-remediation pull requests), Sonatype Nexus IQ (repository firewall), GitHub Dependabot (free, repo-native), Veracode SCA (compliance reporting), Checkmarx One SCA (unified AppSec platform), OWASP Dependency-Check (free, on-premise foundation), and FOSSA (open-source license focus). This guide walks through how to evaluate them and which is best for which job.
Somewhere between 70 and 90 percent of a modern application is not code your team wrote. It is open-source libraries, frameworks, and utility packages pulled into the build by a single line in a manifest file. Software Composition Analysis is the tooling category that exists to make the risk in that imported code visible — to give you a current inventory of every component shipped in your application and a list of every known vulnerability and license obligation attached to it. The category has matured rapidly in the last three years: vendors now compete on advisory data freshness, transitive depth, reachability analysis, and how cleanly findings reach a developer in time to act on them.
This guide is vendor-neutral. We list ten SCA tools, what each one is good at, and where each one struggles. GraphNode appears first in the comparison table and the deep-dive sections because it is our platform, but the goal here is to help you run a fair evaluation against any of the alternatives. All capability claims reflect publicly documented features as of April 2026; verify with each vendor before purchasing.
What to Evaluate in an SCA Tool
Buyers searching for software composition analysis tools — or specifically for software composition analysis sca tools — generally arrive on this page with the same underlying question: which scanner most reliably surfaces vulnerable open-source dependencies in their stack, with the deployment, license-compliance, and pricing model their organization can actually live with. The ten products below are the ones that consistently make that shortlist in 2026.
Most SCA comparisons stop at "package managers supported" and "number of CVEs in the database." Both numbers are easy to game and tell you very little about whether the tool will work in your environment. Evaluate against the eight dimensions below instead — they are the ones that determine whether an SCA program actually reduces risk or just produces a quarterly report nobody reads.
- Vulnerability database freshness and breadth. Every other feature is built on top of advisory data. Ask which feeds the tool aggregates (NVD, GHSA, OSV, vendor research, ecosystem-specific advisories) and what the median lag is between a public CVE disclosure and the matching record being scannable. A tool whose data feed lags by a week is a tool that misses the window when fast-moving incidents (Log4Shell, Spring4Shell, xz-utils) matter most.
- Transitive dependency depth. Your manifest lists direct dependencies. The interesting bugs live four or five layers down. A serious SCA tool walks the full dependency tree from your lockfile and reports the dependency path for every finding — which direct dependency pulled in the vulnerable transitive, and through what intermediate hops.
- Reachability analysis. A vulnerable function existing in a library you import is not the same as your application calling it. Reachability analysis tries to close that gap, often filtering 60 to 80 percent of findings as unreachable. Done well, it is a high-value prioritization signal. Done poorly — silently false-negativing through reflection or dynamic dispatch — it is dangerous. Treat it as a ranking signal, not a suppression mechanism.
- Package manager and ecosystem coverage. npm, Maven, Gradle, pip, Poetry, NuGet, Go modules, Cargo, Composer, RubyGems, and increasingly container manifests, OS packages, and lockfile-only formats. A polyglot organization needs the full matrix; a single-stack team can prioritize depth on its core ecosystem.
- License compliance. Permissive licenses (MIT, Apache 2.0, BSD) impose attribution. Copyleft (GPL) and network-copyleft (AGPL, SSPL) carry commercial-distribution risk. The SCA tool should surface SPDX license identifiers per component and let policy authors flag licenses that require legal review before a build is allowed to ship.
- Auto-remediation. A finding that ships with a tested upgrade pull request gets fixed faster than one that ships as a CVE ID and a "good luck." Some vendors lead on this — opening PRs that bump direct dependencies (or override transitives) and re-running tests. The quality of the patch testing matters: a remediation that breaks the build is worse than no remediation.
- Deployment model. Cloud-only is fine for many teams; for banks, defense contractors, healthcare providers, and government agencies, source code and dependency manifests cannot leave the network perimeter. Ask whether on-premise, air-gapped, and private-cloud deployments are first-class modes or afterthoughts.
- Pricing model. Per-developer or per-active-committer pricing scales with engineering headcount; asset-based or organization-wide pricing scales with how much code you actually scan; free OSS tools cost nothing in license but everything in operational time. Ask for a three-year projection during procurement — the models diverge sharply over time.
The 10 SCA Tools at a Glance
The table below summarizes the ten SCA tools covered in this guide on the dimensions that most influence a buying decision: vulnerability data sources, auto-remediation, license compliance, deployment options, pricing model, and the buyer profile each tool best fits. Use it as an at-a-glance shortlist, then read the per-vendor deep-dives below for context.
| Tool | Vulnerability Data | Auto-Remediation | License Compliance | Deployment | Pricing Model | Best For |
|---|---|---|---|---|---|---|
| GraphNode SCA | NVD, GHSA, researcher feeds | Fix suggestions + PRs | Yes, policy-enforced | On-prem + Cloud | Asset-based | Enterprises needing on-prem SCA + SAST in one engine |
| Snyk Open Source | Snyk Vuln DB + public feeds | Yes, native PRs | Yes | Cloud-only | Per-developer | Cloud-native dev teams |
| Black Duck | Black Duck KnowledgeBase | Guidance, not native PRs | Industry-leading | On-prem + Cloud | Enterprise quote | M&A and license-heavy use cases |
| Mend (WhiteSource) | Mend research + public feeds | Auto-PR pioneer | Yes | Cloud + On-prem | Enterprise quote | Teams prioritizing remediation throughput |
| Sonatype Nexus IQ | Sonatype OSS Index + research | Recommendations | Yes | On-prem + Cloud | Enterprise quote | Repository-integrated dependency firewall |
| GitHub Dependabot | GitHub Advisory Database | Yes, native PRs | Limited | GitHub-native | Free for all repos | GitHub-hosted teams wanting zero-friction baseline |
| Veracode SCA | Veracode + public feeds | Guidance | Yes | Cloud-only | Enterprise quote | Compliance-driven enterprises on Veracode |
| Checkmarx One SCA | Checkmarx + public feeds | Guidance | Yes | On-prem + Cloud | Enterprise quote | Buyers wanting one vendor for full AppSec stack |
| OWASP Dependency-Check | NVD primarily | No | No | Self-hosted CLI | Free OSS | Free baseline, on-prem, no procurement |
| FOSSA | FOSSA research + public feeds | Guidance | License-first focus | Cloud + On-prem | Subscription | Open-source license attribution and obligations |
Comparison data sourced from publicly available vendor documentation, G2 marketplace listings, and Gartner Peer Insights as of April 2026. Capability claims for each vendor are based on their public materials; ask each vendor to confirm before signing.
1. GraphNode SCA — On-Premise SCA in the Same Engine as SAST
GraphNode SCA is built for organizations that need open-source vulnerability management with a deployment story that lets source code and dependency manifests stay inside the network perimeter. The platform aggregates advisory data from NVD, the GitHub Advisory Database, and security researcher feeds, then walks the full transitive dependency tree from your lockfile to report not just the direct dependencies you declared but every library those libraries pulled in, recursively.
Package manager coverage spans npm and yarn, Maven and Gradle, pip and Poetry, NuGet, Go modules, Cargo, Composer, and RubyGems — the full polyglot matrix most enterprises need. License compliance is policy-enforced: every component's SPDX identifier is surfaced in the same view as the security findings, and policy authors can flag licenses that require legal review before a build is promoted. Continuous monitoring re-evaluates already-shipped artifacts against the latest advisory feed, so a CVE disclosed today against a library you shipped three months ago surfaces without a fresh scan run.
- Data sources: NVD plus GitHub Advisory Database plus security researcher feeds, with continuous monitoring against the latest data.
- Coverage: npm, Maven, Gradle, pip, NuGet, Go modules, Cargo, Composer, RubyGems with full transitive enumeration.
- Remediation: Intelligent fix suggestions and automated pull requests to safely upgrade vulnerable dependencies.
- Deployment: On-premise (including air-gapped), private cloud, and managed SaaS — manifests do not have to leave your perimeter.
- Pricing: Asset-based, not per-developer. SBOM generation in CycloneDX/SPDX, risk scoring and prioritization included.
- SAST + SCA in one engine: Same integrations, same policy engine, same triage queue as GraphNode SAST — one vendor, two product surfaces.
Best for: Banks, government agencies, healthcare organizations, and enterprises that want SCA and SAST consolidated in one on-premise engine with predictable asset-based pricing. See the GraphNode SCA product page for the full feature breakdown, the SCA scanning guide for what a good scan looks like under the hood, or request a demo to scan your own repository.
2. Snyk Open Source — Cloud-Native, Developer-First SCA
Snyk Open Source is the SCA module inside the broader Snyk platform and remains the most aggressively positioned product in the category around developer experience. The Snyk Vulnerability Database is curated by an in-house research team and is consistently noted in public reviews for advisory freshness and depth, particularly on JavaScript and TypeScript ecosystems where Snyk has invested heavily. Native fix pull requests, slick CLI ergonomics, and a free tier for individuals and small projects make first-time adoption fast.
The strengths are the developer feedback loop and tight integration with the rest of the Snyk platform — Snyk Code (SAST), Snyk Container, and Snyk IaC share a single dashboard. The trade-offs that push security teams toward alternatives are well documented: cloud-only deployment makes Snyk a non-starter for organizations whose source manifests cannot leave the perimeter, and per-developer pricing scales unpredictably with engineering headcount. Reachability analysis is available but, like every reachability engine, requires careful interpretation rather than blind trust.
Best for: Cloud-native development teams, JavaScript- and TypeScript-heavy stacks, and organizations where developer experience is the primary buying criterion and on-premise deployment is not a hard requirement.
3. Black Duck — License Compliance Gold Standard
Black Duck is one of the longest-running SCA platforms in the market, originally a standalone company, then part of Synopsys for over a decade, and now a separate publicly traded entity following the 2024 spin-off. Its enduring differentiator is the Black Duck KnowledgeBase, a proprietary catalog of open-source components and licenses that is widely considered the most comprehensive resource for license attribution and obligation analysis in the industry. Mergers and acquisitions due-diligence engagements routinely standardize on Black Duck precisely because of the depth of the license intelligence layer.
Beyond licenses, Black Duck performs vulnerability matching, generates SBOMs in CycloneDX and SPDX formats, and integrates with the rest of the Black Duck portfolio (Coverity SAST, Polaris, Defensics fuzzing). The trade-offs commonly cited in public reviews are operational weight — Black Duck is enterprise software with a corresponding learning curve and configuration burden — and a quote-based enterprise sales motion that does not fit smaller teams.
Best for: Enterprises where open-source license compliance is the primary buying driver, M&A due-diligence engagements, and organizations distributing software where license obligations are commercially material.
4. Mend (formerly WhiteSource) — Auto-Remediation Pull Requests
Mend rebranded from WhiteSource in 2022 and now offers a unified SCA, SAST, and container platform. The standout positioning across the suite is automated remediation: Mend pioneered opening pull requests with tested patches that resolve dependency findings, bumping direct versions or overriding transitives, and re-running the test suite to verify the upgrade does not break the build. For organizations whose AppSec bottleneck is "we know about the bugs, we just don't have the engineering hours to fix them," Mend's automated PR workflow is a genuine differentiator.
The Mend SCA module is the older, more mature flagship; reviewers consistently rate the SCA experience above the newer SAST module. Coverage spans the major ecosystems and integrations cover the standard CI surfaces. The trade-offs are the enterprise-quote pricing motion and the operational reality that auto-remediation only works as well as your test suite — a sparse test suite means upgrade PRs that pass CI but break in production.
Best for: Teams whose primary AppSec pain is remediation throughput rather than detection breadth, with mature test suites that can validate auto-generated upgrade PRs.
5. Sonatype Nexus IQ — Repository-Integrated Dependency Firewall
Sonatype operates Maven Central, the canonical Java artifact repository, and that adjacency shows in the product. Nexus IQ pairs naturally with Nexus Repository Manager to act as a dependency firewall: vulnerable or policy-violating components can be blocked at proxy time, before they ever land in a developer's local cache or a CI build. The same engine evaluates findings during build and at deployment gates, with a unified policy model across the lifecycle.
Sonatype's research team maintains the OSS Index advisory feed alongside the commercial intelligence layer, and reviewers note strong performance on Java and adjacent JVM ecosystems where Sonatype's repository roots run deepest. The product's polyglot reach has expanded steadily and now covers the major package managers, though buyers with primarily non-Java stacks should validate ecosystem depth during PoC. Pricing is enterprise quote-based.
Best for: JVM-heavy organizations already operating Nexus Repository, and teams that want artifact-firewall policy enforcement at proxy time rather than only at CI or deploy.
6. GitHub Dependabot — Free, Repo-Native for All GitHub Users
GitHub Dependabot is the SCA tool with the lowest activation cost in the category: it is free for every GitHub repository, public and private alike, and ships with no procurement cycle. Dependabot performs three jobs out of the box — Dependabot Alerts surface vulnerable dependencies against the GitHub Advisory Database, Dependabot Security Updates open pull requests with version bumps that resolve those alerts, and Dependabot Version Updates open routine update PRs on a schedule independent of any specific advisory.
The strengths are zero friction and tight repo integration: alerts appear in the Security tab, fix PRs land directly in the repository, and the GitHub Advisory Database is one of the better ecosystem-specific advisory sources in the industry. The trade-offs are the boundaries of the product: Dependabot only works on GitHub, license compliance reporting is limited compared to dedicated commercial tools, there is no policy-as-code surface for fail-the-build rules across an organization, and the depth of analysis (no reachability, no SBOM export beyond what GitHub provides natively) sits below paid alternatives.
Best for: Teams hosted on GitHub that want a free baseline SCA layer, individual maintainers, and smaller organizations where the basic alert-and-PR loop is sufficient.
7. Veracode SCA — Compliance Reporting in the Veracode Platform
Veracode SCA is the dependency-analysis module inside the broader Veracode application security platform. Its primary appeal is consolidation: organizations that already buy Veracode for SAST, DAST, and Penetration Testing as a Service get SCA findings into the same unified policy engine and the same compliance reporting surface that supports PCI-DSS, HIPAA, FedRAMP, and ISO 27001 audit evidence generation.
The trade-offs are the same that apply to the broader Veracode platform. Veracode is cloud-only, which is a non-starter for organizations whose dependency manifests cannot leave the network perimeter. Pricing is enterprise quote-based, and reviewers consistently note that the developer feedback loop is slower than developer-first tools designed around the IDE and PR. As a standalone SCA purchase, Veracode rarely wins on its own merits; as part of a Veracode platform consolidation, it makes sense.
Best for: Compliance-driven enterprises already standardized on the Veracode platform, where policy and reporting consolidation outweighs the cloud-only and developer-experience trade-offs.
8. Checkmarx One SCA (CxSCA) — Part of the Checkmarx One Platform
CxSCA is the dependency-analysis module inside Checkmarx One, the unified AppSec platform that also includes CxSAST, KICS for Infrastructure-as-Code, API security, and Dustico supply chain. The buying motion is similar to Veracode SCA: organizations that have already standardized on Checkmarx for SAST get SCA findings into the same dashboard, with shared policy and a single integration story to maintain.
Checkmarx publicly markets reachability analysis as part of CxSCA, a feature that has matured over the last several releases. Coverage spans the major ecosystems and the platform supports both cloud and on-premise deployment, which differentiates it from cloud-only alternatives. Trade-offs cited in reviews include the enterprise sales motion, configuration complexity inherited from the broader Checkmarx platform, and a price point that requires the consolidation argument to justify versus best-of-breed point tools.
Best for: Buyers who want every category of AppSec from a single vendor, already operate (or plan to adopt) the broader Checkmarx One platform, and value SCA-SAST consolidation over per-tool best-of-breed.
9. OWASP Dependency-Check — Open Source, On-Premise, Foundational
OWASP Dependency-Check is the OWASP Foundation's free, open-source SCA tool. It runs as a CLI or as plugins for Maven, Gradle, Jenkins, and other CI surfaces, primarily querying the National Vulnerability Database to report known CVEs against the components in your project. As a free tool with no procurement footprint, it is the easiest way to ship a baseline SCA layer in a cost-constrained environment or to run a side-by-side reference scan against a commercial tool during PoC.
The trade-offs are well understood. Reliance on NVD as the primary feed means Dependency-Check inherits NVD's documented latency between disclosure and analysis, so ecosystem-specific advisories often surface faster in tools that aggregate GHSA, OSV, and vendor research alongside NVD. There is no native auto-remediation, no license compliance layer, no reachability analysis, no managed SBOM workflow, and no vendor SLA — the operational responsibility for tuning, hosting, and integration falls entirely on your team. Most organizations of meaningful size end up using Dependency-Check as a baseline alongside a commercial SCA tool rather than as a sole solution.
Best for: Free baseline coverage, on-premise environments with no procurement budget, and reference comparisons during commercial-tool PoCs.
10. FOSSA — Open-Source License Focus
FOSSA started life as an open-source license compliance platform and has expanded into vulnerability detection over time, but the license-first heritage still defines the product. The platform is widely adopted by organizations that distribute software (where attribution and obligation tracking is commercially material) and by legal teams that want a defensible system of record for open-source usage, including notice-file generation and policy-driven approval workflows.
Vulnerability detection is included and has matured meaningfully, with coverage of the major package ecosystems and policy controls that fail builds on policy violations. FOSSA also supports both cloud and self-hosted deployment, which differentiates it from cloud-only alternatives. The honest framing: if your primary driver is vulnerability detection, FOSSA competes; if your primary driver is open-source license operations at scale, FOSSA is one of the strongest fits in the market.
Best for: Software vendors with material open-source license obligations, legal-led open-source program offices, and organizations that want license attribution and notice generation as first-class workflows.
Quick Decision Matrix
| If your top priority is... | Best fit |
|---|---|
| On-premise SCA paired with SAST in one engine | GraphNode SCA |
| Predictable, asset-based pricing as headcount scales | GraphNode SCA |
| Air-gapped or perimeter-bound dependency analysis | GraphNode SCA |
| Developer-first cloud SCA in JS/TS-heavy stacks | Snyk Open Source |
| Open-source license compliance and M&A due diligence | Black Duck |
| Auto-remediation pull requests for dependency findings | Mend |
| Repository-firewall policy enforcement at proxy time | Sonatype Nexus IQ |
| Free SCA baseline for GitHub-hosted repositories | GitHub Dependabot |
| Compliance reporting consolidated with the Veracode stack | Veracode SCA |
| One vendor for SAST, SCA, IaC, API, supply chain | Checkmarx One SCA |
| Free OSS baseline with no procurement | OWASP Dependency-Check |
| Open-source license operations at scale | FOSSA |
How to Run an SCA Tool Evaluation
Vendor decks are not evidence. Run a proof of concept with the same scope and same time budget against every shortlisted tool, and measure the outcomes that will actually matter once the tool is in production. Use the checklist below as the spine of your SCA evaluation.
- Same repository, same time budget. Pick one representative repo with a real lockfile and a known recent CVE you can verify the tool finds. Give every tool the same setup time and the same scan window. Bonus: include a deliberately downgraded dependency that you know is vulnerable, and confirm each tool reports it with the right CVE and fixed version.
- Vulnerability count and freshness comparison. Run all tools on the same day and compare totals. The interesting number is not the total count — it is the symmetric difference. Which CVEs does Tool A report that Tool B misses, and vice versa? Which advisories are the most recent? A tool whose data feed is a week behind will silently miss the very findings you bought it to catch.
- Transitive depth check. Pick a known transitive vulnerability (Log4Shell against a Spring Boot project is a classic test) and confirm each tool reports the dependency path correctly: which direct dependency pulled the vulnerable component in, and through what intermediate hops.
- License report. Run the license inventory side by side. Are SPDX identifiers populated for every component? Are AGPL, SSPL, GPL v3, and commons-clause licenses flagged as policy-relevant by default, or do you have to author the policy yourself?
- Developer experience. Have a developer install the IDE plugin (or the CLI) and intentionally add a vulnerable dependency. Time how long from import to warning, and how clear the remediation guidance is. Then have a developer review a PR with a finding and confirm pull-request decoration works the way the demo claimed.
- False positive rate. SCA false positives come from a few sources: stale advisory ranges that mark fixed versions as vulnerable, ecosystem mismatches (a Java CVE matched against a like-named JavaScript package), and reachability engines that mark unreachable code as exploitable. Triage a sample of findings from each tool and count what you would actually triage out as noise.
- Verify deployment claims. If on-premise is a requirement, install on-premise during the PoC. Cloud-first vendors sometimes have an "on-prem option" that is months away from being usable in practice.
- Three-year pricing projection. Plug in your projected headcount, asset growth, and repository count. Per-developer, per-active-committer, and asset-based models diverge sharply over three years; surfacing that during PoC avoids surprise renewals.
SCA Plus What? Complementary Tooling
An SCA tool is necessary but not sufficient for an application security program. SCA covers the open-source dependencies your team imported and matches them against known CVE databases. It cannot tell you what is wrong with the code your team actually wrote, or with the running application, or with the parts of your business logic that only an attacker would think to abuse.
- Static Application Security Testing (SAST) covers the 10-30 percent of your application that your developers wrote, finding injection flaws, broken authentication, insecure cryptography, and business-logic mistakes that no CVE database knows about. See our SAST tools buyer's guide for the deep-dive on the SAST market.
- Dynamic Application Security Testing (DAST) exercises the running application from the outside, finding configuration and runtime issues that static analysis cannot see. The SAST vs DAST overview explains where the line falls and why both matter.
- Penetration testing brings human attackers and creative business-logic exploitation that no automated tool can replicate at scale.
The pragmatic order for most programs: ship SCA and SAST first (ideally in the same engine to consolidate triage), layer DAST in once developer feedback loops are stable, and run pen tests at least annually plus before any major release.
Frequently Asked Questions
What is the best SCA tool?
There is no single best SCA tool — the right answer depends on deployment requirements, package ecosystem coverage, license compliance needs, and pricing model. For enterprises that need on-premise SCA paired with SAST in one engine, GraphNode SCA is a strong fit. For cloud-native developer-first teams, Snyk Open Source; for license-heavy use cases and M&A due diligence, Black Duck; for auto-remediation throughput, Mend; for free baseline coverage on GitHub, Dependabot. Run a side-by-side proof of concept on your real repository before deciding.
Free vs paid SCA — which should I pick?
Free SCA tools (OWASP Dependency-Check, GitHub Dependabot, npm audit, pip-audit, RustSec) are an excellent starting point and work well for smaller teams or as a baseline before a commercial purchase. The trade-offs are that out-of-the-box advisory coverage is shallower than commercial engines (typically NVD-only or ecosystem-only), there is no vendor SLA on data freshness, no policy-as-code surface for organization-wide enforcement, no license compliance workflow, and no reachability analysis. Most organizations of meaningful size end up with a hybrid: a free baseline for cheap broad coverage plus a commercial tool for depth, license compliance, and accountability.
Do I need both SCA and SAST?
Yes. SCA and SAST cover non-overlapping bug populations. SCA finds vulnerabilities in open-source components your team imported, matching them against CVE databases. SAST finds vulnerabilities in code your team wrote — injection flaws, broken authentication, insecure cryptography, business-logic mistakes — that no CVE database knows about because they only exist in your codebase. If 80 percent of your application is third-party, then SCA covers that 80 percent and SAST covers the 20 percent your team is actually paid to write. A program that runs only one of them misses the other half of the risk surface.
What is the difference between SCA and dependency scanning?
Dependency scanning is a subset of SCA. The terms are often used interchangeably, but a full SCA tool covers more than CVE lookup against direct dependencies. It enumerates the complete transitive tree, performs license compliance checks, generates an SBOM in CycloneDX or SPDX format, and ideally adds reachability analysis, continuous monitoring of shipped artifacts, and policy-as-code enforcement. Dependency scanning usually refers to the basic CVE-matching layer alone — the kind of check that npm audit, pip-audit, or a basic CI plugin performs.
How accurate is reachability analysis?
Reachability accuracy depends heavily on the language and the codebase. Languages with simple, statically resolvable call graphs (Go, Rust, modern Java without reflection-heavy frameworks) yield high-confidence results. Languages and frameworks with dynamic dispatch, reflection, decorators, runtime classloading, or metaprogramming (Python, Ruby, JavaScript with dynamic imports, Spring with proxies) carry meaningful false-negative risk — the engine may confidently mark a finding "not reachable" when the call actually happens through a runtime hook the static analyzer cannot see. Treat reachability as a prioritization signal that ranks the backlog, not as a suppression mechanism that lets you ignore findings entirely.