<mxfile host="app.diagrams.net" agent="mcp-architect drawio_kit" version="24.7.17" type="device"><diagram id="02-trust-path" name="One tool call, five checkpoints — where each guarantee is actually enforced"><mxGraphModel dx="1700" dy="760" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1700" pageHeight="760" background="#FFFFFF" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="title" value="One tool call, five checkpoints — where each guarantee is actually enforced" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=26;fontColor=#142B49;fontStyle=1;" vertex="1" parent="1"><mxGeometry x="40" y="20" width="1620" height="44" as="geometry"/></mxCell><mxCell id="subtitle" value="Example: a customer-service agent retrieves an EN 10204 3.1 inspection certificate for an order of a given legal entity." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=15;fontColor=#142B49;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="40" y="62" width="1620" height="30" as="geometry"/></mxCell><mxCell id="footer" value="A successful transport response is not evidence of business correctness: the backend and the business journal own that." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=12;fontColor=#5A6C86;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="40" y="714" width="1620" height="30" as="geometry"/></mxCell><mxCell id="s1_n" value="1" style="ellipse;whiteSpace=wrap;html=1;fillColor=#EDB44C;strokeColor=none;fontFamily=Helvetica;fontSize=14;fontStyle=1;fontColor=#142B49;" vertex="1" parent="1"><mxGeometry x="44" y="130" width="34" height="34" as="geometry"/></mxCell><mxCell id="s1" value="Corporate IdP" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#EEF2FA;strokeColor=#3B5BA9;strokeWidth=1.5;fontFamily=Helvetica;fontSize=15;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="40" y="175" width="290" height="90" as="geometry"/></mxCell><mxCell id="s1_q" value="Who is the user?" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#CBD1D6;strokeWidth=1.5;fontFamily=Helvetica;fontSize=13;fontColor=#142B49;fontStyle=0;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="40" y="285" width="290" height="70" as="geometry"/></mxCell><mxCell id="s1_c" value="• MFA + conditional access&lt;br&gt;• Issues JWT: sub, groups,&lt;br&gt;• entity, plant, aud=mcp-quality" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=12;fontColor=#142B49;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="50" y="370" width="270" height="90" as="geometry"/></mxCell><mxCell id="s2_n" value="2" style="ellipse;whiteSpace=wrap;html=1;fillColor=#EDB44C;strokeColor=none;fontFamily=Helvetica;fontSize=14;fontStyle=1;fontColor=#142B49;" vertex="1" parent="1"><mxGeometry x="374" y="130" width="34" height="34" as="geometry"/></mxCell><mxCell id="s2" value="AgentCore Gateway&#xa;(inbound authorizer)" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#F4F6F8;strokeColor=#142B49;strokeWidth=1.5;fontFamily=Helvetica;fontSize=15;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="370" y="175" width="290" height="90" as="geometry"/></mxCell><mxCell id="s2_q" value="Is the token valid?" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#CBD1D6;strokeWidth=1.5;fontFamily=Helvetica;fontSize=13;fontColor=#142B49;fontStyle=0;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="370" y="285" width="290" height="70" as="geometry"/></mxCell><mxCell id="s2_c" value="• Issuer, audience, client,&lt;br&gt;• expiry, signature&lt;br&gt;• Private ingress only" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=12;fontColor=#142B49;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="380" y="370" width="270" height="90" as="geometry"/></mxCell><mxCell id="e_s1_s2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;startArrow=none;startFill=1;strokeColor=#B7791F;strokeWidth=2.4;dashed=0;fontFamily=Helvetica;fontSize=11;fontColor=#142B49;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="s1" target="s2"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="s3_n" value="3" style="ellipse;whiteSpace=wrap;html=1;fillColor=#EDB44C;strokeColor=none;fontFamily=Helvetica;fontSize=14;fontStyle=1;fontColor=#142B49;" vertex="1" parent="1"><mxGeometry x="704" y="130" width="34" height="34" as="geometry"/></mxCell><mxCell id="s3" value="AgentCore Policy&#xa;(Cedar)" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#F4F6F8;strokeColor=#142B49;strokeWidth=1.5;fontFamily=Helvetica;fontSize=15;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="700" y="175" width="290" height="90" as="geometry"/></mxCell><mxCell id="s3_q" value="May this principal call&#xa;this tool with these args?" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#CBD1D6;strokeWidth=1.5;fontFamily=Helvetica;fontSize=13;fontColor=#142B49;fontStyle=0;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="700" y="285" width="290" height="70" as="geometry"/></mxCell><mxCell id="s3_c" value="• Discovery: hidden if no permit&lt;br&gt;• Call: argument conditions&lt;br&gt;• forbid wins · default deny" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=12;fontColor=#142B49;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="710" y="370" width="270" height="90" as="geometry"/></mxCell><mxCell id="e_s2_s3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;startArrow=none;startFill=1;strokeColor=#B7791F;strokeWidth=2.4;dashed=0;fontFamily=Helvetica;fontSize=11;fontColor=#142B49;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="s2" target="s3"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="s4_n" value="4" style="ellipse;whiteSpace=wrap;html=1;fillColor=#EDB44C;strokeColor=none;fontFamily=Helvetica;fontSize=14;fontStyle=1;fontColor=#142B49;" vertex="1" parent="1"><mxGeometry x="1034" y="130" width="34" height="34" as="geometry"/></mxCell><mxCell id="s4" value="Interceptor /&#xa;adapter" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FFF4DB;strokeColor=#B7791F;strokeWidth=1.5;fontFamily=Helvetica;fontSize=15;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="1030" y="175" width="290" height="90" as="geometry"/></mxCell><mxCell id="s4_q" value="Is the context trusted?" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#CBD1D6;strokeWidth=1.5;fontFamily=Helvetica;fontSize=13;fontColor=#142B49;fontStyle=0;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="1030" y="285" width="290" height="70" as="geometry"/></mxCell><mxCell id="s4_c" value="• Strips caller identity fields&lt;br&gt;• Injects entity/plant from&lt;br&gt;• validated claims only" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=12;fontColor=#142B49;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="1040" y="370" width="270" height="90" as="geometry"/></mxCell><mxCell id="e_s3_s4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;startArrow=none;startFill=1;strokeColor=#B7791F;strokeWidth=2.4;dashed=0;fontFamily=Helvetica;fontSize=11;fontColor=#142B49;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="s3" target="s4"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="s5_n" value="5" style="ellipse;whiteSpace=wrap;html=1;fillColor=#EDB44C;strokeColor=none;fontFamily=Helvetica;fontSize=14;fontStyle=1;fontColor=#142B49;" vertex="1" parent="1"><mxGeometry x="1364" y="130" width="34" height="34" as="geometry"/></mxCell><mxCell id="s5" value="System of record&#xa;(SAP / LIMS)" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#E8F5E9;strokeColor=#2E7D32;strokeWidth=1.5;fontFamily=Helvetica;fontSize=15;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="1360" y="175" width="290" height="90" as="geometry"/></mxCell><mxCell id="s5_q" value="Does this record belong&#xa;to this entity?" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#CBD1D6;strokeWidth=1.5;fontFamily=Helvetica;fontSize=13;fontColor=#142B49;fontStyle=0;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="1360" y="285" width="290" height="70" as="geometry"/></mxCell><mxCell id="s5_c" value="• Row-level scope check&lt;br&gt;• Idempotency key on writes&lt;br&gt;• Business journal entry" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontFamily=Helvetica;fontSize=12;fontColor=#142B49;fontStyle=0;" vertex="1" parent="1"><mxGeometry x="1370" y="370" width="270" height="90" as="geometry"/></mxCell><mxCell id="e_s4_s5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;startArrow=none;startFill=1;strokeColor=#B7791F;strokeWidth=2.4;dashed=0;fontFamily=Helvetica;fontSize=11;fontColor=#142B49;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="s4" target="s5"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell><mxCell id="owner_plat" value="Managed by the MCP Platform team (Gateway, Policy, Identity) — reachability &amp; enforcement" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#F4F6F8;strokeColor=#142B49;strokeWidth=1.5;fontFamily=Helvetica;fontSize=14;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="40" y="500" width="950" height="60" as="geometry"/></mxCell><mxCell id="owner_dom" value="Owned by the domain team — shape, correctness, isolation" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#E8F5E9;strokeColor=#2E7D32;strokeWidth=1.5;fontFamily=Helvetica;fontSize=14;fontColor=#142B49;fontStyle=1;dashed=0;align=center;spacing=6;" vertex="1" parent="1"><mxGeometry x="1030" y="500" width="620" height="60" as="geometry"/></mxCell><mxCell id="anti" value="Anti-patterns rejected at design review:  identity or entity_id taken from tool arguments  ·  rate limits used as tenant isolation  ·  generic run_sql / call_any_api tools  ·  approval inferred from an 'allowed' policy decision  ·  blind retry of a timed-out write" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#FDECEC;strokeColor=#C7254E;strokeWidth=1.5;fontFamily=Helvetica;fontSize=13;fontColor=#C7254E;fontStyle=0;dashed=0;align=left;spacing=6;" vertex="1" parent="1"><mxGeometry x="40" y="590" width="1610" height="90" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile>
