<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" version="29.2.7" pages="2">
  <diagram name="DFD" id="AV3n9yTV3mSmM0UTtON2">
    <mxGraphModel grid="0" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="RZlLU8UHNUlMT5Oew9is-4" parent="1" style="swimlane;whiteSpace=wrap;html=1;" value="Trust Boundary: User Device" vertex="1">
          <mxGeometry height="96" width="268" x="-181" y="247" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-5" parent="RZlLU8UHNUlMT5Oew9is-4" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="User (person with MS)" vertex="1">
          <mxGeometry height="30" width="247" x="8.5" y="39" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-22" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Login credentials / auth request&amp;nbsp;" vertex="1">
          <mxGeometry height="52" width="183" x="4" y="343" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-13" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Auth challenge / approval request" vertex="1">
          <mxGeometry height="38" width="121" x="112" y="494" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-48" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="-51.5" y="194" as="sourcePoint" />
            <mxPoint x="-51" y="238" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-49" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="202" x="-152" y="130" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-50" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="External Attacker&lt;div&gt;(phishing/ spoofing)&lt;/div&gt;" vertex="1">
          <mxGeometry height="30" width="176" x="-139" y="141" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-52" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="122" y="608" as="sourcePoint" />
            <mxPoint x="122" y="669" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-53" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="218" x="-293" y="423" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-54" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Assertion / approval result" vertex="1">
          <mxGeometry height="52" width="152" x="119" y="610" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-55" parent="1" style="swimlane;whiteSpace=wrap;html=1;" value="Trust Boundary : External Services" vertex="1">
          <mxGeometry height="92" width="348" x="-100.25" y="1714" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-56" parent="RZlLU8UHNUlMT5Oew9is-55" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Email / SMS Service" vertex="1">
          <mxGeometry height="30" width="121" x="30" y="39" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-57" parent="RZlLU8UHNUlMT5Oew9is-55" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Authenticator App" vertex="1">
          <mxGeometry height="30" width="121" x="200" y="39" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-58" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="P1: Registration" vertex="1">
          <mxGeometry height="52" width="145" x="-252" y="427" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-59" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="52" width="264" x="-73.5" y="1599" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-60" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="P3: Account Recovery" vertex="1">
          <mxGeometry height="30" width="210" x="-58" y="1607" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-61" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="207" x="-297" y="550" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-63" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="-208" y="483" as="sourcePoint" />
            <mxPoint x="-208" y="547" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-64" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="114" y="483" as="sourcePoint" />
            <mxPoint x="114" y="545" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-65" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Create account details" vertex="1">
          <mxGeometry height="29" width="138" x="-213" y="494" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-67" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="109" x="66" y="548" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-69" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Authenticator App / Device Platform" vertex="1">
          <mxGeometry height="51" width="106" x="66" y="552.5" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-70" edge="1" parent="1" source="RZlLU8UHNUlMT5Oew9is-69" style="edgeStyle=none;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;fontSize=12;startSize=8;endSize=8;" target="RZlLU8UHNUlMT5Oew9is-69">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-72" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="47.5" y="832" as="sourcePoint" />
            <mxPoint x="48" y="903" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-73" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="277" x="-93" y="682" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-74" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="P4: Security &amp;amp; Session Management" vertex="1">
          <mxGeometry height="30" width="268" x="-86" y="693" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-75" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="40" y="742" as="sourcePoint" />
            <mxPoint x="40" y="782" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-76" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Log events" vertex="1">
          <mxGeometry height="30" width="113" x="19" y="744" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-77" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="274" x="-90" y="777" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-78" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="D3: Audit &amp;amp; Security Logs" vertex="1">
          <mxGeometry height="30" width="237" x="-73" y="790" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-79" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="51" width="230.5" x="-55.5" y="1051" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-80" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="P3: Account Recovery&amp;nbsp;" vertex="1">
          <mxGeometry height="30" width="199" x="-37" y="1059" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-81" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="-29" y="1121" as="sourcePoint" />
            <mxPoint x="-29" y="1182" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-82" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Account lookup" vertex="1">
          <mxGeometry height="30" width="97" x="-31" y="1133" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-83" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="129" y="1119" as="sourcePoint" />
            <mxPoint x="129" y="1187" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-84" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Recovery link / codes" vertex="1">
          <mxGeometry height="30" width="152" x="115" y="1133" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-85" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="120" x="-80" y="1192" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-86" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="227" x="87" y="1192" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-87" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="185" x="77" y="1302" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-88" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="130" y="1255" as="sourcePoint" />
            <mxPoint x="130" y="1295" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-89" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="User (Person with MS)" vertex="1">
          <mxGeometry height="30" width="190" x="74.5" y="1319" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-90" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="257" x="-73.5" y="1482" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-91" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="D2: Recovery Token Store" vertex="1">
          <mxGeometry height="30" width="204" x="-65" y="1497" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-92" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Email / SMS Service&amp;nbsp;&lt;div&gt;(External Service)&lt;/div&gt;" vertex="1">
          <mxGeometry height="30" width="166" x="122" y="1207" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-93" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="D1: Identity &amp;amp;&lt;div&gt;Credential Store&lt;/div&gt;" vertex="1">
          <mxGeometry height="30" width="118" x="-78" y="1205" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-1" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="4" y="310" as="sourcePoint" />
            <mxPoint x="4" y="413" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-2" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Registration request" vertex="1">
          <mxGeometry height="45" width="146" x="-239" y="351" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-3" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="60" width="170" x="-28" y="423" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-4" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Credential lookup / verify result" vertex="1">
          <mxGeometry height="52" width="136" x="-86" y="574" as="geometry" />
        </mxCell>
        <mxCell id="RZlLU8UHNUlMT5Oew9is-2" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="-107" y="307" as="sourcePoint" />
            <mxPoint x="-107" y="410" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-6" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="P2: Login / Authentication" vertex="1">
          <mxGeometry height="49" width="163.5" x="-24.5" y="428.5" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-8" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="D1: Identity &amp;amp; Credential Store" vertex="1">
          <mxGeometry height="30" width="186.5" x="-286.75" y="561" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-11" edge="1" parent="1" source="es8DoUzeH41bCrck55pA-3" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;fontSize=12;exitX=0.335;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <Array as="points">
              <mxPoint x="26" y="469" />
            </Array>
            <mxPoint x="30" y="497" as="sourcePoint" />
            <mxPoint x="-90" y="575" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-12" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Lockout notice / session status / security alert / guidance&amp;nbsp;" vertex="1">
          <mxGeometry height="53" width="338" x="36" y="841" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-15" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="" vertex="1">
          <mxGeometry height="51" width="219" x="-59" y="904" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-16" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="User (person with MS)" vertex="1">
          <mxGeometry height="30" width="154" x="-22" y="909" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-17" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="48" y="1003" as="sourcePoint" />
            <mxPoint x="48.5" y="1047" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-18" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Recovery request / code submission" vertex="1">
          <mxGeometry height="30" width="170" x="-25.25" y="971" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-19" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Create recovery token + expiry&amp;nbsp;" vertex="1">
          <mxGeometry height="30" width="178" x="-71.5" y="1395" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-20" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="-26.25" y="1425" as="sourcePoint" />
            <mxPoint x="-26.25" y="1465" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-21" parent="1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" value="Validate token / lookup" vertex="1">
          <mxGeometry height="30" width="157" x="25" y="1546" as="geometry" />
        </mxCell>
        <mxCell id="es8DoUzeH41bCrck55pA-22" edge="1" parent="1" style="endArrow=classic;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;" value="">
          <mxGeometry height="50" relative="1" width="50" as="geometry">
            <mxPoint x="35" y="1542" as="sourcePoint" />
            <mxPoint x="35" y="1582" as="targetPoint" />
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
  <diagram id="xDTRhpo9TO2-o2ZNuzlt" name="Page-2">
    <mxGraphModel grid="0" page="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
