<mxfile host="app.diagrams.net" version="24.7.17" type="device">
  <diagram id="02-tenant-trust-flow" name="Multi-tenant trust and data flow">
    <mxGraphModel dx="1200" dy="850" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="850" background="#F7F4EC">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="title" value="Multi-tenant trust and data flow" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=28;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="22" width="1110" height="45" />
        </mxCell>
        <mxCell id="subtitle" value="Tenant authority is validated outside model-controlled arguments." style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=16;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="70" width="1110" height="32" />
        </mxCell>
        <mxCell id="footer" value="Conceptual reference architecture. Prove trusted-context transport and private connectivity for each selected target." style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=13;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="787" width="1110" height="40" />
        </mxCell>
        <mxCell id="panel0" value="" style="rounded=0;fillColor=none;strokeColor=#CBD1D6;strokeWidth=1;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="30" y="125" width="580" height="170" />
        </mxCell>
        <mxCell id="paneltitle0" value="TRUSTED APPLICATION IDENTITY" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=13;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="133" width="550" height="28" />
        </mxCell>
        <mxCell id="panel1" value="" style="rounded=0;fillColor=none;strokeColor=#CBD1D6;strokeWidth=1;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="30" y="325" width="580" height="190" />
        </mxCell>
        <mxCell id="paneltitle1" value="TARGET / DATA BOUNDARY" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=13;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="333" width="550" height="28" />
        </mxCell>
        <mxCell id="edge0" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="idp" target="app">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label0" value="token" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="300.0" y="139" width="40.0" height="18" />
        </mxCell>
        <mxCell id="edge1" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="app" target="agent">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label1" value="validated context" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="566.4" y="139" width="107.19999999999999" height="18" />
        </mxCell>
        <mxCell id="edge2" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="agent" target="gw">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label2" value="tool request" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="730.4" y="284.0" width="79.19999999999999" height="18" />
        </mxCell>
        <mxCell id="edge3" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="gw" target="adapter">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label3" value="authenticated route" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="560.8" y="339" width="118.39999999999999" height="18" />
        </mxCell>
        <mxCell id="edge4" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="adapter" target="db">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label4" value="scoped operation" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="269.2" y="339" width="101.6" height="18" />
        </mxCell>
        <mxCell id="edge5" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="context" target="adapter">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label5" value="verify binding" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="424.8" y="510.5" width="90.39999999999999" height="18" />
        </mxCell>
        <mxCell id="edge6" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#E4A83A;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="agent" target="db">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1150" y="206" />
              <mxPoint x="1150" y="540" />
              <mxPoint x="170" y="540" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="label6" value="BLOCK DIRECT ACCESS" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="600.8" y="518.0" width="118.39999999999999" height="18" />
        </mxCell>
        <mxCell id="idp" value="Identity provider&#10;Signed caller token" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="50" y="165" width="240" height="82" />
        </mxCell>
        <mxCell id="app" value="Application boundary&#10;Validate tenant membership" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="350" y="165" width="240" height="82" />
        </mxCell>
        <mxCell id="agent" value="Agent orchestration&#10;Proposes arguments" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="650" y="165" width="240" height="82" />
        </mxCell>
        <mxCell id="gw" value="Gateway + eligible policy&#10;Inbound authentication" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#142B49;strokeColor=#142B49;strokeWidth=2;fontColor=#F7F4EC;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="650" y="365" width="240" height="100" />
        </mxCell>
        <mxCell id="adapter" value="Constrained adapter&#10;Verify trusted context" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="350" y="365" width="240" height="100" />
        </mxCell>
        <mxCell id="db" value="Domain backend / data&#10;Tenant query + entitlement" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="50" y="365" width="240" height="100" />
        </mxCell>
        <mxCell id="context" value="Trusted context service&#10;Signed assertion / reference" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="350" y="600" width="240" height="90" />
        </mxCell>
        <mxCell id="net" value="PRIVATE NETWORK GATE&#10;Ingress ≠ target egress" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#E4A83A;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="850" y="590" width="280" height="100" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
