threat-modeling.sgit.ai / eleven layers

Eleven linked layers

Presented at ThreatModCon 2025 in Barcelona, and live since: eleven readable threat-model layers, linked, running from the customer relationship down to the compute that serves it. This is the strongest artefact this site has, so it leads.

"One model answers what could go wrong here. Eleven linked models answer what does this line of code put at risk."
— the vault's own framing, ThreatModCon 2025

The eleven layers

Each layer is its own threat model; each links to the one above and below it, so a finding at any layer can be traced up to what it puts at risk commercially, or down to the exact code that produces it.

Customerwho the system ultimately serves, and what they stand to lose
Businessthe commercial relationships and obligations the system sits inside
Applicationthe product as a whole, its boundaries and its trust zones
Componentthe major subsystems the application is built from
Packagethe dependency and module boundaries inside a component
Classthe object-level design, where a single flaw in one class propagates
Methodthe function-level surface — where most named vulnerabilities actually live
Source Codethe literal lines, the layer closest to a fix
Environmentconfiguration, secrets, and the assumptions the code runs under
Runtimewhat actually executes, and what an attacker can observe or influence while it does
Computethe infrastructure everything above ultimately depends on
51
graph nodes
quoted from the vault's own published index page — see the note below
179
threats
quoted, not recomputed from the vault's own JSON — tracked as an open gap
3
critical findings
quoted from the vault's own published index page
A measurement note, stated rather than hidden. These three figures are quoted from the vault's own published index page, not recomputed from the vault's underlying JSON on this site's own build. The commissioning pack flags this explicitly (gap G2): recomputing them from the vault data itself, rather than quoting its summary, is the next step before this page can call them generated.

The vault, live

The vault is the artefact, and it is embedded here rather than copied: rebuilding eleven threat models as static site pages would turn a published vault demonstrating the platform's own argument into a screenshot of one. Open it directly:

ThreatModCon 2025 — the eleven-layer vault

Customer → Business → Application → Component → Package → Class → Method → Source Code → Environment → Runtime → Compute. Live, and built to run offline.

Open the vaultsgit.ai/demos/vaults/threatmodcon-2025/

Two demonstrations riding on top of it

multi-persona reframing

One SQL injection, four audiences

A single SQL injection in a payment gateway, retold for Board, CISO, CTO and Developer — the practical form of Linking Threat Models with Semantic Business Graphs. Same finding, different altitude, same underlying graph.

five Wardley walkthroughs

From "everything is critical" to risk-based prioritisation

Five walkthroughs moving from an undifferentiated pile of findings to a mapped, prioritised set — the threat-prioritisation application of Wardley mapping. The mapping technique itself lives at wardley-maps.sgit.ai; this site keeps only the application.

How it runs offline

The vault was adapted for offline operation: d3, three.js and tween.js are inlined at pinned versions rather than loaded from a CDN, data is read through sg.vfs.readText() on vault-relative paths, and the network fallback reports failure rather than silently hiding it. A data-integrity note worth stating because it models the discipline the whole network runs on: two upstream JSON files had formatting errors, and both were repaired "using only bracket adjustments and repositioning — no field edits or invented content."

See also

/validated/ is this site's other signature page — a single threat model checked, finding by finding, against the code. /graph/ explains the schema this vault's data follows, and draws the line between what this vault proves today and what the wider papers still argue for.