[{"data":1,"prerenderedAt":1681},["ShallowReactive",2],{"page-\u002Fagentic-modelling":3,"navigation":1373},{"id":4,"title":5,"body":6,"description":16,"extension":1366,"meta":1367,"navigation":1368,"path":1369,"seo":1370,"stem":1371,"__hash__":1372},"docs\u002F07.agentic-modelling\u002Findex.md","Model an Agentic Architecture",{"type":7,"value":8,"toc":1344},"minimark",[9,13,17,20,25,28,37,41,44,47,51,54,114,117,122,137,214,217,224,228,236,284,290,294,297,331,345,366,377,391,444,452,456,470,523,527,558,568,572,579,655,658,662,665,710,713,747,760,797,821,825,1035,1039,1042,1077,1080,1102,1106,1132,1135,1138,1313,1317,1326,1330],[10,11,5],"h1",{"id":12},"model-an-agentic-architecture",[14,15,16],"p",{},"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.",[14,18,19],{},"The first eight lessons take about three hours. Lessons 9 to 11 each take about as long as one of those. Each lesson teaches one idea.",[21,22,24],"h2",{"id":23},"who-this-training-is-for","Who this training is for",[14,26,27],{},"Security architects and analysts who model AI agents, copilots and their tools on the Dethernety platform. You should be able to draw a model: add elements and boundaries, draw flows, pick classes and set attributes.",[14,29,30,31,36],{},"You do not need to know Threat Patterns yet. The training shows you what to look at after each step. For a full description of the screens, read the ",[32,33,35],"a",{"href":34},"\u002Fthreat-patterns","Threat Patterns user guide",".",[21,38,40],{"id":39},"what-you-learn","What you learn",[14,42,43],{},"Threat Patterns decides only from what your model says. Most of the facts it needs are in the drawing: which element is the agent, which data moves where, who is outside. The rest are a few attributes on the agent. The training teaches a fixed order for stating those facts, called the recipe, and what each fact changes in the analysis.",[14,45,46],{},"The training also teaches when to stop. A fact you do not know stays unanswered, and the analysis asks for it. A guessed answer can make a finding disappear for good, with nothing on screen to show it was a guess.",[21,48,50],{"id":49},"before-you-start","Before you start",[14,52,53],{},"You need:",[55,56,57,64,84,94,99],"ul",{},[58,59,60],"li",{},[61,62,63],"strong",{},"Platform 0.13.0 or later.",[58,65,66,69,70,73,74,78,79,83],{},[61,67,68],{},"Threat Patterns 0.1.5 or later."," Earlier versions do not name the credited legs in a finding's state, as in ",[61,71,72],{},"Confirmed · control modelled on U, X",", or the form section beside an attribute in a question. Lesson 9's exercise ",[32,75,77],{"href":76},"\u002Fagentic-modelling\u002F09-follow-a-credential#exercise-the-sandbox","The sandbox"," and lesson 10's exercise ",[32,80,82],{"href":81},"\u002Fagentic-modelling\u002F10-what-gets-in#exercise-writes-left-open","Writes left open"," need 0.1.6 or later, because earlier versions do not read those answers. The lessons' results were checked with Threat Patterns 0.1.6 and its agentic pattern pack 0.1.6.",[58,85,86,89,90,93],{},[61,87,88],{},"The agentic class modules and the Threat Patterns analysis with the agentic pattern pack",", installed on your platform. If Threat Patterns is not in the ",[61,91,92],{},"New Analysis"," list, or it says no pattern pack is installed, contact your administrator.",[58,95,96],{},[61,97,98],{},"Permission to create and import models and to run analyses.",[58,100,101,113],{},[61,102,103,104,108,109,112],{},"Optional: the AWS class modules AWS Compute & Containers (",[105,106,107],"code",{},"aws-compute-containers",") and AWS Identity & Cryptography (",[105,110,111],{},"aws-identity-cryptography",")",", for lesson 9's two cloud exercises only. Every other lesson and exercise works without them.",[14,115,116],{},"Lessons 7 to 11, whose results depend on controls you create on the platform, were last checked on platform 0.11.1, and three of their exercises on 0.12.1.",[118,119,121],"h3",{"id":120},"the-browsers-plus-button","The Browser's plus button",[14,123,124,125,128,129,132,133,136],{},"You create models and controls, and import models, from the ",[61,126,127],{},"+"," button at the top right of the ",[61,130,131],{},"Browser","'s content area. Its tooltip reads ",[61,134,135],{},"Create or import",". Click it and three round icons open below it. Each icon names itself in a tooltip:",[138,139,145],"div",{"className":140,"tabIndex":142,"role":143,"ariaLabel":144},[141],"table-frame",0,"region","Table: The Browser's plus button",[146,147,148,164],"table",{},[149,150,151],"thead",{},[152,153,154,158,161],"tr",{},[155,156,157],"th",{},"Icon",[155,159,160],{},"Tooltip",[155,162,163],{},"What it does",[165,166,167,181,197],"tbody",{},[152,168,169,173,178],{},[170,171,172],"td",{},"Connected points",[170,174,175],{},[61,176,177],{},"New model",[170,179,180],{},"Creates a model named \"New Model\" at once and opens its settings",[152,182,183,186,191],{},[170,184,185],{},"A shield",[170,187,188],{},[61,189,190],{},"New control",[170,192,193,194],{},"Creates a control named \"New Control\" at once and opens its dialog, ",[61,195,196],{},"Control: New Control",[152,198,199,202,207],{},[170,200,201],{},"An arrow into a box",[170,203,204],{},[61,205,206],{},"Import model",[170,208,209,210,213],{},"Opens the ",[61,211,212],{},"Import Model"," dialog",[14,215,216],{},"The model and control icons save the new item as soon as you click them: there is nothing to cancel.",[14,218,219,223],{},[32,220,222],{"href":221},"\u002Fplatform\u002Fbuilding-your-first-model#create-your-model","Building your first model"," shows the same speed dial for a new model.",[118,225,227],{"id":226},"import-a-lesson-model","Import a lesson model",[14,229,230,231,235],{},"Every lesson after the first starts from a model you can import. Get the ZIP from ",[32,232,234],{"href":233},"#downloads","Downloads",", then:",[237,238,239,245,257,268,274],"ol",{},[58,240,241,242,244],{},"Open the ",[61,243,131],{}," and select the folder for the model.",[58,246,247,248,250,251,253,254,256],{},"Click the ",[61,249,127],{}," button at the top right of the content area, then ",[61,252,206],{},". The ",[61,255,212],{}," dialog opens.",[58,258,259,260,263,264,267],{},"Click ",[61,261,262],{},"Select File"," and choose the ZIP. The ",[61,265,266],{},"Model name"," field fills in with the name stored in the ZIP, for example \"Support copilot (training): lesson 1 solution\".",[58,269,270,271,273],{},"Change ",[61,272,266],{}," if you want another name.",[58,275,276,277,280,281,283],{},"Click the import icon at the bottom of the dialog. Its tooltip reads ",[61,278,279],{},"Import",". It stays greyed out until you choose a file, and while ",[61,282,266],{}," is empty. A progress bar shows each step, then a success message.",[14,285,286,287,289],{},"The model appears in the folder under the name in ",[61,288,266],{},". If the folder already holds a model of that name, the dialog gives the import a different name, and a hint under the field says so. You can change that name too.",[118,291,293],{"id":292},"run-threat-patterns-on-a-lesson-model","Run Threat Patterns on a lesson model",[14,295,296],{},"An imported model is a new model, so it has no analysis yet:",[237,298,299,302,318],{},[58,300,301],{},"Open the model.",[58,303,247,304,307,308,311,312,314,315,36],{},[61,305,306],{},"Analyses"," icon (sparkles) on the canvas toolbar. A dialog headed ",[61,309,310],{},"Analysis:"," and the model's name opens. Click ",[61,313,92],{}," and choose ",[61,316,317],{},"Threat Patterns",[58,319,320,321,323,324,327,328,36],{},"A row named ",[61,322,317],{}," appears. Click its ",[61,325,326],{},"View results"," button, then click ",[61,329,330],{},"Generate",[14,332,333,334,337,338,341,342,36],{},"The first time you open an analysis's results, ",[61,335,336],{},"Loading analysis view…"," can show briefly. If the page says ",[61,339,340],{},"This analysis view is unavailable right now. Try again shortly.",", click ",[61,343,344],{},"Retry",[14,346,347,348,351,352,355,356,359,360,362,363,365],{},"The results open on the ",[61,349,350],{},"Sheet"," tab. The lessons read the ",[61,353,354],{},"Findings"," and ",[61,357,358],{},"Facts to establish"," tabs. To open the analysis again later, click the ",[61,361,306],{}," icon on the canvas toolbar, then ",[61,364,326],{}," on its row.",[14,367,368,369,372,373,376],{},"When you change the model later, the analysis shows the banner ",[61,370,371],{},"The model or Threat Patterns changed since this run. Generate again to read the current model."," Click ",[61,374,375],{},"Generate again",". Nothing changes until you do.",[14,378,379,380,383,384,386,387,36],{},"If a notice above the report reads ",[61,381,382],{},"Pattern pack … needs the Threat Patterns engine … or later; …",", the engine skipped that pack, and the lesson's findings from it are missing. Ask your administrator to upgrade the Threat Patterns engine module, then click ",[61,385,375],{},"; see ",[32,388,390],{"href":389},"\u002Fthreat-patterns#troubleshooting","Troubleshooting",[14,392,393,396,397,400,401,404,405,408,409,355,411,413,414,417,418,420,421,423,424,427,428,431,432,435,436,438,439,443],{},[61,394,395],{},"Each question carries one button:"," ",[61,398,399],{},"Answer it",", ",[61,402,403],{},"Draw it"," or ",[61,406,407],{},"Ask the owner",". ",[61,410,399],{},[61,412,403],{}," open a dialog whose ",[61,415,416],{},"Open the model"," button opens the model editor; the dialog writes nothing. ",[61,419,407],{}," opens a dialog that only says whom to ask. A button is not a reason to act: answer only what the owner confirmed, and draw only what exists. The ",[61,422,358],{}," list and the ",[61,425,426],{},"to settle:"," lines of an expanded finding name an attribute by its title, with its key and the form section it sits in beside it, as in ",[61,429,430],{},"Consequential Tools Present"," (",[105,433,434],{},"consequential_tools_present",", in Human Oversight); the dialogs give the key alone. A leg whose question names no attribute shows none on its ",[61,437,426],{}," line or in its dialog; ",[32,440,442],{"href":441},"\u002Fagentic-modelling\u002F05-state-what-the-agent-can-do#what-changed-and-why","lesson 5"," has one.",[14,445,446,447,451],{},"See ",[32,448,450],{"href":449},"\u002Fthreat-patterns#run-the-analysis","Run the analysis"," in the Threat Patterns guide for more.",[118,453,455],{"id":454},"zone-names-in-the-editor","Zone names in the editor",[14,457,458,459,462,463,466,467,469],{},"The lessons name each zone as the boundary's pill on the diagram shows it, with the label from the ",[61,460,461],{},"Trust zone"," list in brackets, for example \"Untrusted (Open internet)\". You set a boundary's zone on its ",[61,464,465],{},"Zoning"," tab, under ",[61,468,461],{},":",[138,471,474],{"className":472,"tabIndex":142,"role":143,"ariaLabel":473},[141],"Table: Zone names in the editor",[146,475,476,489],{},[149,477,478],{},[152,479,480,483,486],{},[155,481,482],{},"Zone on the diagram",[155,484,485],{},"In the Trust zone list",[155,487,488],{},"What it means",[165,490,491,502,513],{},[152,492,493,496,499],{},[170,494,495],{},"Untrusted",[170,497,498],{},"Open internet",[170,500,501],{},"Anonymous, hostile — the open internet",[152,503,504,507,510],{},[170,505,506],{},"Vendor",[170,508,509],{},"Trusted external",[170,511,512],{},"Vetted vendor \u002F partner",[152,514,515,518,520],{},[170,516,517],{},"Internal",[170,519,517],{},[170,521,522],{},"Reachable only from trusted zones — no untrusted ingress",[118,524,526],{"id":525},"yesno-fields","Yes\u002Fno fields",[14,528,529,530,400,533,355,536,539,540,542,543,545,546,549,550,552,553,549,556,36],{},"An attribute that takes yes or no shows three buttons: ",[61,531,532],{},"Yes",[61,534,535],{},"No",[61,537,538],{},"Not answered",". A field nobody answered shows ",[61,541,538],{},". Choosing ",[61,544,538],{}," takes an answer back: when you save, the field is unanswered again. Where a lesson sets a field to ",[105,547,548],{},"true",", choose ",[61,551,532],{},"; where it sets ",[105,554,555],{},"false",[61,557,535],{},[14,559,560,561,563,564,567],{},"So answer only the fields a lesson names, and only with what someone confirmed. If you answer one by mistake, choose ",[61,562,538],{}," and save. The ",[61,565,566],{},"Attributes"," tab keeps your changes until you click the save icon on the right of the panel. The icon has no label.",[21,569,571],{"id":570},"the-worked-system","The worked system",[14,573,574,575,578],{},"A fictional company runs a ",[61,576,577],{},"support copilot",": an AI agent that answers customer tickets.",[55,580,581,591,601,607,614,621,628,634,645],{},[58,582,583,586,587,590],{},[61,584,585],{},"Customers"," write tickets on the internet. The ",[61,588,589],{},"ticket system"," receives them and e-mails replies back to the customer.",[58,592,593,594,596,597,600],{},"The ",[61,595,577],{}," reads each new ticket, looks the customer up in a ",[61,598,599],{},"CRM"," that a vendor hosts, drafts a reply and posts it to the ticket.",[58,602,603,604,36],{},"Support staff read the copilot's answers in a ",[61,605,606],{},"staff console",[58,608,609,610,613],{},"The copilot reasons with a ",[61,611,612],{},"hosted model"," from a model provider.",[58,615,616,617,620],{},"In lesson 4 the copilot gains a ",[61,618,619],{},"web-fetch tool"," that can open any web page.",[58,622,623,624,627],{},"In lesson 8 a second agent, the ",[61,625,626],{},"ticket summariser",", joins. It summarises each ticket with the customer's history for the staff console.",[58,629,630,631,36],{},"In lesson 9 the copilot gains a ",[61,632,633],{},"code tool",[58,635,636,637,640,641,644],{},"In lesson 10 the copilot gains a ",[61,638,639],{},"knowledge base",", filled from resolved tickets, and a ",[61,642,643],{},"memory"," of each customer.",[58,646,647,648,651,652,36],{},"In lesson 11 the copilot hands refunds to a third agent, the ",[61,649,650],{},"Refund agent",", which issues them through the payment provider's ",[61,653,654],{},"MCP server",[14,656,657],{},"All names are fictional. Every lesson's numbered instructions name the exact elements, classes and values to use.",[21,659,661],{"id":660},"how-each-lesson-works","How each lesson works",[14,663,664],{},"Each lesson has the same parts:",[237,666,667,673,679,685,691,699,704],{},[58,668,669,672],{},[61,670,671],{},"Goal",": the one idea the lesson teaches.",[58,674,675,678],{},[61,676,677],{},"What you start from",": the model to import, or your own model from the lesson before.",[58,680,681,684],{},[61,682,683],{},"The recipe step",": the step of the recipe the lesson teaches.",[58,686,687,690],{},[61,688,689],{},"Steps",": what to draw or set, one change at a time.",[58,692,693,696,697,36],{},[61,694,695],{},"What you should see",": what Threat Patterns shows after you click ",[61,698,375],{},[58,700,701,36],{},[61,702,703],{},"What changed and why",[58,705,706,709],{},[61,707,708],{},"Exercise",": a small change that shows the idea from another side.",[14,711,712],{},"If you did the previous lesson, keep working in your own model. If you skipped it, or your model drifted, import the previous lesson's solution and continue from there.",[14,714,715,718,719,721,722,725,726,729,730,732,733,736,737,740,741,743,744,36],{},[61,716,717],{},"What you should see lists systemic findings only."," Each lesson quotes the systemic findings, the questions on ",[61,720,358],{}," and the model gaps. Your screen also shows ",[61,723,724],{},"element exposures",": a second count line in the header, an ",[61,727,728],{},"Element exposures"," group at the end of the ",[61,731,354],{}," list, and an ",[61,734,735],{},"N exposures inside"," chip on a finding. Your element classes raise those, and this training does not cover them. To see the list as the lessons show it, set the ",[61,738,739],{},"Scope"," filter on the ",[61,742,354],{}," tab to ",[61,745,746],{},"systemic",[14,748,749,752,753,755,756,759],{},[61,750,751],{},"Reading a Findings row."," A row shows a severity chip, the finding, one dot per leg and the finding's state, for example ",[61,754,72],{},". The dots read ● present, ◐ undetermined, ○ absent, with the required legs first and the aggravating legs last. Under a Not ruled out finding's chip, ",[61,757,758],{},"if confirmed"," means the severity it has once confirmed. It is not a lower risk.",[14,761,762,765,766,355,769,772,773,355,776,779,780,400,784,400,788,355,792,796],{},[61,763,764],{},"The result screens offer more than the lessons use:"," you can record a finding as an issue or a risk with ",[61,767,768],{},"＋ Issue",[61,770,771],{},"＋ Risk",", affirm or disposition an exposure with ",[61,774,775],{},"Affirm",[61,777,778],{},"Disposition…",", and read an exposure's map and severity chips in its dialogs: see ",[32,781,783],{"href":782},"\u002Fthreat-patterns#raise-an-issue","Raise an issue",[32,785,787],{"href":786},"\u002Fthreat-patterns#record-a-finding-or-an-exposure-as-a-risk","Record a finding or an exposure as a risk",[32,789,791],{"href":790},"\u002Fthreat-patterns#affirm-or-disposition-an-exposure","Affirm or disposition an exposure",[32,793,795],{"href":794},"\u002Fthreat-patterns#dialogs","Dialogs"," in the Threat Patterns guide.",[14,798,799,802,803,805,806,808,809,812,813,816,817,820],{},[61,800,801],{},"Do the exercises on a scratch copy."," Each exercise changes the model in a way the next lesson does not want. Import the ZIP the exercise names as a second model, and give it a name of its own in the ",[61,804,266],{}," field as you import it, so you can tell it from your own model in the ",[61,807,131],{},". You can also rename it after the import: click the ",[61,810,811],{},"Model settings"," icon on its card, change ",[61,814,815],{},"Name"," on the ",[61,818,819],{},"General"," tab, and save. Do the exercise there, and delete the copy when you are done. An exercise that builds on the one before says so, and continues on that copy.",[21,822,824],{"id":823},"lessons","Lessons",[138,826,829],{"className":827,"tabIndex":142,"role":143,"ariaLabel":828},[141],"Table: Lessons",[146,830,831,847],{},[149,832,833],{},[152,834,835,838,841,844],{},[155,836,837],{},"Lesson",[155,839,840],{},"Title",[155,842,843],{},"What it teaches",[155,845,846],{},"Recipe steps",[165,848,849,866,883,900,917,934,950,967,984,1001,1018],{},[152,850,851,854,860,863],{},[170,852,853],{},"1",[170,855,856],{},[32,857,859],{"href":858},"\u002Fagentic-modelling\u002F01-draw-the-agent","Draw the agent and what it talks to",[170,861,862],{},"An agent is one Agent Service; its tool calls and the content coming back are separate flows.",[170,864,865],{},"0. Draw the agent",[152,867,868,871,877,880],{},[170,869,870],{},"2",[170,872,873],{},[32,874,876],{"href":875},"\u002Fagentic-modelling\u002F02-say-what-data-moves","Say what data moves",[170,878,879],{},"Data items carry the facts: classify each, then attach it to the flows that carry it and the elements that hold it.",[170,881,882],{},"1. Say what data moves; 2. Attach the data",[152,884,885,888,894,897],{},[170,886,887],{},"3",[170,889,890],{},[32,891,893],{"href":892},"\u002Fagentic-modelling\u002F03-mark-who-is-outside","Mark who is outside",[170,895,896],{},"Zones decide who can read what the agent sends.",[170,898,899],{},"3. Mark who is outside",[152,901,902,905,911,914],{},[170,903,904],{},"4",[170,906,907],{},[32,908,910],{"href":909},"\u002Fagentic-modelling\u002F04-draw-a-tool-that-reaches-any-host","Draw a tool that reaches any host",[170,912,913],{},"A tool that can reach any host is one flow to an untrusted \"any host\" element, and it is both a way out and a way in.",[170,915,916],{},"4. Draw tools that reach any host",[152,918,919,922,928,931],{},[170,920,921],{},"5",[170,923,924],{},[32,925,927],{"href":926},"\u002Fagentic-modelling\u002F05-state-what-the-agent-can-do","State what the agent can do",[170,929,930],{},"Element facts the drawing cannot show.",[170,932,933],{},"5. State what the agent can do",[152,935,936,939,945,948],{},[170,937,938],{},"6",[170,940,941],{},[32,942,944],{"href":943},"\u002Fagentic-modelling\u002F06-fix-a-finding-with-a-fact","Fix a finding with a fact",[170,946,947],{},"A fix changes a fact; it breaks a finding only by making a required leg absent.",[170,949,933],{},[152,951,952,955,961,964],{},[170,953,954],{},"7",[170,956,957],{},[32,958,960],{"href":959},"\u002Fagentic-modelling\u002F07-record-a-compensating-control","Record a compensating control",[170,962,963],{},"A control earns credit on a route; it never removes the finding.",[170,965,966],{},"—",[152,968,969,972,978,981],{},[170,970,971],{},"8",[170,973,974],{},[32,975,977],{"href":976},"\u002Fagentic-modelling\u002F08-leave-unknowns-open","Leave what you don't know open",[170,979,980],{},"An unanswered fact comes back as a question; a guess makes it go away without settling anything.",[170,982,983],{},"6. Leave what you do not know open",[152,985,986,989,995,998],{},[170,987,988],{},"9",[170,990,991],{},[32,992,994],{"href":993},"\u002Fagentic-modelling\u002F09-follow-a-credential","Follow a credential",[170,996,997],{},"A credential is a chain: a foothold, a reach to where the credential sits, and what it opens.",[170,999,1000],{},"7. Draw where each credential sits and what it opens",[152,1002,1003,1006,1012,1015],{},[170,1004,1005],{},"10",[170,1007,1008],{},[32,1009,1011],{"href":1010},"\u002Fagentic-modelling\u002F10-what-gets-in","Watch what gets into knowledge and memory",[170,1013,1014],{},"What the agent reads tomorrow can come from what an attacker wrote today: draw how it gets in.",[170,1016,1017],{},"8. Draw how knowledge and memory get in",[152,1019,1020,1023,1029,1032],{},[170,1021,1022],{},"11",[170,1024,1025],{},[32,1026,1028],{"href":1027},"\u002Fagentic-modelling\u002F11-tools-and-handoffs","Draw tools from others and hand-offs",[170,1030,1031],{},"A tool server another party runs is an element with its own facts; a hand-off carries one agent's untrusted input to another.",[170,1033,1034],{},"9. Draw tools from others and agents handing work to agents",[21,1036,1038],{"id":1037},"rules-that-hold-throughout","Rules that hold throughout",[14,1040,1041],{},"These rules apply in every lesson. Each one is taught where it first matters.",[55,1043,1044,1047,1050,1053,1056,1059,1062,1065,1068,1071,1074],{},[58,1045,1046],{},"An unanswered fact stays unknown. It is never read as \"no\".",[58,1048,1049],{},"A guess can remove a finding for good: one absent required leg means no finding.",[58,1051,1052],{},"An element with no zone on any boundary around it reads as Internal. It is the one fact with a default, so give every outside party a zone.",[58,1054,1055],{},"A drawn flow beats an egress attribute: answering \"egress restricted\" while a drawn flow still reaches an outsider keeps the way out, with a conflict note.",[58,1057,1058],{},"A vendor destination is a question, not an answer: can an untrusted party read what reaches it?",[58,1060,1061],{},"Origin \"Not assessed\" is an answer and counts as untrusted; an empty origin is not an answer.",[58,1063,1064],{},"A Context Ingress whose source is in an Untrusted zone, or is an Untrusted Content Source or a Public AI Artifact Hub, makes its content untrusted even with no item drawn on it.",[58,1066,1067],{},"A control never removes a finding. It credits a route: \"control modelled\", or \"detected only\" for detection.",[58,1069,1070],{},"Assert outbound flows complete is an answer, not a shortcut: it settles an element's ways out as absent. Use it only when someone who knows confirms every outbound flow is drawn.",[58,1072,1073],{},"A new tool, channel or hand-off reopens the answers it touches: ask again before you keep an approval or a control answer given before it existed.",[58,1075,1076],{},"Assert not a hand-off is an answer too: use it only when someone who knows confirms that the flow hands no work on and the receiving agent's model never reads what it carries.",[14,1078,1079],{},"Two of them deserve a sentence more:",[55,1081,1082,1096],{},[58,1083,1084,1087,1088,1090,1091,1095],{},[61,1085,1086],{},"Not ruled out is not a lower grade of risk."," It means some legs of the finding are present and the model does not say enough to decide the rest. The ",[61,1089,354],{}," list still ranks Confirmed before Not ruled out, because Confirmed is more certain. Do not read the order as risk: give each open question of a Not ruled out finding an owner and a date (",[32,1092,1094],{"href":1093},"\u002Fagentic-modelling\u002F08-leave-unknowns-open#who-settles-these-questions","lesson 8",").",[58,1097,1098,1101],{},[61,1099,1100],{},"A control never removes a finding."," It changes how the finding's coverage reads. Only a changed fact can make a required leg absent.",[21,1103,1105],{"id":1104},"what-this-training-does-not-cover","What this training does not cover",[1107,1108,1109,1112],"blockquote",{},[14,1110,1111],{},"The worked system teaches the recipe on a few agents and their tools. These threats are real, but no lesson covers them:",[55,1113,1114,1117,1120,1123,1126,1129],{},[58,1115,1116],{},"Poisoning a knowledge base or a memory by writing to it directly. Lesson 10 covers only what gets in through the pipeline that fills the knowledge base and through the agent's own memory.",[58,1118,1119],{},"Poisoned MCP tool descriptions as an attack of their own (lesson 11 asks only who writes what a tool server sends), and malicious packages.",[58,1121,1122],{},"Relays through a store that one agent writes and another reads.",[58,1124,1125],{},"Injection through attachments, images and hidden text.",[58,1127,1128],{},"People who act on what an agent tells them.",[58,1130,1131],{},"What the hosted model provider keeps of your prompts and outputs.",[21,1133,234],{"id":1134},"downloads",[14,1136,1137],{},"The model files sit beside these pages: each link below downloads one. Each lesson after the first starts from the previous lesson's solution. Lesson 8 has its own starting model, which adds the second agent. Each exercise names the file it starts from, or the exercise it continues from.",[138,1139,1142],{"className":1140,"tabIndex":142,"role":143,"ariaLabel":1141},[141],"Table: Downloads",[146,1143,1144,1156],{},[149,1145,1146],{},[152,1147,1148,1150,1153],{},[155,1149,837],{},[155,1151,1152],{},"Start from",[155,1154,1155],{},"Solution",[165,1157,1158,1171,1185,1199,1213,1227,1241,1255,1271,1285,1299],{},[152,1159,1160,1162,1165],{},[170,1161,853],{},[170,1163,1164],{},"an empty model",[170,1166,1167],{},[32,1168,1170],{"href":1169},"\u002Fguides\u002Fagentic-modelling\u002FL1-solution.zip","L1-solution.zip",[152,1172,1173,1175,1179],{},[170,1174,870],{},[170,1176,1177],{},[32,1178,1170],{"href":1169},[170,1180,1181],{},[32,1182,1184],{"href":1183},"\u002Fguides\u002Fagentic-modelling\u002FL2-solution.zip","L2-solution.zip",[152,1186,1187,1189,1193],{},[170,1188,887],{},[170,1190,1191],{},[32,1192,1184],{"href":1183},[170,1194,1195],{},[32,1196,1198],{"href":1197},"\u002Fguides\u002Fagentic-modelling\u002FL3-solution.zip","L3-solution.zip",[152,1200,1201,1203,1207],{},[170,1202,904],{},[170,1204,1205],{},[32,1206,1198],{"href":1197},[170,1208,1209],{},[32,1210,1212],{"href":1211},"\u002Fguides\u002Fagentic-modelling\u002FL4-solution.zip","L4-solution.zip",[152,1214,1215,1217,1221],{},[170,1216,921],{},[170,1218,1219],{},[32,1220,1212],{"href":1211},[170,1222,1223],{},[32,1224,1226],{"href":1225},"\u002Fguides\u002Fagentic-modelling\u002FL5-solution.zip","L5-solution.zip",[152,1228,1229,1231,1235],{},[170,1230,938],{},[170,1232,1233],{},[32,1234,1226],{"href":1225},[170,1236,1237],{},[32,1238,1240],{"href":1239},"\u002Fguides\u002Fagentic-modelling\u002FL6-solution.zip","L6-solution.zip",[152,1242,1243,1245,1249],{},[170,1244,954],{},[170,1246,1247],{},[32,1248,1240],{"href":1239},[170,1250,1251],{},[32,1252,1254],{"href":1253},"\u002Fguides\u002Fagentic-modelling\u002FL7-solution.zip","L7-solution.zip",[152,1256,1257,1259,1265],{},[170,1258,971],{},[170,1260,1261],{},[32,1262,1264],{"href":1263},"\u002Fguides\u002Fagentic-modelling\u002FL8-start.zip","L8-start.zip",[170,1266,1267],{},[32,1268,1270],{"href":1269},"\u002Fguides\u002Fagentic-modelling\u002FL8-solution.zip","L8-solution.zip",[152,1272,1273,1275,1279],{},[170,1274,988],{},[170,1276,1277],{},[32,1278,1270],{"href":1269},[170,1280,1281],{},[32,1282,1284],{"href":1283},"\u002Fguides\u002Fagentic-modelling\u002FL9-solution.zip","L9-solution.zip",[152,1286,1287,1289,1293],{},[170,1288,1005],{},[170,1290,1291],{},[32,1292,1284],{"href":1283},[170,1294,1295],{},[32,1296,1298],{"href":1297},"\u002Fguides\u002Fagentic-modelling\u002FL10-solution.zip","L10-solution.zip",[152,1300,1301,1303,1307],{},[170,1302,1022],{},[170,1304,1305],{},[32,1306,1298],{"href":1297},[170,1308,1309],{},[32,1310,1312],{"href":1311},"\u002Fguides\u002Fagentic-modelling\u002FL11-solution.zip","L11-solution.zip",[21,1314,1316],{"id":1315},"the-recipe-on-one-page","The recipe on one page",[55,1318,1319],{},[58,1320,1321,1325],{},[32,1322,1324],{"href":1323},"\u002Fagentic-modelling\u002Frecipe-at-a-glance","The recipe at a glance",": every step and rule on one page, for when you model your own system.",[21,1327,1329],{"id":1328},"related-guides","Related guides",[55,1331,1332,1337],{},[58,1333,1334,1336],{},[32,1335,35],{"href":34},": how to read findings, fixes and Facts to establish.",[58,1338,1339,1343],{},[32,1340,1342],{"href":1341},"\u002Fthreat-patterns\u002Fmodelling-checklist","Modelling checklist",": the facts the analysis asks for most often, and which leg each one settles.",{"title":1345,"searchDepth":1346,"depth":1346,"links":1347},"",3,[1348,1350,1351,1358,1359,1360,1361,1362,1363,1364,1365],{"id":23,"depth":1349,"text":24},2,{"id":39,"depth":1349,"text":40},{"id":49,"depth":1349,"text":50,"children":1352},[1353,1354,1355,1356,1357],{"id":120,"depth":1346,"text":121},{"id":226,"depth":1346,"text":227},{"id":292,"depth":1346,"text":293},{"id":454,"depth":1346,"text":455},{"id":525,"depth":1346,"text":526},{"id":570,"depth":1349,"text":571},{"id":660,"depth":1349,"text":661},{"id":823,"depth":1349,"text":824},{"id":1037,"depth":1349,"text":1038},{"id":1104,"depth":1349,"text":1105},{"id":1134,"depth":1349,"text":234},{"id":1315,"depth":1349,"text":1316},{"id":1328,"depth":1349,"text":1329},"md",{},true,"\u002Fagentic-modelling",{"title":5,"description":16},"07.agentic-modelling\u002Findex","vsKRm9otXKA8K7-plMDAj5bldkg3JaU6Fg0XNbP-TIc",[1374,1429,1464,1519,1553,1596,1608,1661],{"title":1375,"description":1376,"path":1377,"stem":1378,"children":1379,"page":-1},"Platform","Modelling, analysis, findings and controls in the Dethernety platform.","\u002Fplatform","01.platform",[1380,1384,1389,1394,1399,1404,1409,1414,1419,1424],{"title":1381,"path":1377,"stem":1382,"description":1383},"Dethernety User Documentation","01.platform\u002Findex","User guide for the Dethernety threat modeling platform",{"title":1385,"path":1386,"stem":1387,"description":1388},"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":1390,"path":1391,"stem":1392,"description":1393},"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":1395,"path":1396,"stem":1397,"description":1398},"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":1400,"path":1401,"stem":1402,"description":1403},"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":1405,"path":1406,"stem":1407,"description":1408},"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":1410,"path":1411,"stem":1412,"description":1413},"Issue Management Guide","\u002Fplatform\u002Fissue-management-guide","01.platform\u002F06.issue-management-guide","Issue tracking, filtering, and management in Dethernety.",{"title":1415,"path":1416,"stem":1417,"description":1418},"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":1420,"path":1421,"stem":1422,"description":1423},"Understanding Modules","\u002Fplatform\u002Funderstanding-modules","01.platform\u002F08.understanding-modules","How Dethernety's module system extends your threat modeling capabilities.",{"title":1425,"path":1426,"stem":1427,"description":1428},"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":1430,"description":1431,"path":1432,"stem":1433,"children":1434,"page":-1},"BYODt cloud","Deploying the platform yourself and connecting it to the BYODt cloud.","\u002Fbyodt-cloud","02.byodt-cloud",[1435,1439,1444,1449,1454,1459],{"title":1436,"path":1432,"stem":1437,"description":1438},"BYODt Deployment","02.byodt-cloud\u002Findex","Run Dethernety on your own machine: install, configure, operate, and recover",{"title":1440,"path":1441,"stem":1442,"description":1443},"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":1445,"path":1446,"stem":1447,"description":1448},"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":1450,"path":1451,"stem":1452,"description":1453},"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":1455,"path":1456,"stem":1457,"description":1458},"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":1460,"path":1461,"stem":1462,"description":1463},"Troubleshooting the BYODt Deployment","\u002Fbyodt-cloud\u002Ftroubleshooting","02.byodt-cloud\u002F05.troubleshooting","Symptom, cause, and fix for the failures this deployment reports",{"title":1465,"description":1466,"path":1467,"stem":1468,"children":1469,"page":-1},"Dethereal","The Claude Code plugin: build a threat model in conversation and publish it to the platform.","\u002Fdethereal","03.dethereal",[1470,1474,1479,1484,1489,1494,1499,1504,1509,1514],{"title":1471,"path":1467,"stem":1472,"description":1473},"Dethereal — Claude Code Plugin for Threat Modeling","03.dethereal\u002Findex","Comprehensive documentation for the Dethereal threat modeling plugin",{"title":1475,"path":1476,"stem":1477,"description":1478},"Getting Started with Dethereal","\u002Fdethereal\u002Fgetting-started","03.dethereal\u002F01.getting-started","Install the plugin, authenticate, and create your first threat model",{"title":1480,"path":1481,"stem":1482,"description":1483},"The 11-Step Guided Workflow","\u002Fdethereal\u002Fguided-workflow","03.dethereal\u002F02.guided-workflow","Complete walkthrough of the \u002Fdethereal:threat-model guided process",{"title":1485,"path":1486,"stem":1487,"description":1488},"Command Reference","\u002Fdethereal\u002Fcommand-reference","03.dethereal\u002F03.command-reference","Complete reference for all 14 Dethereal slash commands",{"title":1490,"path":1491,"stem":1492,"description":1493},"Threat Model Concepts","\u002Fdethereal\u002Fmodel-concepts","03.dethereal\u002F04.model-concepts","Components, boundaries, data flows, classes, attributes, and quality scoring",{"title":1495,"path":1496,"stem":1497,"description":1498},"Discovery and Enrichment","\u002Fdethereal\u002Fdiscovery-and-enrichment","03.dethereal\u002F05.discovery-and-enrichment","Infrastructure scanning, security attributes, MITRE ATT&CK, credentials, and compliance",{"title":1500,"path":1501,"stem":1502,"description":1503},"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":1505,"path":1506,"stem":1507,"description":1508},"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":1510,"path":1511,"stem":1512,"description":1513},"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":1515,"path":1516,"stem":1517,"description":1518},"Dethereal Glossary","\u002Fdethereal\u002Fglossary","03.dethereal\u002F09.glossary","Definitions for Dethereal-specific terminology",{"title":1520,"description":1521,"path":1522,"stem":1523,"children":1524,"page":-1},"Threat Report","The residual-risk report over a threat model: reading it, filtering it and exporting it.","\u002Fthreat-report","04.threat-report",[1525,1528,1533,1538,1543,1548],{"title":1520,"path":1522,"stem":1526,"description":1527},"04.threat-report\u002Findex","Read, filter, drill into, and export a residual-risk report over a threat model",{"title":1529,"path":1530,"stem":1531,"description":1532},"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":1534,"path":1535,"stem":1536,"description":1537},"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":1539,"path":1540,"stem":1541,"description":1542},"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":1544,"path":1545,"stem":1546,"description":1547},"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":1549,"path":1550,"stem":1551,"description":1552},"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":1554,"description":1555,"path":1556,"stem":1557,"children":1558,"page":-1},"Risk assessment","The risk assessment module: the register, the reports and the method behind them.","\u002Frisk-assessment","05.risk-assessment",[1559,1563,1568,1572,1577,1582,1586,1591],{"title":1560,"path":1556,"stem":1561,"description":1562},"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":1564,"path":1565,"stem":1566,"description":1567},"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":354,"path":1569,"stem":1570,"description":1571},"\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":1573,"path":1574,"stem":1575,"description":1576},"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":1578,"path":1579,"stem":1580,"description":1581},"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":1534,"path":1583,"stem":1584,"description":1585},"\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":1587,"path":1588,"stem":1589,"description":1590},"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":1592,"path":1593,"stem":1594,"description":1595},"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":317,"description":1597,"path":34,"stem":1598,"children":1599,"page":-1},"The Threat Patterns module and its modelling checklist.","06.threat-patterns",[1600,1604],{"title":1601,"path":34,"stem":1602,"description":1603},"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":1605,"path":1341,"stem":1606,"description":1607},"Modelling 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":1609,"description":1610,"path":1369,"stem":1611,"children":1612,"page":-1},"Agentic modelling","A hands-on training: model one agentic system step by step, with Threat Patterns after each step.","07.agentic-modelling",[1613,1614,1618,1622,1626,1630,1634,1638,1642,1646,1650,1654,1658],{"title":5,"path":1369,"stem":1371,"description":16},{"title":1615,"path":858,"stem":1616,"description":1617},"Lesson 1: Draw the Agent and What It Talks To","07.agentic-modelling\u002F01.01-draw-the-agent","Training overview · Lesson 1 of 11 · Next: Say what data moves",{"title":1619,"path":875,"stem":1620,"description":1621},"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":1623,"path":892,"stem":1624,"description":1625},"Lesson 3: 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":1627,"path":909,"stem":1628,"description":1629},"Lesson 4: 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":1631,"path":926,"stem":1632,"description":1633},"Lesson 5: 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":1635,"path":943,"stem":1636,"description":1637},"Lesson 6: 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":1639,"path":959,"stem":1640,"description":1641},"Lesson 7: 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":1643,"path":976,"stem":1644,"description":1645},"Lesson 8: Leave What You Don't Know 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":1647,"path":993,"stem":1648,"description":1649},"Lesson 9: 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":1651,"path":1010,"stem":1652,"description":1653},"Lesson 10: Watch What Gets Into Knowledge and Memory","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":1655,"path":1027,"stem":1656,"description":1657},"Lesson 11: Draw Tools From Others and Hand-offs","07.agentic-modelling\u002F11.11-tools-and-handoffs","Training overview · Lesson 11 of 11 · Previous: Watch what gets into knowledge and memory",{"title":1324,"path":1323,"stem":1659,"description":1660},"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":1662,"description":1663,"path":1664,"stem":1665,"children":1666,"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",[1667,1671,1676],{"title":1668,"path":1664,"stem":1669,"description":1670},"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":1672,"path":1673,"stem":1674,"description":1675},"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":1677,"path":1678,"stem":1679,"description":1680},"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",1793748184213]