Threat Modeler Tool Complete Guide
Everything you need to use the canvas-first STRIDE modeler: map architecture, score threats (DREAD/CVSS), track mitigations, review readiness, save snapshots, and export reports.
At a glance: a fresh visit lands on the empty-canvas Start Your Threat Model card. The tool uses four menus (File | Edit | View | Model), a Ctrl+K command palette, and a right-side tab panel (Inspector | Threats | Scoring | Mitigations | Report).
Table of Contents
1 Getting Started
The unified canvas tool helps you map your architecture and run STRIDE analysis in one workspace. The tool is a full-screen app: you open it from Tools › Modeling › Threat Modeler Tool, and this guide opens from the Help button in its top bar.
Start a Model
- Open the tool — a fresh visit lands on the Start Your Threat Model card
- Start the guided workflow, load a sample (E-Commerce, Microservices, Mobile Banking), or drag a component from the left palette
- Select nodes and flows on the canvas to enrich details in Inspector
Onboarding On Demand
- View › Help › Take the product tour replays the guided tour
- Model › Workflow mode › Choose your role reopens the role picker
- Both are also commands in the palette (Ctrl+K)
Find your way around
- Left: the component palette, with Core / Presets / All views and a search box
- Centre: the React Flow canvas; the Perimeter rail sits alongside it
- Right: the tab panel — Inspector, Threats, Scoring, Mitigations, Report
- Top bar: the File, Edit, View and Model menus, the model name, undo/redo, theme, fullscreen, print, save status and Help
- Ctrl+K: the command palette is the canonical command surface — type to filter, move with the arrow keys, press Enter to run
Tip: Your work is automatically saved to your browser's local storage. You can close the tab and come back later without losing progress.
2 System Information & Review Metadata
Document the model itself before or alongside the architecture. The name lives in the top bar; the rest sits in the Inspector's Model Metadata section and appears in reports and the readiness gate.
| Field | Where | Purpose |
|---|---|---|
| Name | Top bar | Title of the system being modeled |
| Description | Inspector | Scope, assumptions and boundaries of the system |
| Author | Inspector | Who produced the model |
| Version | Inspector | Version label, with a Bump button to increment it |
| Review status | Inspector | Draft, In Review, Approved or Signed Off |
| Approver | Inspector | Named person who signs the model off; required by the readiness gate |
Assumptions & Constraints have their own register in the Inspector, and the report's Assumptions Register lists them with their status. Review metadata travels inside the model JSON, so a save/import round-trip preserves the author, version, status and approver.
3 Adding Components
Components are the building blocks of your system. Add all significant parts that process, store, or transmit data. The palette groups them into External, Infrastructure, Security Controls, Data & Storage and Utilities; the Core / Presets / All views and the search box narrow the list.
Representative Component Types
Actors and client applications
Nginx, IIS, REST, GraphQL, gRPC
Security controls and inspection points
Data stores and messaging
Runtime workloads
Third parties and devices
Trust Zones
Assign each component a trust level in the Inspector to define security boundaries:
Untrusted
Semi-trusted
Trusted
Highly trusted
Need a level the four defaults do not cover? In the Inspector choose Trust Level › Add custom level…, give it a label and a colour, and it is applied straight away. The colour paints the Perimeter rail, the zone chip and the canvas band, while the stored model keeps the level's id.
4 Data Flows & Trust Boundaries
Data flows show how information moves between components. Draw them on the canvas, then refine each one with the flow quick editor or the Inspector.
For each data flow, specify:
- → Source & Target: Which components are connected
- → Label: What data is being transmitted (e.g., "User credentials", "API response")
- → Classification: The data classification (PII, credentials, public, and so on)
- → Protocol: How it's transmitted (HTTPS, gRPC, WebSocket, MQTT, and so on)
- → Encrypted: Whether the data is encrypted in transit (Yes, No, or not established)
- → Direction: One-way or bidirectional
Trust Boundary Crossings: Flows between different trust zones are flagged as crossing trust boundaries. The Report tab's Boundary-Crossing Analysis lists each one with its threat count, and the automated checks raise an encrypt-the-flow finding where a plaintext flow crosses a boundary. Use View › Trust-Zone Overlays to make zones visible on the canvas.
5 STRIDE Analysis & the Threats Tab
STRIDE is Microsoft's threat classification framework. For each component and data flow, consider these threat categories:
Spoofing
Pretending to be someone or something else
Examples: Stolen credentials, session hijacking, IP spoofing, fake certificates
Ask: Can an attacker pretend to be a legitimate user or system?
Tampering
Modifying data or code without authorization
Examples: SQL injection, parameter manipulation, binary patching, man-in-the-middle
Ask: Can an attacker modify data in transit or at rest?
Repudiation
Denying having performed an action
Examples: Missing audit logs, unsigned transactions, deleted evidence
Ask: Can a user deny performing an action, with no way to prove otherwise?
Information Disclosure
Exposing data to unauthorized parties
Examples: Data breaches, verbose errors, insecure logging, unencrypted storage
Ask: Can sensitive information be exposed to unauthorized users?
Denial of Service
Making a system unavailable
Examples: Resource exhaustion, crash bugs, network flooding, algorithmic complexity attacks
Ask: Can an attacker make the system unavailable to legitimate users?
Elevation of Privilege
Gaining higher access than authorized
Examples: Privilege escalation, IDOR, broken access control, JWT tampering
Ask: Can an attacker gain access to resources they shouldn't have?
Auto-analysis: Use Auto-Analyze in the Threats tab to generate suggestions for new or changed targets, or Re-analyze full model from the overflow menu. Suggestions arrive in a reviewable state with a confidence score; accept or reject them individually or in bulk.
The Threats Tab
The Threats tab is the threat inventory. A search box sits next to a Filters disclosure (which shows the number of active filters) and a compact view switcher with four modes:
List
The default row-per-threat view, with inline expand, drag-to-reorder, duplicate and delete.
Kanban
A board grouped by status, for moving threats through review.
Dashboard
The risk dashboard: counts and distributions across the model.
Paths
Attack paths live here. There is no separate Attacks tab — paths are a view of the Threats tab.
Search & Filter
Filter by STRIDE category, status (New, Investigating, Mitigated, Accepted, False Positive, Transferred), suggested/accepted analysis state and severity. Sort by DREAD, CVSS or severity, and clear all filters in one click.
CWE, CAPEC & ATT&CK Suggestions
The tool suggests CWE, CAPEC and MITRE ATT&CK references from the threat title and STRIDE category, each linking to the MITRE reference.
Threat Library & Import
Browse the built-in threat library, type-ahead title suggestions, import threats from CSV, and import a diagram from XML. Use Open Project to load a whole model from JSON.
Trust Boundary Warnings
Automated checks flag unencrypted flows (especially across a trust boundary), components with no mapped threats or flows, missing trust boundaries and high-risk threats left without a mitigation, all listed on the Report tab.
6 Risk Scoring (DREAD, CVSS, Custom)
The Scoring tab supports three scoring models. Pick one with the DREAD / CVSS / CUSTOM control at the top; threats sort by that model's score, and unscored threats are listed first so nothing is forgotten.
DREAD Scoring
DREAD helps prioritize threats by scoring them on five factors. Each factor is rated 0–10, and the average gives the overall risk score.
| Factor | Question | Low | Medium | High |
|---|---|---|---|---|
| Damage | How bad is the impact? | Minor disruption | Data leak | Full compromise |
| Reproducibility | How easy to reproduce? | Very difficult | Sometimes works | Always works |
| Exploitability | What skill is needed? | Expert required | Some skill | Script kiddie |
| Affected Users | How many impacted? | Single user | Some users | All users |
| Discoverability | How easy to find? | Hidden | Requires effort | Obvious |
The score is the average of the five factors, resolved to a risk band:
CVSS 3.1 Base Score
The Common Vulnerability Scoring System (CVSS) provides a standardized method for rating security vulnerabilities. The tool calculates the CVSS 3.1 base score from eight base metrics and produces the matching vector string. Only the base calculation is wired in the modeler.
Exploitability Metrics
- • Attack Vector: Network, Adjacent, Local, Physical
- • Attack Complexity: Low or High
- • Privileges Required: None, Low, High
- • User Interaction: None or Required
Impact Metrics
- • Confidentiality: None, Low, High
- • Integrity: None, Low, High
- • Availability: None, Low, High
- • Scope: Unchanged or Changed
Tip: CVSS scores range from 0.0 to 10.0. The tool calculates the base score and severity rating (None, Low, Medium, High, Critical). The threats list shows a composite risk score — the higher of DREAD and CVSS — so a threat scored by either model is ranked.
Custom Scoring
The Custom model is a lightweight likelihood × impact score: rate each on 1–5 and the tool derives a score and severity. It is useful when neither DREAD nor CVSS matches how your team already talks about risk.
7 Adding Mitigations
For each threat, document the security controls that reduce or eliminate the risk. Mitigations are tracked separately from threat status, and each mitigation can map to the control frameworks used by the compliance views.
Mitigation Status
- Planned - Control agreed, not started
- In progress - Control being implemented
- Implemented - Control in place
Good Mitigations Include:
- ✓ Specific control name
- ✓ Implementation details
- ✓ Who is responsible
- ✓ Timeline for implementation
- ✓ How effectiveness is measured
Threat status and mitigation status are different things. A threat can be New, Investigating, Mitigated, Accepted, False Positive or Transferred; a mitigation is Planned, In progress or Implemented. The policy gate looks for at least one mitigation against a critical threat, so mapping mitigations is what clears the gate.
8 Attack Paths
Attack paths chain multiple threats together to show realistic attack scenarios. Build and review them in the Threats › Paths view — there is no separate Attacks tab. Paths rank high-risk first, then by length and by their impact × likelihood score, so the heaviest chain leads.
Example Attack Path:
Attacker exploits SQL injection to extract password hashes, cracks admin credentials, and gains full system access.
The paths view shows the total path count, how many are high risk and the longest chain. The same paths appear in the Threat Story's Paths section, each with its mitigated and unmitigated steps.
9 Perimeter Rail & Zone Filtering
The Perimeter rail is a persistent list of the model's trust zones. Zones are derived from the model, not fixed: each drawn trust boundary becomes a zone, and components that sit inside no boundary contribute a zone for their declared trust level, so even a boundary-less model still has a perimeter.
What each segment shows
- • The zone name and its order on the canvas
- • A bar for the threat load, with a critical-threat marker
- • Threat and boundary-crossing counts
- • The trust level, or "outside boundaries" for level zones
Filtering by zone
Select a segment to dim every non-member node and boundary on the canvas and narrow the right panel to that zone's threats. Select it again, or use the rail's Clear control, to restore everything.
Custom trust colours: a custom trust level's colour is applied to its rail segment, zone chip and canvas band. The colour is a display choice — the model still stores the level's id, so exports and comparisons are unaffected.
10 Reports & Export
The Report tab has two views: Report for export-oriented reporting, and Story for the narrative walkthrough (covered in the next section). On mobile, Story is the default.
Report Profile
Every export uses a shared profile: a persona preset, a theme, a quality setting, a primary diagram variant, and toggles for annotations, mitigations, attack-path diagrams and the diagram appendix. Persona presets are Executive (concise diagram pack and top risks), Engineering (full diagrams, heatmap and attack paths) and Audit (delta-aware and compliance-friendly).
Export scope
Before any export, the tool states what the file will contain. By default it is accepted findings only; if unreviewed auto-generated suggestions exist, the summary says how many are withheld. Tick Include unreviewed auto-generated suggestions to include them instead. That same wording appears in the Report tab, in File › Export, and in the share dialog.
Formats
Formatted report for stakeholders
DOCX
Editable Word document
Word (.doc)
Legacy Word format
Markdown
For documentation systems (Confluence, GitHub)
HTML
Self-contained web page to share
JSON
Full model, including review metadata
One primary export, plus integrations
- Export report: one button with a format chooser (PDF, DOCX, Word (.doc), Markdown, HTML)
- Open Print View: a print-optimised report view; macOS and Windows can save it as PDF
- Copy Share Link: copies a link to the whole model (a dialog appears if the clipboard is blocked)
- Integrations (disclosure): SARIF for GitHub security tooling, JIRA CSV for tickets, and a Threat Register CSV
- File › Export: also offers JSON, Markdown, HTML, Word (.doc), PDF, DOCX, SARIF and JIRA CSV
- Policy Gate JSON and Activity JSON export the CI policy result and the session activity log
Report sections
Below the export controls the Report view includes a snapshot diff (added, removed and changed threats), a compliance view and gap matrix against NIST 800-53, ISO 27001 A, SOC 2 TSC and CIS Controls, a "What Did I Miss?" STRIDE coverage heatmap, the CI policy gate, the assumptions register, automated checks, boundary-crossing analysis, orphan detection, an editable executive summary, a STRIDE coverage matrix and the recent activity log.
11 Threat Story
The Story view in the Report tab is a graph-free, zone-ordered narrative of the model, written for someone who will not open the canvas. It is the default view on mobile and prints through its own Print / Save PDF button.
Perimeter
Each trust zone in canvas order, with its threat load restated as prose and its top threats.
Crossings
Every flow that leaves or enters a zone, with the threats riding it.
Paths
Attack paths ranked high-risk first, then by length, then by impact and likelihood.
Readiness
The readiness score and policy-gate result, plus every blocker with its one-click fix.
Note: the story reads the whole model, including unreviewed auto-generated suggestions, so it cannot disagree with the readiness gate it ends on. When suggestions are withheld from exports, an amber banner says how many the story still includes.
12 Model Readiness & Sign-off
The readiness chip in the status bar opens the Model readiness dialog. It answers one question: is this model defensible enough to sign off?
The score
A 0–100 score, banded as Blocked, Needs work, Ready or Exemplary, shown next to the policy gate's PASS / FAIL result and the counts that matter (critical unmitigated, high-risk unscored, automated findings).
Blockers and fixes
Findings are ordered worst-first. Each carries a one-click fix that opens the right tab and filter, or selects the offending node or flow.
Approve model stays disabled until three things are true: the policy gate passes (no critical threat without a mitigation and no high-risk threat left unscored), no critical threat is unmitigated, and an approver is named. Approving sets the review status and stamps the approver on the report; the review metadata round-trips through the model JSON.
13 Templates & Snapshots
Template Library
Open File › New from Template… to browse 23 built-in blueprints across three categories:
- • General - web tiers, REST APIs, microservices, mobile, IoT, CI/CD
- • Azure - App Service, AKS, Functions, data platform, hub-spoke, DevSecOps, Zero Trust
- • AWS - three-tier, serverless, EKS, data lake, landing zone, secure baselines
- • Custom - templates you saved from the canvas
Search across every template, or narrow by category. Starters seed their own threats, mitigations and attack paths so a new model begins populated.
Snapshots & Versioning
Track changes over time from the Model menu:
- • Save a named snapshot
- • Restore the latest snapshot, or open Snapshot Manager
- • Compare against a snapshot in Report › Snapshot Diff for a full added / removed / changed threats list
- • The Threats tab banner also shows +/- nodes, flows and threats, plus the average-CVSS risk delta
- • Model JSON round-trips the review metadata (author, version, status, approver)
The start screen offers three ready-made sample models — E-Commerce, Microservices and Mobile Banking — for a faster first run than building from a blank canvas.
14 Keyboard Shortcuts
These are the bindings the tool implements. On macOS, use ⌘ in place of Ctrl.
| Keys | Action |
|---|---|
| Ctrl+K | Open the command palette |
| Ctrl+Shift+A | Auto-analyze threats |
| Ctrl+F | Search the canvas |
| Ctrl+Z | Undo |
| Ctrl+Y (or Ctrl+Shift+Z) | Redo |
| Ctrl+T | Add a threat to the selection |
| Ctrl+G | Toggle Guided / Freeform |
| ? | Show the keyboard shortcuts |
| F | Toggle fullscreen canvas |
| H | Toggle the threat heatmap |
| Ctrl+Shift+S | Save a snapshot |
| Ctrl+S | Save the project (.json) |
| Ctrl+O | Open a project (.json) |
| Ctrl+P | Print / Save PDF |
| + (or =) | Zoom in |
| - (or _) | Zoom out |
| 0 | Fit to view |
15 Best Practices
Do
- • Include all external interfaces
- • Document trust boundaries clearly
- • Be specific about data classifications
- • Update models when architecture changes
- • Review with development teams
- • Prioritize high-risk threats first
- • Name an approver before you attempt sign-off
Don't
- • Skip components because they seem "safe"
- • Use generic threat descriptions
- • Ignore accepted risks without documentation
- • Create threat models in isolation
- • Treat this as a one-time exercise
- • Over-complicate the model
16 Frequently Asked Questions
How often should I update my threat model?
Update your threat model whenever there are significant architecture changes, new features, or after security incidents. At minimum, review quarterly.
Is my data stored anywhere?
All data is stored locally in your browser's localStorage. Nothing is sent to any server. Use Export/Import to back up your work or share it with others.
Can I share my threat model with my team?
Yes. Use Save Project to export a JSON file that others can import, or Copy Share Link to hand over the whole model. Export HTML for a read-only share. The share dialog is clear that a link carries the whole model, even when you have a zone filter applied.
What's the difference between STRIDE and DREAD?
STRIDE is a classification framework for categorizing threats. DREAD and CVSS are scoring frameworks for prioritizing those threats by risk level. STRIDE categorizes threats (what type), while scoring methods rate severity (how dangerous).
Should I use DREAD, CVSS, or Custom scoring?
Use DREAD for quick internal assessments, CVSS 3.1 when you need an industry-standard base score and vector string for compliance or vendor communication, and Custom when your team already has its own likelihood × impact language. The threats list ranks by the higher of DREAD and CVSS.
What blocks a sign-off?
The Approve button stays disabled until the policy gate passes (every critical threat has at least one mitigation and every high-risk threat is scored), no critical threat is unmitigated, and an approver is named. The readiness dialog lists each blocker with a one-click fix.
Where did the Attacks tab go?
There is no standalone Attacks tab. Attack paths are the Paths view inside the Threats tab, alongside List, Kanban and Dashboard. The Threat Story also includes a Paths section.
How do I reopen the tour or pick my role again?
Both are on demand. Use View › Help › Take the product tour for the tour and Model › Workflow mode › Choose your role for the role picker, or search for them in the Ctrl+K command palette.