[{"data":1,"prerenderedAt":870},["ShallowReactive",2],{"page-\u002Fagentic-modelling\u002F01-draw-the-agent":3,"navigation":547},{"id":4,"title":5,"body":6,"description":539,"extension":540,"meta":541,"navigation":542,"path":543,"seo":544,"stem":545,"__hash__":546},"docs\u002F07.agentic-modelling\u002F01.01-draw-the-agent.md","Lesson 1: Draw the Agent and What It Talks To",{"type":7,"value":8,"toc":524},"minimark",[9,13,26,31,39,42,46,53,69,73,78,81,87,92,105,111,116,145,148,152,155,294,306,321,325,331,337,340,396,402,413,417,423,429,458,464,470,474,482,488,508,511,514,518],[10,11,5],"h1",{"id":12},"lesson-1-draw-the-agent-and-what-it-talks-to",[14,15,16,21,22],"p",{},[17,18,20],"a",{"href":19},"\u002Fagentic-modelling","Training overview"," · Lesson 1 of 11 · Next: ",[17,23,25],{"href":24},"\u002Fagentic-modelling\u002F02-say-what-data-moves","Say what data moves",[27,28,30],"h2",{"id":29},"goal","Goal",[14,32,33,34,38],{},"An agent is one ",[35,36,37],"strong",{},"Agent Service",". Its tool calls and the content coming back to it are separate flows.",[14,40,41],{},"After this lesson you can draw the shape of an agentic system: which element is the agent, what hosts it, and which flows go in and out.",[27,43,45],{"id":44},"what-you-start-from","What you start from",[14,47,48,49,52],{},"An empty model: create a new model in the ",[35,50,51],{},"Browser",".",[14,54,55,56,59,60,63,64,68],{},"Click the ",[35,57,58],{},"+"," button at the top right of the content area and choose the model icon, ",[35,61,62],{},"New model"," (see ",[17,65,67],{"href":66},"\u002Fagentic-modelling#the-browsers-plus-button","The Browser's plus button","). A model named \"New Model\" is created at once and its settings open: rename it, then click the diagram button at the bottom right of the dialog to open the data flow editor.",[27,70,72],{"id":71},"the-recipe-step","The recipe step",[74,75,77],"h3",{"id":76},"step-0-draw-the-agent","Step 0: Draw the agent",[14,79,80],{},"One Agent Service per agent, or per group of agents with the same tools, model and context sources. A runtime product (a harness, an agent server or a platform) is its own element. Draw an Agent Runtime boundary only around two or more agents when no container holds exactly their process space. Never draw below the agent: a tool call is a flow, and what it calls (an MCP server, an API, a shell, a harness) is an element. A hand-off from one agent to another is an Agent Tool Call, and its result a Context Ingress back, drawn directly between the two agents.",[14,82,83,86],{},[35,84,85],{},"Why:"," Every agent pattern is about one agent. A tool drawn as its own agent splits one agent's facts across elements that cannot add up.",[14,88,89],{},[35,90,91],{},"Ask:",[93,94,95,99,102],"ul",{},[96,97,98],"li",{},"Which agents does the system run, and which of them share the same tools, model and context sources?",[96,100,101],{},"What hosts each agent: a harness, an agent server, a platform, or nothing (a standalone service)?",[96,103,104],{},"Which agents hand work to another agent, and which agent holds the tools that act?",[14,106,107,110],{},[35,108,109],{},"Classes:"," Agent Service, Agent Harness, Agent Server, Agent Runtime, Agent Code Execution Sandbox.",[14,112,113],{},[35,114,115],{},"What the analysis reads here:",[93,117,118,121,124,127,130,133,136,139,142],{},[96,119,120],{},"An agent: Agent Service.",[96,122,123],{},"A remote agent you reach over A2A: Remote A2A Agent.",[96,125,126],{},"A harness that runs an agent and approves its actions: Agent Harness.",[96,128,129],{},"A boundary around agents that share one process space: Agent Runtime.",[96,131,132],{},"A sandbox the agent runs code in: Agent Code Execution Sandbox.",[96,134,135],{},"An agent platform that hosts agents: AnythingLLM, Dify, Flowise, Langflow, LibreChat, LobeHub, MaxKB, n8n, Open WebUI, OpenClaw, RAGFlow.",[96,137,138],{},"Something that runs code or tools for an agent: Agent Harness, Agent Server, AnythingLLM, Dify, Flowise, Langflow, LibreChat, LobeHub, MaxKB, Open WebUI, OpenClaw, RAGFlow, n8n.",[96,140,141],{},"An executor that can read files in the agent's space: Agent Harness.",[96,143,144],{},"An MCP server: Local MCP Server, Remote MCP Server.",[14,146,147],{},"In the worked system the answers are simple. There is one agent, the support copilot. Nothing hosts it: it runs as a standalone service in its own container, so there is no harness to draw.",[27,149,151],{"id":150},"steps","Steps",[14,153,154],{},"Draw every element and flow below. Do not add data items yet, and give no zone to anything outside the support network: they come in lessons 2 and 3. The support network itself is Internal from the start.",[156,157,158,165,173,180,188,196,204,210,216,228,238,248,257,266,275,284],"ol",{},[96,159,160,161,164],{},"Add the boundary ",[35,162,163],{},"Support network"," (class Network Segment, zone Internal).",[96,166,160,167,170,171,52],{},[35,168,169],{},"Copilot container"," (class Container), inside ",[35,172,163],{},[96,174,175,176,179],{},"Add ",[35,177,178],{},"Customer"," (class End User), outside every boundary.",[96,181,175,182,185,186,52],{},[35,183,184],{},"Ticket system"," (class Application Service), inside ",[35,187,163],{},[96,189,175,190,193,194,52],{},[35,191,192],{},"Staff console"," (class Agent Chat Frontend), inside ",[35,195,163],{},[96,197,175,198,201,202,52],{},[35,199,200],{},"Support copilot"," (class Agent Service), inside ",[35,203,169],{},[96,205,175,206,209],{},[35,207,208],{},"CRM"," (class Third-Party Service), outside every boundary.",[96,211,175,212,215],{},[35,213,214],{},"Hosted model"," (class Hosted LLM API), outside every boundary.",[96,217,218,219,222,223,225,226,52],{},"Draw ",[35,220,221],{},"New ticket"," (class HTTP\u002FS Request) from ",[35,224,178],{}," to ",[35,227,184],{},[96,229,218,230,233,234,225,236,52],{},[35,231,232],{},"Context Ingress: ticket"," (class Context Ingress) from ",[35,235,184],{},[35,237,200],{},[96,239,218,240,243,244,225,246,52],{},[35,241,242],{},"CRM lookup"," (class Agent Tool Call) from ",[35,245,200],{},[35,247,208],{},[96,249,218,250,233,253,225,255,52],{},[35,251,252],{},"Context Ingress: customer records",[35,254,208],{},[35,256,200],{},[96,258,218,259,243,262,225,264,52],{},[35,260,261],{},"Post reply",[35,263,200],{},[35,265,184],{},[96,267,218,268,222,271,225,273,52],{},[35,269,270],{},"Reply e-mail",[35,272,184],{},[35,274,178],{},[96,276,218,277,222,280,225,282,52],{},[35,278,279],{},"Answer to staff",[35,281,200],{},[35,283,192],{},[96,285,218,286,289,290,225,292,52],{},[35,287,288],{},"Inference Request \u002F Response"," (class Inference Request \u002F Response) from ",[35,291,200],{},[35,293,214],{},[14,295,296,297,299,300,302,303,305],{},"Look at the flows between the copilot and the CRM. ",[35,298,242],{}," goes from the copilot to the CRM: it is the tool call. ",[35,301,252],{}," comes back from the CRM to the copilot: it is the content the agent reads. The same holds for the ticket: the ticket system hands the ticket to the copilot as a Context Ingress, and the copilot's ",[35,304,261],{}," tool call goes the other way.",[14,307,308,309,312,313,63,316,320],{},"When the drawing is complete, create a Threat Patterns analysis, open it with ",[35,310,311],{},"View results"," and click ",[35,314,315],{},"Generate",[17,317,319],{"href":318},"\u002Fagentic-modelling#run-threat-patterns-on-a-lesson-model","Run Threat Patterns on a lesson model",").",[27,322,324],{"id":323},"what-you-should-see","What you should see",[14,326,327,330],{},[35,328,329],{},"Findings:"," 0 systemic findings: 0 Confirmed · 0 Not ruled out.",[14,332,333,336],{},[35,334,335],{},"Facts to establish:"," 8 questions.",[14,338,339],{},"Facts that could raise a finding:",[93,341,342,345,348,367,377,387,390,393],{},[96,343,344],{},"Draw the data items on Context Ingress: customer records",[96,346,347],{},"Draw the data items on Context Ingress: ticket",[96,349,350,351,354,355,359,360,354,363,366],{},"Set the attribute ",[35,352,353],{},"Consequential Tools Present"," (",[356,357,358],"code",{},"consequential_tools_present",", in Human Oversight) or ",[35,361,362],{},"Code Execution Tools Present",[356,364,365],{},"code_execution_tools_present",", in Application Security) on Support copilot",[96,368,369,370,354,373,376],{},"Draw the outbound flows of Staff console, or answer ",[35,371,372],{},"Markdown Image Rendering Policy",[356,374,375],{},"markdown_image_rendering_policy",", in Output Rendering Exfiltration) on Staff console",[96,378,379,380,354,383,386],{},"Draw the outbound flows of Support copilot, or answer ",[35,381,382],{},"Network Egress Default-Deny Allowlist",[356,384,385],{},"network_egress_default_deny_allowlist",", in Network & Connectivity) on Support copilot",[96,388,389],{},"Draw the runtime boundary or the Agent Tool Call that ties Support copilot to its harness",[96,391,392],{},"Every drawn route from CRM ends inside; assert its outbound flows complete if nothing else leaves it",[96,394,395],{},"Every drawn route from Ticket system ends inside; assert its outbound flows complete if nothing else leaves it",[14,397,398,401],{},[35,399,400],{},"Model gaps:"," 1 of 1 agents have no hosting harness drawn, so their W cannot be read from one (on Support copilot)",[14,403,404,405,408,409,412],{},"There is no finding. All the questions sit under ",[35,406,407],{},"Facts that could raise a finding",", on the ",[35,410,411],{},"Facts to establish"," tab. The model gap names the copilot.",[27,414,416],{"id":415},"what-changed-and-why","What changed and why",[14,418,419,422],{},[35,420,421],{},"Nothing is found because nothing is known yet."," A finding needs at least two of its required legs present. The drawing shows the shape, but it says nothing about content, who is outside, or what the agent's tools can do. Every leg is still undetermined, and an undetermined leg is never read as \"no\".",[14,424,425,428],{},[35,426,427],{},"The questions tell you what to state next."," Read them as a to-do list:",[93,430,431,438,441,453],{},[96,432,433,437],{},[434,435,436],"em",{},"Draw the data items on Context Ingress"," asks what the copilot reads. Lesson 2 answers it.",[96,439,440],{},"The questions about outbound flows ask whether anything the copilot sends can reach an outsider. Two of them say that every drawn route from the CRM, and from the ticket system, ends inside. That is only as true as the zones, and every destination still reads as Internal: the ticket system and the staff console are in the support network, and the customer and the CRM sit outside every boundary, which reads as Internal. The reply e-mail does reach an outsider, the customer, so do not assert any outbound flows complete here. Lesson 3 settles these questions by marking who is outside, not by drawing more flows.",[96,442,443,452],{},[434,444,445,446,448,449,451],{},"Set the attribute Consequential Tools Present (",[356,447,358],{},", in Human Oversight) or Code Execution Tools Present (",[356,450,365],{},", in Application Security)"," asks what the copilot's tools can do. Lesson 5 answers it.",[96,454,455,457],{},[434,456,389],{},", and the model gap with it, ask how the copilot's actions get approved.",[14,459,460,463],{},[35,461,462],{},"Some questions are for later."," Not every question can be answered in the lesson that raises it, and some stay open to the end. Lesson 8 shows why answering a fact you do not know is never the way to clear a question.",[14,465,466,469],{},[35,467,468],{},"Do not draw a harness that does not exist."," The copilot is a standalone service. It has no harness, so there is nothing to tie it to. Leave the question open. In lesson 5 you answer the copilot's own approval fact instead, and both the question and the model gap go away.",[27,471,473],{"id":472},"exercise-tools-are-not-agents","Exercise: Tools are not agents",[14,475,476,477,481],{},"On a scratch copy (import ",[17,478,480],{"href":479},"\u002Fguides\u002Fagentic-modelling\u002FL1-solution.zip","L1-solution.zip"," and rename it), draw the copilot's CRM lookup, its ticket reply and its console answer as three Agent Services, each with its own flows. Generate again.",[14,483,484,485,487],{},"This is the wrong shape: tools are not agents. Look at ",[35,486,411],{},":",[93,489,490,496,502],{},[96,491,492,495],{},[35,493,494],{},"Each new agent gets its own questions."," The questions about tools, the harness and outbound flows now come once for every agent you drew, each naming that agent.",[96,497,498,501],{},[35,499,500],{},"Each one counts in the model gaps."," The model gap about agents with no hosting harness drawn now counts all four agents, and the line beneath it names them.",[96,503,504,507],{},[35,505,506],{},"None of them adds up to the copilot."," One \"agent\" reads customer records but cannot post; another posts but never reads a ticket. The facts about one agent are split across elements that the analysis reads separately, so no single element holds every leg a finding needs.",[14,509,510],{},"Stop at the agent: its tools are flows, not elements.",[14,512,513],{},"Delete the copy when you are done.",[27,515,517],{"id":516},"next","Next",[14,519,520,523],{},[17,521,522],{"href":24},"Lesson 2: Say what data moves",". You classify the ticket text and the customer records and attach them to the flows that carry them.",{"title":525,"searchDepth":526,"depth":526,"links":527},"",3,[528,530,531,534,535,536,537,538],{"id":29,"depth":529,"text":30},2,{"id":44,"depth":529,"text":45},{"id":71,"depth":529,"text":72,"children":532},[533],{"id":76,"depth":526,"text":77},{"id":150,"depth":529,"text":151},{"id":323,"depth":529,"text":324},{"id":415,"depth":529,"text":416},{"id":472,"depth":529,"text":473},{"id":516,"depth":529,"text":517},"Training overview · Lesson 1 of 11 · Next: Say what data moves","md",{},true,"\u002Fagentic-modelling\u002F01-draw-the-agent",{"title":5,"description":539},"07.agentic-modelling\u002F01.01-draw-the-agent","pCGIGr2RQd2QK3A4nZiarXMOfu8lKmQ6fDr0wk6SFE0",[548,603,638,693,727,771,786,850],{"title":549,"description":550,"path":551,"stem":552,"children":553,"page":-1},"Platform","Modelling, analysis, findings and controls in the Dethernety platform.","\u002Fplatform","01.platform",[554,558,563,568,573,578,583,588,593,598],{"title":555,"path":551,"stem":556,"description":557},"Dethernety User Documentation","01.platform\u002Findex","User guide for the Dethernety threat modeling platform",{"title":559,"path":560,"stem":561,"description":562},"Quick Start","\u002Fplatform\u002Fquick-start","01.platform\u002F01.quick-start","Install Dethernety on your own machine, draw a four-element model and read its first threat finding.",{"title":564,"path":565,"stem":566,"description":567},"Building Your First Model","\u002Fplatform\u002Fbuilding-your-first-model","01.platform\u002F02.building-your-first-model","Build a threat model of an online store in about 30 minutes, run a Threat Report on it, and raise an issue from a finding.",{"title":569,"path":570,"stem":571,"description":572},"Security Analysis Workflow","\u002Fplatform\u002Fsecurity-analysis-workflow","01.platform\u002F03.security-analysis-workflow","How to run security analysis and interpret results to improve your threat models.",{"title":574,"path":575,"stem":576,"description":577},"Managing Findings","\u002Fplatform\u002Fmanaging-findings","01.platform\u002F04.managing-findings","Record decisions on system-generated exposures and countermeasures — affirm them as confirmed live risk, or mute them as not applicable, false positive, waived, or superseded — instead of deleting them.",{"title":579,"path":580,"stem":581,"description":582},"Working with Security Controls","\u002Fplatform\u002Fworking-with-security-controls","01.platform\u002F05.working-with-security-controls","Learn how to create, manage, and assign reusable security controls in Dethernety to protect your threat models.",{"title":584,"path":585,"stem":586,"description":587},"Issue Management Guide","\u002Fplatform\u002Fissue-management-guide","01.platform\u002F06.issue-management-guide","Issue tracking, filtering, and management in Dethernety.",{"title":589,"path":590,"stem":591,"description":592},"Boundary Trust Zones","\u002Fplatform\u002Fboundary-trust-zones","01.platform\u002F07.boundary-trust-zones","Record each security boundary's trust zone, business domains, operational role, and approved channels to document how your system is meant to be segmented.",{"title":594,"path":595,"stem":596,"description":597},"Understanding Modules","\u002Fplatform\u002Funderstanding-modules","01.platform\u002F08.understanding-modules","How Dethernety's module system extends your threat modeling capabilities.",{"title":599,"path":600,"stem":601,"description":602},"Component Configuration Guide","\u002Fplatform\u002Fcomponent-configuration-guide","01.platform\u002F09.component-configuration-guide","Detailed guide on configuring different types of components and their security implications.",{"title":604,"description":605,"path":606,"stem":607,"children":608,"page":-1},"BYODt cloud","Deploying the platform yourself and connecting it to the BYODt cloud.","\u002Fbyodt-cloud","02.byodt-cloud",[609,613,618,623,628,633],{"title":610,"path":606,"stem":611,"description":612},"BYODt Deployment","02.byodt-cloud\u002Findex","Run Dethernety on your own machine: install, configure, operate, and recover",{"title":614,"path":615,"stem":616,"description":617},"Installing the BYODt Deployment","\u002Fbyodt-cloud\u002Finstallation","02.byodt-cloud\u002F01.installation","Install Dethernety on your own machine: check the requirements, download and verify the signed bundle, start it, and confirm the deployment is healthy",{"title":619,"path":620,"stem":621,"description":622},"Configuring the BYODt Deployment","\u002Fbyodt-cloud\u002Fconfiguration","02.byodt-cloud\u002F02.configuration","The .env settings reference, the generated secret file, database storage, and how to apply a change",{"title":624,"path":625,"stem":626,"description":627},"Operating the BYODt Deployment","\u002Fbyodt-cloud\u002Foperations","02.byodt-cloud\u002F03.operations","The byodt command reference and the day-to-day tasks: start, stop, inspect, back up, restore, TLS, upgrade, remove",{"title":629,"path":630,"stem":631,"description":632},"Connecting the BYODt Deployment to the Cloud","\u002Fbyodt-cloud\u002Fcloud","02.byodt-cloud\u002F04.cloud","Add cloud sign-in and content packages from the operator console, and disconnect again",{"title":634,"path":635,"stem":636,"description":637},"Troubleshooting the BYODt Deployment","\u002Fbyodt-cloud\u002Ftroubleshooting","02.byodt-cloud\u002F05.troubleshooting","Symptom, cause, and fix for the failures this deployment reports",{"title":639,"description":640,"path":641,"stem":642,"children":643,"page":-1},"Dethereal","The Claude Code plugin: build a threat model in conversation and publish it to the platform.","\u002Fdethereal","03.dethereal",[644,648,653,658,663,668,673,678,683,688],{"title":645,"path":641,"stem":646,"description":647},"Dethereal — Claude Code Plugin for Threat Modeling","03.dethereal\u002Findex","Comprehensive documentation for the Dethereal threat modeling plugin",{"title":649,"path":650,"stem":651,"description":652},"Getting Started with Dethereal","\u002Fdethereal\u002Fgetting-started","03.dethereal\u002F01.getting-started","Install the plugin, authenticate, and create your first threat model",{"title":654,"path":655,"stem":656,"description":657},"The 11-Step Guided Workflow","\u002Fdethereal\u002Fguided-workflow","03.dethereal\u002F02.guided-workflow","Complete walkthrough of the \u002Fdethereal:threat-model guided process",{"title":659,"path":660,"stem":661,"description":662},"Command Reference","\u002Fdethereal\u002Fcommand-reference","03.dethereal\u002F03.command-reference","Complete reference for all 14 Dethereal slash commands",{"title":664,"path":665,"stem":666,"description":667},"Threat Model Concepts","\u002Fdethereal\u002Fmodel-concepts","03.dethereal\u002F04.model-concepts","Components, boundaries, data flows, classes, attributes, and quality scoring",{"title":669,"path":670,"stem":671,"description":672},"Discovery and Enrichment","\u002Fdethereal\u002Fdiscovery-and-enrichment","03.dethereal\u002F05.discovery-and-enrichment","Infrastructure scanning, security attributes, MITRE ATT&CK, credentials, and compliance",{"title":674,"path":675,"stem":676,"description":677},"Sync and Version Control","\u002Fdethereal\u002Fsync-and-version-control","03.dethereal\u002F06.sync-and-version-control","Push\u002Fpull workflow, conflict handling, git integration, and multi-model projects",{"title":679,"path":680,"stem":681,"description":682},"Review and Attack Surface Analysis","\u002Fdethereal\u002Freview-and-analysis","03.dethereal\u002F07.review-and-analysis","Quality review, attack surface summary, and platform analysis integration",{"title":684,"path":685,"stem":686,"description":687},"Agents, Tools, and Hooks","\u002Fdethereal\u002Fagents-and-architecture","03.dethereal\u002F08.agents-and-architecture","How the 5 AI agents, 22 MCP tools, and 3 lifecycle hooks work together",{"title":689,"path":690,"stem":691,"description":692},"Dethereal Glossary","\u002Fdethereal\u002Fglossary","03.dethereal\u002F09.glossary","Definitions for Dethereal-specific terminology",{"title":694,"description":695,"path":696,"stem":697,"children":698,"page":-1},"Threat Report","The residual-risk report over a threat model: reading it, filtering it and exporting it.","\u002Fthreat-report","04.threat-report",[699,702,707,712,717,722],{"title":694,"path":696,"stem":700,"description":701},"04.threat-report\u002Findex","Read, filter, drill into, and export a residual-risk report over a threat model",{"title":703,"path":704,"stem":705,"description":706},"Getting Started with the Threat Report","\u002Fthreat-report\u002Fgetting-started","04.threat-report\u002F01.getting-started","Generate, open, refresh, and export a threat report over a model",{"title":708,"path":709,"stem":710,"description":711},"Reading the Report","\u002Fthreat-report\u002Freading-the-report","04.threat-report\u002F02.reading-the-report","Navigating the report, the shared visual language, and the Posture and Boundary Crossings views",{"title":713,"path":714,"stem":715,"description":716},"Understanding Coverage and Gaps","\u002Fthreat-report\u002Funderstanding-coverage","04.threat-report\u002F03.understanding-coverage","Reading the MITRE ATT&CK coverage matrix: tiers, prevent vs detect, off-grid notes, and what coverage does and does not mean",{"title":718,"path":719,"stem":720,"description":721},"Reachability and Flow Routes","\u002Fthreat-report\u002Freachability","04.threat-report\u002F04.reachability","Exploring flow routes to crown-jewel assets and between any two elements — and what the analysis does and does not model",{"title":723,"path":724,"stem":725,"description":726},"Working with Findings","\u002Fthreat-report\u002Fworking-with-findings","04.threat-report\u002F05.working-with-findings","The Residual Risk ledger, triaging findings, filtering, and the per-element Component Profile",{"title":728,"description":729,"path":730,"stem":731,"children":732,"page":-1},"Risk assessment","The risk assessment module: the register, the reports and the method behind them.","\u002Frisk-assessment","05.risk-assessment",[733,737,742,747,752,757,761,766],{"title":734,"path":730,"stem":735,"description":736},"Dethernety Risk Assessment User Guide","05.risk-assessment\u002Findex","Dethernety Risk Assessment turns a threat model you have built on the Dethernety platform into a grounded, board-ready draft risk report. From one point-in-time assessment of your model you get a prioritized worklist, a likelihood × impact risk matrix, a security-coverage posture, ten kinds of finding, a management risk register your team authors and maintains, and audience-tiered stakeholder reports — Board, Risk Committee, and Technical — plus machine-readable data exports.",{"title":738,"path":739,"stem":740,"description":741},"FAQ and Troubleshooting","\u002Frisk-assessment\u002Ffaq","05.risk-assessment\u002F01.faq","Short answers to the questions analysts, risk managers, and compliance officers ask most often about the Risk Assessment. Each answer links to the guide that covers it in full.",{"title":743,"path":744,"stem":745,"description":746},"Findings","\u002Frisk-assessment\u002Ffindings","05.risk-assessment\u002F02.findings","A finding is a specific observation the Risk Assessment makes about your threat model. Every finding is grounded in something concrete you have declared — an element, a data flow, a trust zone, a crown jewel — and it points you at a place worth a closer look. This guide is the reference to open when you see a finding and want to know what it means and what to do about it.",{"title":748,"path":749,"stem":750,"description":751},"Getting Started","\u002Frisk-assessment\u002Fgetting-started","05.risk-assessment\u002F03.getting-started","Risk Assessment turns a threat model you have built on the Dethernety platform into a grounded, board-ready draft risk report — a prioritized worklist, a likelihood × impact matrix, a security-coverage posture, ten kinds of finding, a risk register your team authors, and audience-tiered stakeholder reports and exports.",{"title":753,"path":754,"stem":755,"description":756},"Methodology and Trust","\u002Frisk-assessment\u002Fmethodology-and-trust","05.risk-assessment\u002F04.methodology-and-trust","Every number in a Risk Assessment is meant to survive scrutiny. This chapter explains why you can trust the report and — just as importantly — what it deliberately declines to claim, so you can put it in front of your board, a regulator, or an external auditor and defend every line.",{"title":708,"path":758,"stem":759,"description":760},"\u002Frisk-assessment\u002Freading-the-report","05.risk-assessment\u002F05.reading-the-report","The Risk Assessment turns your threat model into a single, scannable draft risk report: an executive summary at the top and a set of analytical tabs below it. This guide explains how to read what you see — what a matrix cell means, how coverage is stated, what a severity band is (and is not), and how to interpret each tab.",{"title":762,"path":763,"stem":764,"description":765},"Stakeholder Reports and Exports","\u002Frisk-assessment\u002Fstakeholder-reports","05.risk-assessment\u002F06.stakeholder-reports","One assessment produces reporting for every audience you answer to. From a single generated Risk Assessment you can hand your board a one-page brief, give your risk committee the full reconciliation, keep the complete technical detail for your own team, and export the underlying data into your GRC tool — without ever re-running anything or reconciling one document against another.",{"title":767,"path":768,"stem":769,"description":770},"The Risk Register","\u002Frisk-assessment\u002Fthe-risk-register","05.risk-assessment\u002F07.the-risk-register","The Risk Register is where your team records and manages the real risks your organisation is carrying — on top of, but separate from, what the analysis computed for you. Each entry is written by a person: a plain-language risk statement, your own assessment of how likely it is and how much it would hurt, the findings and elements from the analysis that back it up, a treatment decision, an owner, a review date, and a reference handle you can quote in a ticket or a board pack.",{"title":772,"description":773,"path":774,"stem":775,"children":776,"page":-1},"Threat Patterns","The Threat Patterns module and its modelling checklist.","\u002Fthreat-patterns","06.threat-patterns",[777,781],{"title":778,"path":774,"stem":779,"description":780},"Threat Patterns User Guide","06.threat-patterns\u002Findex","Threat Patterns finds threats in your model that no single element shows on its own. Each one appears only when several elements line up. For example, an agent may read content anyone can write, hold private data, and be able to send data where an outsider reads it. Each element can look acceptable alone, but together they form a path an attacker can use.",{"title":782,"path":783,"stem":784,"description":785},"Modelling Checklist","\u002Fthreat-patterns\u002Fmodelling-checklist","06.threat-patterns\u002F01.modelling-checklist","Threat Patterns decides a leg only from what your model states. An unanswered attribute or field is undetermined, never read as \"no\". This checklist lists the facts and drawings the analysis asks for most often. For each one it says where to set it and which leg it settles. Attribute names are shown as they appear on the class, in code.",{"title":787,"description":788,"path":19,"stem":789,"children":790,"page":-1},"Agentic modelling","A hands-on training: model one agentic system step by step, with Threat Patterns after each step.","07.agentic-modelling",[791,795,796,800,805,810,815,820,825,830,835,840,845],{"title":792,"path":19,"stem":793,"description":794},"Model an Agentic Architecture","07.agentic-modelling\u002Findex","A hands-on training in modelling systems that run AI agents, so that Threat Patterns can analyse them. You build one system, a fictional customer-support copilot, in eleven short lessons. Each lesson adds one thing to the model, and you run Threat Patterns after each one to see what the change did.",{"title":5,"path":543,"stem":545,"description":539},{"title":797,"path":24,"stem":798,"description":799},"Lesson 2: Say What Data Moves","07.agentic-modelling\u002F02.02-say-what-data-moves","Training overview · Lesson 2 of 11 · Previous: Draw the agent · Next: Mark who is outside",{"title":801,"path":802,"stem":803,"description":804},"Lesson 3: Mark Who Is Outside","\u002Fagentic-modelling\u002F03-mark-who-is-outside","07.agentic-modelling\u002F03.03-mark-who-is-outside","Training overview · Lesson 3 of 11 · Previous: Say what data moves · Next: Draw a tool that reaches any host",{"title":806,"path":807,"stem":808,"description":809},"Lesson 4: Draw a Tool That Reaches Any Host","\u002Fagentic-modelling\u002F04-draw-a-tool-that-reaches-any-host","07.agentic-modelling\u002F04.04-draw-a-tool-that-reaches-any-host","Training overview · Lesson 4 of 11 · Previous: Mark who is outside · Next: State what the agent can do",{"title":811,"path":812,"stem":813,"description":814},"Lesson 5: State What the Agent Can Do","\u002Fagentic-modelling\u002F05-state-what-the-agent-can-do","07.agentic-modelling\u002F05.05-state-what-the-agent-can-do","Training overview · Lesson 5 of 11 · Previous: Draw a tool that reaches any host · Next: Fix a finding with a fact",{"title":816,"path":817,"stem":818,"description":819},"Lesson 6: Fix a Finding With a Fact","\u002Fagentic-modelling\u002F06-fix-a-finding-with-a-fact","07.agentic-modelling\u002F06.06-fix-a-finding-with-a-fact","Training overview · Lesson 6 of 11 · Previous: State what the agent can do · Next: Record a compensating control",{"title":821,"path":822,"stem":823,"description":824},"Lesson 7: Record a Compensating Control","\u002Fagentic-modelling\u002F07-record-a-compensating-control","07.agentic-modelling\u002F07.07-record-a-compensating-control","Training overview · Lesson 7 of 11 · Previous: Fix a finding with a fact · Next: Leave what you don't know open",{"title":826,"path":827,"stem":828,"description":829},"Lesson 8: Leave What You Don't Know Open","\u002Fagentic-modelling\u002F08-leave-unknowns-open","07.agentic-modelling\u002F08.08-leave-unknowns-open","Training overview · Lesson 8 of 11 · Previous: Record a compensating control · Next: Follow a credential",{"title":831,"path":832,"stem":833,"description":834},"Lesson 9: Follow a Credential","\u002Fagentic-modelling\u002F09-follow-a-credential","07.agentic-modelling\u002F09.09-follow-a-credential","Training overview · Lesson 9 of 11 · Previous: Leave what you don't know open · Next: Watch what gets into knowledge and memory",{"title":836,"path":837,"stem":838,"description":839},"Lesson 10: Watch What Gets Into Knowledge and Memory","\u002Fagentic-modelling\u002F10-what-gets-in","07.agentic-modelling\u002F10.10-what-gets-in","Training overview · Lesson 10 of 11 · Previous: Follow a credential · Next: Draw tools from others and hand-offs",{"title":841,"path":842,"stem":843,"description":844},"Lesson 11: Draw Tools From Others and Hand-offs","\u002Fagentic-modelling\u002F11-tools-and-handoffs","07.agentic-modelling\u002F11.11-tools-and-handoffs","Training overview · Lesson 11 of 11 · Previous: Watch what gets into knowledge and memory",{"title":846,"path":847,"stem":848,"description":849},"The recipe at a glance","\u002Fagentic-modelling\u002Frecipe-at-a-glance","07.agentic-modelling\u002F12.recipe-at-a-glance","The ten steps of the training on one page. Each lesson teaches one or two of them.",{"title":851,"description":852,"path":853,"stem":854,"children":855,"page":-1},"BYODt subscription","Subscribing on the BYODt Portal, and moving a deployment you already run to a new team.","\u002Fbyodt-subscription","08.byodt-subscription",[856,860,865],{"title":857,"path":853,"stem":858,"description":859},"BYODt Subscription","08.byodt-subscription\u002Findex","Buy content for the deployment you run yourself, and decide where that deployment goes when you buy a team edition",{"title":861,"path":862,"stem":863,"description":864},"Your Subscription","\u002Fbyodt-subscription\u002Fyour-subscription","08.byodt-subscription\u002F01.your-subscription","Create an account, subscribe by card, and find the values your deployment needs on the portal",{"title":866,"path":867,"stem":868,"description":869},"Moving a Deployment to a New Team","\u002Fbyodt-subscription\u002Fmoving-a-deployment-to-a-new-team","08.byodt-subscription\u002F02.moving-a-deployment-to-a-new-team","What to do with the deployment you already run once you buy a team edition: three ways forward, best first",1793748186334]