Skip to content
  1. Payment Platform
  2. Report

Payment Platform

DevSecOps security coverage assessment · September 14, 2026

Choose and order sections

In this report

  1. Across the lifecycle
  2. Recommended next improvements
  3. What is in place today
  4. Against the frameworks

Left out

  • What was assessed
  • The three numbers
  • Coverage by capability
  • Where the gaps are
  • How these numbers were produced

Choosing and ordering sections is part of the free assessment. The shape travels in the address, so it survives a reload and can be bookmarked; nothing is stored. A link to your own report still needs your session — a report link somebody else can open is not built yet.

1Across the lifecycle

The same scope cells, grouped by where in the delivery lifecycle they are demanded. A phase with nothing required is not a failing phase.

PhaseCoverageOpen gaps
Plan0%1
Design67%1
Code78%10
Build89%6
Test14%15
Release0%12
Deploy29%21
Operate38%58
Monitor / Respond32%7

2Recommended next improvements

  1. 1. Introduce Known Vulnerability ScanCoverage impact +7.2 % · risk reduction critical · closes 15 scopes
  2. 2. Introduce Vulnerable Dependency GateCoverage impact +6.4 % · risk reduction critical · closes 9 scopes
  3. 3. Extend Infrastructure Drift Detection to the rest of your stackCoverage impact +5.7 % · risk reduction critical · closes 12 scopes
  4. 3. Introduce Runtime Threat DetectionCoverage impact +5.7 % · risk reduction critical · closes 12 scopes
  5. 5. Extend Known Vulnerability Scan to every environmentCoverage impact +4.8 % · risk reduction high · closes 10 scopes

At most 5 improvements are ranked here, by what each would move. This is the top of the list, not the whole work list — everything still open is in the CSV export.

3What is in place today

Every control this assessment recorded as being in place — the Ist side of the coverage number, named rather than counted.

What is in placeToolHow it runsEnforcementWeight carriedEffectivenessMaturity
Trivy dependency scan on pull requests and in CITrivyautomateda warning3675%2
Trivy gate on the container buildTrivyautomateda warning2775%2
Argo CD reconciliation against GitArgo CDcontinuousa warning2450%2
Checkov Terraform scan on pull requests and in CICheckovautomateda warning1259%2
Entra Workload Identity on AKSno toolautomatednot enforced1225%2
Trivy image scan in CI and registryTrivyautomatedblocking1294%4
Defender for Cloud vulnerability assessment in productionMicrosoft Defender for Cloudcontinuousa warning1073%2
Renovate dependency update pull requestsRenovateautomatednot enforced925%2
Semgrep rules on pull requestsSemgrepautomateda warning967%2
SonarQube pull request gateSonarQubeautomatedblocking994%4
Annual third-party penetration testno toolmanualnot enforced60%1
Default-deny NetworkPolicies in the clusterno toolautomatedblocking663%2
DefectDojo as the finding destinationDefectDojoautomatedinformational650%2
SonarQube analysis of the main branchSonarQubeautomateda warning675%2
Azure Key Vault for application secretsno toolautomatednot enforced325%2
Azure Policy deny assignments on resource deploymentsno toolautomatedblocking363%2
DefectDojo SLA policy per severityDefectDojoautomatedinformational357%2
Kyverno policies in audit modeKyvernocontinuousinformational340%2
Azure Monitor log pipelineno toolcontinuousinformational240%2
Gitleaks over the repository and its historyGitleaksautomatedblocking294%4
Architecture board sign-off on major changesno toolmanualapproval-required129%1
Branch protection requiring a second reviewerGitHub Advanced Securitysemi-automatedapproval-required141%1
CODEOWNERS review on the payment pathsGitHub Advanced Securitysemi-automatedapproval-required141%1
Defender for Cloud posture on the production subscriptionMicrosoft Defender for Cloudcontinuousa warning173%2
Incident response runbook, rehearsed twice a yearno toolmanualnot enforced10%1
OWASP ZAP baseline scan against TESTOWASP ZAPsemi-automatedinformational145%1
STRIDE workshop held at design timeno toolmanualnot enforced10%1

Weight, not a count: a scope carries the weight of the requirement level behind it, and the coverage percentage is over those same weights. A control carrying zero weight is in place but covers nothing this profile requires.

4Against the frameworks

  • NIST SSDF 1.1 — 57%2 satisfied, 6 partial, 2 not satisfied. A further 7 ask for controls your profile did not require — the framework is stricter than your baseline there — and 2 are not addressed by this control catalog at all. Both are excluded from the percentage rather than counted against you.
  • OWASP SAMM 2.0 — 51%2 satisfied, 6 partial, 2 not satisfied. A further 3 ask for controls your profile did not require — the framework is stricter than your baseline there — and 2 are not addressed by this control catalog at all. Both are excluded from the percentage rather than counted against you.