<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Identity and Access — Sign-in with Step-up" id="28-identity-and-access-flow">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="940" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.x-m" value="&lt;b&gt;Member&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_plate1" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.x-m">
          <mxGeometry x="5" y="13" width="32" height="32" as="geometry" />
        </mxCell>
        <mxCell id="_ico2" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACWklEQVRoge3Zz4tNYRzH8dfIrwmJGcZMIgpJEjZsiA1pLGhK2VDEcpLFWCkrG3tr/8GQHRNWipRhocxmombIaESNjDFj8XTrNHPunXueOfec2zTv+m7Ovd9z3p/uvec8z/eyRLm05Hy+lTiBbuzEFvzGKF6hH0M5XzMXVuAaRjAzTz3BwXI002nHc/OLJ2sKfSW4zqELw7LJJ+te4cYJWoXvdax8pa4WLV7hdp2C89UEthbsrh0/FyierPvF6nM9J/FK/cKqGJFlkQHORvZVYy2OxzTGBtgX2Zf7OWMDdET21aIzpik2wHRkXy3+xTTFBhiN7KvFSExTbIB3kX21eN+Ac1blknxvo9+xvMgA6zGWY4BS1kQ3ImVn1zjaCnZH+MifZpSdXdO4ULR4ko3Cjy9W/lbxynNZh0eyyU/gYhmytTiPD2qLT+EBtuV10bw39XAIZ7BLWHL8wWe8xmPhlrnEoiH2K7RfGI10YgMm8RBv6uhtRY+wfJ7CV3zCC/zIKpIlwBr04oowtErjozD3GRSmFePCTqsNe3EUJ4U712z+4hnuCmOaXOlW39Aqr+oXnjG5cFNYqxclX6kh7Fmo/OUSxJM1jM2x8oeFe3iZAWYwEBtgoAnkK3Uuq/yxJpBO1ttqotW2lD1ZEzeYA9id9kK1AKcb5xLNqbSDaQFasL2xLlHsSDuYFqBN+Kuo2ehKO5gWYHWDRWJJ9YqdCzUNizLAZOEW9ZHqlRZgTGNmnwtlMMube5X/9E3WN2zKEqAFdzTHYm5IWFhWFa1FB44o77nwBS+FrecSTcl/+F0YjmstwYwAAAAASUVORK5CYII=;" vertex="1" parent="n.x-m">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-app" value="&lt;b&gt;Client app&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="230" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABfElEQVRoge2aO0sDQRSFP5/YGBXRgI3gD7AWLMTaQmwkWtlYWQi29nY21jaCgkbwJ4hlSh+FYGdlakFQhMRCA9khwbnz8Aq5H0yxy5w757C7U8xdMHTpC9BUgC1gFhhO5OMNuAUOgbtENTtyBDQzjndgJZf5pczmW6MOjPia6hcEWBPMjaEMLPpOHhQUnnKur4F94FNQo1vdU2Cy7d60r1gSwKUK1CL07dQovvvem4vkFXJpRmhdGqHCmAD/AgugjQXQxgJoYwG0sQDaWABtLIA2FkAbC6CNBdDGAmjT0wGGkrmIOKaPOVrcA0pEnKr9MAYsh4pjAswBBxH6JPT0N/AbV8A6sA08ZlzHmzP8uywnjrYEPAv0m76mcj2BY+f6FbjIsVCuAJ02h1QdzQKSAJJW0i7FLksZ2BDoP3wnSrbRe8HcVeAGOAfGgR0EfS/hWt5MAC/kb7NWc5hvMc/3lpjL/CUwKjEU8qvBALAAzARou9EAHoCnhDWNP+ELqDOX6u+2/68AAAAASUVORK5CYII=;" vertex="1" parent="n.x-app">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-edge" value="&lt;b&gt;Edge&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="410" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico4" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADoUlEQVRoge3ZT4hVVRwH8E/jjNFoLRQNpKaF/aEiV2KLahNpUZpk5qogKMgW7SJyEUWtyk27/kEZVFAYBJGRGUEF0SLK/uhQm8hSCyqkZhqncV6L8y5e7zvnvnuv89514Rd+MO++77nne37vd37n/H7DWbSLc9oW0MUYNmMjVmMJjuJzvIkf2pPWHxvwIzoJm8NLWNqWwDI8IAhMic/bfqxoR2YcG1QXn9knWNSG2CLGlIdNmd3fgt4ebBUXdwJ78DJ+SnAODl9uL3aJi9+Y44xjX4TXETJVq/hUr6j3I7y1EV4Ht2SEkUErTWBx5NmRyLPDifFLsj/aWsD3kWc3CmGTx6bE+MmFlVMfqU28TwibVcIZ8XeEc8AZcIMYxSHN0uiDLeiN4iH1xf8qF/9tYxTfqbeAu1tRWoKbMK+a+M+cAbEfw/P6i5/C5bHBo8PRCK7ErbgEFzrpzfMrjN2hxZrgGnyoWcbpYLcWQ+cO4edvKn4SFwxddRfX43gfgWX2D64euuouxoSYbSp+HtuqTFRlEy/FhHCAHBEOk06fMdtwWeK7X4TFzZeMfw9vVdBWipuxF7NO9c7PeBrLS8a+Le7V7acrqgrGhVZGv5/5T2GRMUxG+O8MVHUXi/FxZPKUzTm1isrwe4T75IC1g2dKxKbsmHD9zeNAhPfBoMVfjJkGC+jghcK73kjwHrPAp3/+hHsYOyOcb/G40Oq7DY8IaTKPY1gpbHjYImzkGKa77yrDlJCtarUW39XrsaNYVuA9GuF1cG2OM4KvE7y6NocXVWgtfhkZ/GqEN5GYaEuBt0a8JGxq0dZivqj/NyI2dg9J3U2mC5+/EYryPxL8ulgjXOySrcWdelc9i3U5ziLxM+I/6YNtAq+p3wdN2X35l+c38VVCiVe8us50BRwW7vNrIyJ3467EAjKsEBq6q/W2T4pYjvVC7VDEwa7WKPZq5pUb+ghqgnF8lJgv2VpcJ/Qo64jfMwDxGfq2FmPYlRgUs+O4YiDSA1Yl5t1aNmil+F0mZk8NSHiG7Yl5r8sIqVrzTmFjlmG/EHKzQnZayNLvPNwuZMbiATYtJIRi2u7BK9KenxKK9QzPlnAX2l6v5oPghdR14J4cb73qzanTtRlcWnUBhHT1V+Elz+W+XyZcuobl/XvriM+wyUkPf4Fzu89HhNp1WJ5vJD7DDqEdni9cnhiC8Ckh5pNhU6fjdZEQLoSiZLPB/YfnBH7DVypkm7NoE/8DplKpezcBhZ8AAAAASUVORK5CYII=;" vertex="1" parent="n.x-edge">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-id" value="&lt;b&gt;Identity&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="590" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADGUlEQVRoge3YX4gVZRjH8c/untikNqNEo83+kWSBIEoQaEIUGVGkYjdeqYiXXRVBXQWLN96I93oTgYglWAb9gSDIECPKIGHBjMr8E2oqbmV5pot3BmdPM+fMnJnZc3O+8HLe2XnneX6/2Xnnfd5hyJAhQwbJSIVrx7EGD2IC53AM09VlNctC7MYVRBntODaqdnMaY5Vwp7OEd7YDuG0wMrNZhb8UE5+0z9AahNhO5uOscuKTNjUAvf9jSn/iI8xgcu4l32QEv+jfQITX5lx1imU5osq0T5sSN1pgzAM15KkjRiZFDIzXkOfWGmJkUsTAmRry/FZDjEyKGPhWeJNU4cuK11dmv2qT+Mm5lzybpfhHf+I/GIDeTN5UXvxZLB6E2CxGsFNx8aexskT8BXgRj9YnOZtXcEq+8Db24d4CsUaxVphjf6diHMFW3N4rQL81+ziexwvChuYO4XE5hoM40eP6xbHALbovcleFm7EHR/vUWhtj2ICP8K/y8+k4XhUq44FwqIfASLjbLwtvrjyTvwrzpRBPCNvHE7gWB7iCd7FOmHDz4rGLsAKvC49S5Oa/faKA+AjvpHJP4i2czBi3sZfwu4WJ1S6YOG+N+C6ON4YbJQ0kjOIZs3eDzyUns7Z7j+BjPNzLZYq8bWPyvN7AH7irRMyENr42u6j8Pel01kJ34kPlxHdjMpX4pwpxlnYcn046nQZ2qHchaeHxuF+loFub6k/jfHKQNnA/tlVIksfq+PeLCjHWp/qfp0+kDWzALRWS5PFS/HsYl/q4/lksTx2/lzfwfdVK5rx2HffFOXb1GNv5Fmrhm9T573WpHo42ZCAS5hZhUl8tYeDtjvOb8sTDDw0auCwsdPBGQQObzV6HPukmvmkDEfbGeVrCJ8c8Ay1hBU6LPy8UjQM10BbKD0ItM50x5oiwaKX/NqPglvRwwwYiXMRjcb57hFKj2/gLeKqIeMJrtGkDEX7GQ3HOCaHWzxr3FZYUFZ+wXfgONBcm0nvlp4UFqo0fYx1jRQTnvVPnK/bNqF9mhC1kJ/PwZ4N5hwwZMqRm/gOLgDG2c7iIigAAAABJRU5ErkJggg==;" vertex="1" parent="n.x-id">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-risk" value="&lt;b&gt;ATO risk&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="760" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico6" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADmUlEQVRoge2ZW4hNURjHfwczmRk0yL2oGYwY18TkUjQmyeUB5cUDRSKRvHiWSPGghHmhTI2EF6E8uJR4QEwub1PuM0PKbcrd8fDtnbXXWXvvtfbZZ09pfvXVaX9rf+v/rbXX9UAv/wergBvATWA70N9Qpg44AdwHTgLDsxIXx3LgN5BX7A2wG5gONAEtwC+tzGOgogf0BhgMdBEU5mKHspcc5DDJxeeBH8DEzFV7jAa+xQi0sdashfscsBQYZz+BcRlrpx/wrkjhqu3NVj4sTUm4b+1JhfR1KDsCWAtsBXYB1UkrNTAEWAjUeJpeIomlwgzgMvKtptnqUdYF7AMqixU/L2Phut2LE9gnxv8VmSp7ig9pBKlB9i6fya7lnwI7kNkuNSqRfc2+Eol+DGwDJruIyiVM5gswALgK7ER2liORmaoKabmBSvk/wCfv93vgrWfqd34Q2JNQjzOPvMq/AbMiyjUAwyL8R/nXA1tSU2fBcaXioyFlapEZ7FKIvxLpST9OfcoaI1mkVPwR+XR0Wjz/H2Q61tmtxHhSEpUR5IC7ioCHwALveTWyz9cXppXI2BiEiFd3shuKERLHCuAYMmhVKig8On4HyohfX3Q+IT2l0u7V/c4xVgFn6LmVeE2cOJuWumKTZQn4BdxOI1A50En2rX/BRpxND/wAmm2CpcypNIONQgaoqaUehDyPs/fAixBfB5b7INvZohM4F+JrBZZ5Ymw5h+x58iH+08gYSI1G4Dnm1vITGwAcofCSS7VXyNQIsviFlbsIDE1L/DYKb9V0USqbQsp1IhdhPqsiYuaRdaC2WPEbkQUm7nseo7yTA+4YyqzXYu+3iPsM8zbFisnIicxmQK7W3p1JsNduUbjqX7eMfc3wrhU3LSvII3t5nfOKf7Hm64vbCW+dq/iFDsHzXrI6bYp/s+ard4zf5ppAs2MF3QTn7eEEx85ZLX7YQI+yqSahYeuA3uVxVBE8kCwh+N02anU1OMYP1WRKoBwYn6CCucrvRs03FLkg85mTIP4U00NTAtUkG/VqAksMfv/ZQBxvHjyGmB6G9UAS/M+iDhhr8PsJzMHtTtanzPTQ9eQUxSRkpTW1PsjMVkGwp4omzQRywGzCE+iPHO5LnoB+NnVhPnJjEUYTyROw1lVG8L7GxV4X6Y8yp3809xZRUSnsC3LJbE05cpVisxMttXUgf2kZiZvvJwDTSHewu9CN7GS7e6j+XmL5C2vhs6WVM+pQAAAAAElFTkSuQmCC;" vertex="1" parent="n.x-risk">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-cred" value="&lt;b&gt;Credential store&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="940" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico7" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACWUlEQVRoge3ZPWgUURAH8F8SBVGMhV8IIqgIgo2llSJRLCQYQSsLS62CNhZa2NhZmMpaQcRSLBQ7I4gimsbEQhQtrggmGGIIqMGcxd7JcmTv4+3bXZT8YWDv9s3sf+bNm7dvllVUi76SntOPQziJA9iJtVhCDVN4gpf4XRKnrrAZNzGNehfyFbewtQqyaQzgCuZ0R7xV5nENa8omDhvxqAey7eS5kmdjB95HIt+UD5I1UzjWSRZhTPJNmcCGoh24k4PgMr5JKlDWmPtFkj8cSHwJ17GlYWcQo1jMGD9UBPk+4alzPsPmkJVn440C9q6jgeTfdrD7MEPvRHpQfwQHTgfqjXe4/yzj/5H0j7wO9OFUoO5A4P1hEdNol/DKM6V9AJ+20d0dy4HQ/G/K5Qy7ZzroHYvlwEhOB5ZxG/sls7EHNyTltZ3e2VgODOd0IFT+OpB3Ec/m1A/FXPMirwO1nPqh+BTT2Bflpk9NqozG2MgmI9joBc2zRhSMSipJmTNwPBb5CxWQfy3SLlwF+bpIr9NVpE0d92KQryryE1ifl3xVkY9yqK8q8uMitFWqiPw8rorQ2Cqb/IweW4vtauooxjqM6RXvJDm9HduwIOmbTuIxXojU3C0i5z82iBeOItJmGnuLINuaHrHSZgw/G9cLuKuEV+9z4kV+U9FkV8KrQLKVOpA+DwyW9dCYiHGgacUMvhdgd0Xk3el+STrJTczikiSNSkfIl5UHVRBNo4gUKhX/lQOLmaOyEaJTGC7qbSP7gSOVME2h9ZXhIPZ1oVeXfGH5HJ3RKv4x/AHr4cvIBpx95gAAAABJRU5ErkJggg==;" vertex="1" parent="n.x-cred">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-api" value="&lt;b&gt;API layer&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1120" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico8" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABzklEQVRoge2Yu0oDQRSGP41aiBZeOgsDBgSxEbTxAXwAK0EsxFIrC7ESCzvBh7AUGwkWYmMjImgpIjZaiFEQBYlExcRikhA3iTtzsrOTwHwwzbLn7P/vXM5hwNOadAEbwBmwD4wJciwCJ8ARMBOZMk12gELFeAYGDOLnA/HfwGTEGv8lExBQAOYM4g9rxG9LhLRLgoD+Gs8GG4w3mcEyUgNNgzfgGm/ANS1voEMY9wp0Bp7lDOLfizkq+RBq8TilTeOdKSBpWUct8sApqm0RM11MFOxb4hq3YQLDTqFR9GbJFimqD4s/tPwxGmYgH4uK+pSWkpgk8Ii7PbDXiPgSCaAPSMcofAHo1RGnswd+UFXzSydhRGRR1TqUZt3E2uvexMCbQIiUYJ9UFxMDTwIhUrSrr4mBG4EQCTng3kbiIeJpK45NRJnMwANwaZJcSNpm8jns/v0XoMemgQRwZdHAuk3xJSaATwviLwjpPKNkJWLxGVTrHCtrEQgvoG62x2PWXmYWtfGk4s+BkdhVBxgGdlF3/CZLZhX5tY4VUsAmqlbUKnhZ4ABYArrdSNTnjmoDWzY+1KzttDbegGu8Add4A66xVQmXqS5W15a+5XHKLz1EPuwFhf5TAAAAAElFTkSuQmCC;" vertex="1" parent="n.x-api">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.x-svc" value="&lt;b&gt;Rest.li service&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1290" y="80" width="150" height="740" as="geometry" />
        </mxCell>
        <mxCell id="_ico9" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.x-svc">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_m10" value="1. email + password" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1243;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1243;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-m" target="n.x-app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m11" value="2. POST /login" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1784;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1784;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-app" target="n.x-edge">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m12" value="3. rate + bot check" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2324;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2649;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.x-edge" target="n.x-edge">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="570" y="250" />
              <mxPoint x="570" y="280" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m13" value="4. forward" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3027;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3027;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-edge" target="n.x-id">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m14" value="5. verify hash" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3568;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3568;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-id" target="n.x-cred">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m15" value="6. device, IP, velocity" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4108;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4108;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-id" target="n.x-risk">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m16" value="7. new device: step up" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4649;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4649;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-risk" target="n.x-id">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m17" value="8. MFA challenge" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.5189;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5189;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-id" target="n.x-app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m18" value="9. passkey or TOTP" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.5730;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5730;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-m" target="n.x-app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m19" value="10. second factor" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6270;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6270;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-app" target="n.x-id">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m20" value="11. session + short token" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6811;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6811;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-id" target="n.x-app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m21" value="12. GET /v1/feed + token" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7351;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7351;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-app" target="n.x-api">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m22" value="13. verify signature, expiry" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7892;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8216;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.x-api" target="n.x-api">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1270" y="670" />
              <mxPoint x="1270" y="690" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m23" value="14. principal over mTLS" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.8595;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8595;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-api" target="n.x-svc">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m24" value="15. 401 on expiry: refresh" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;dashed=1;strokeColor=#b85450;fontColor=#b85450;exitX=0.5;exitY=0.9135;exitDx=0;exitDy=0;entryX=0.5;entryY=0.9135;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.x-api" target="n.x-app">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="Identity and Access — Sign-in with Step-up" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1410" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Sign in with LinkedIn for third parties is the OAuth 2.0 / OIDC variant of steps 11 to 14." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="870" width="1410" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="890" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Security Architecture   ·   date 2026-09" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=9;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="900" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
