<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Multi-Tenant Isolation — identity, authorization, data" id="25-multi-tenant-isolation">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1760" pageHeight="990" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_box1" value="Identity layer — separate directories, no shared principal" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b85450;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#b85450;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="80" width="1670" height="190" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="_box1">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_box3" value="Tenant A" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="110" width="520" height="140" as="geometry" />
        </mxCell>
        <mxCell id="n.ausr" value="&lt;b&gt;Users&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="120" y="140" width="170" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_plate4" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.ausr">
          <mxGeometry x="5" y="11" width="32" height="32" 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+gvaeTAAADIElEQVRoge3YT4hVZRjH8c+oaQ5l6JQ4UoswijQMiahFlhESBrWqoFKLFuLClkor2+gmpkUFUZsIIYMW6qICi6AEg1qUUpSYWIIjpYNoYylMzm3x3su9nnnPe865c68Ddr7wwD3n/s7z59znPO97LjU1NTU1/2dm99HvSqzCMCZwoU+xesoQRnAGjQ6bxDd4YuZSK+Z+jLoy8Zi9h+tmKMdc7sJZxcm37P2ZSTOfg8on37K+ttMANuEwLuIEXseCiPaxLpJvCM9EjEfxJf7GGD7EsqoFvJMT9AfcmNG+3WUBk1iS8bUelyPas1hRNvlHCgLvzOg/77KABh7u8LMQ5xPaA7FkZ0XOPV1Q4DOZ48ECfYobOj6vFW/RFqtN/cWiBQwVBL05c/xHgT7FaMJvjCm5xQo4UuDkl8zxVyUCxxjDTwm/WS7h9zKObxWW/bxefDajX4zxhD7PRjJ+ZuNQQv9WmeRbrMNfGQeT2JGj31Yx+VEsivhZhl8j+s8wPxZ4IFHEMF7EnTiNj/F9jnYAH2Bjwl+Lc3gc3+V8P18Ypw/gH2HKfSoU0lcGsFW6nQ4K246eBo2xCLdhTub8nzhZ4HOx8JyswVJhRT2CfcIKm2IQt+P6zPlxHBPaOMkw9uJf+XfxMB4qclSReXhDaJm8uKfwcsrJTTiacNCy03iyxwUsEPY8ZQbAK3lOtpe4+JD2ajgHL2G/MNMbQnuNCKvmUmGdGcRybBCmyYQw04/iTVc+E5uENknlMC7c7CkUbYlPNJMibKx+LlHwREnNTu1F9dUS16yLFVCUUGvjda/0pqtb26U9VPYXaF+oWsAnTc0gfutD8i3b0oxzn3QrrY8V8G3igrVNTZmfdzo2pr0jPZDQPRUrYHOO+JL2lrlM30/XnmvGei3n++M6Xqo6F6p38SMezJw/I8znIdwdq7zHrMZH2C3cvE7GsEeYRJW5R//vfkNYsUsTex/IY14Vx9OgUpwqBVyumEi3FO53OqlSwDFXp4iiN8Jp0e1fKGXtAu6oklDVf6e/ECbDLZjb/NwLO4+v8bzid+Oampqampprh/8AVPUp69x8BLsAAAAASUVORK5CYII=;" vertex="1" parent="n.ausr">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.awl" value="&lt;b&gt;Workload identities&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="330" y="140" width="200" height="50" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.awl">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box7" value="Tenant B" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="620" y="110" width="520" height="140" as="geometry" />
        </mxCell>
        <mxCell id="n.busr" value="&lt;b&gt;Users&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="680" y="140" width="170" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_plate8" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.busr">
          <mxGeometry x="5" y="11" width="32" height="32" 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+gvaeTAAADIElEQVRoge3YT4hVZRjH8c+oaQ5l6JQ4UoswijQMiahFlhESBrWqoFKLFuLClkor2+gmpkUFUZsIIYMW6qICi6AEg1qUUpSYWIIjpYNoYylMzm3x3su9nnnPe865c68Ddr7wwD3n/s7z59znPO97LjU1NTU1/2dm99HvSqzCMCZwoU+xesoQRnAGjQ6bxDd4YuZSK+Z+jLoy8Zi9h+tmKMdc7sJZxcm37P2ZSTOfg8on37K+ttMANuEwLuIEXseCiPaxLpJvCM9EjEfxJf7GGD7EsqoFvJMT9AfcmNG+3WUBk1iS8bUelyPas1hRNvlHCgLvzOg/77KABh7u8LMQ5xPaA7FkZ0XOPV1Q4DOZ48ECfYobOj6vFW/RFqtN/cWiBQwVBL05c/xHgT7FaMJvjCm5xQo4UuDkl8zxVyUCxxjDTwm/WS7h9zKObxWW/bxefDajX4zxhD7PRjJ+ZuNQQv9WmeRbrMNfGQeT2JGj31Yx+VEsivhZhl8j+s8wPxZ4IFHEMF7EnTiNj/F9jnYAH2Bjwl+Lc3gc3+V8P18Ypw/gH2HKfSoU0lcGsFW6nQ4K246eBo2xCLdhTub8nzhZ4HOx8JyswVJhRT2CfcIKm2IQt+P6zPlxHBPaOMkw9uJf+XfxMB4qclSReXhDaJm8uKfwcsrJTTiacNCy03iyxwUsEPY8ZQbAK3lOtpe4+JD2ajgHL2G/MNMbQnuNCKvmUmGdGcRybBCmyYQw04/iTVc+E5uENknlMC7c7CkUbYlPNJMibKx+LlHwREnNTu1F9dUS16yLFVCUUGvjda/0pqtb26U9VPYXaF+oWsAnTc0gfutD8i3b0oxzn3QrrY8V8G3igrVNTZmfdzo2pr0jPZDQPRUrYHOO+JL2lrlM30/XnmvGei3n++M6Xqo6F6p38SMezJw/I8znIdwdq7zHrMZH2C3cvE7GsEeYRJW5R//vfkNYsUsTex/IY14Vx9OgUpwqBVyumEi3FO53OqlSwDFXp4iiN8Jp0e1fKGXtAu6oklDVf6e/ECbDLZjb/NwLO4+v8bzid+Oampqampprh/8AVPUp69x8BLsAAAAASUVORK5CYII=;" vertex="1" parent="n.busr">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.bwl" value="&lt;b&gt;Workload identities&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="880" y="140" width="200" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico10" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.bwl">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box11" value="Platform tenant" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1170" y="110" width="520" height="140" as="geometry" />
        </mxCell>
        <mxCell id="n.ops" value="&lt;b&gt;Platform operators&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;PIM + customer approval&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1200" y="140" width="200" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_plate12" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.ops">
          <mxGeometry x="5" y="29" width="32" height="32" as="geometry" />
        </mxCell>
        <mxCell id="_ico13" 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.ops">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pwl" value="&lt;b&gt;Platform workload identity&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;no tenant data role&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1430" y="140" width="240" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico14" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.pwl">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box15" value="Authorization layer — tid is a mandatory predicate, never an optional filter" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="290" width="1670" height="190" as="geometry" />
        </mxCell>
        <mxCell id="_ico16" 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+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="_box15">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_box17" value="Claims in the token" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="320" width="800" height="140" as="geometry" />
        </mxCell>
        <mxCell id="n.tid" value="&lt;b&gt;tid&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;issuing tenant&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="170" y="350" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico18" 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+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.tid">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.oid" value="&lt;b&gt;oid / sub&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;subject&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="380" y="350" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico19" 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+gvaeTAAAAlElEQVRoge3Yuw7CMAxG4VOEBEy8/2MyAVMZOicuA/kbdL7VqmI3F0sGSZKUsxTxC/AYkUjHHXi3gufi44WtiKTuTz6NyuJXqh1Y6WzfIGt4fenQqj5wBZ4jEum4Aa9WcPpn1ALSqjsA2z1Iap5/HcH0R8g+kGYBkrISc6HunOdbibnQnu6/2/TPaGIu5JxHkqS/8QHrVxAnDjdOPwAAAABJRU5ErkJggg==;" vertex="1" parent="n.oid">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.rl" value="&lt;b&gt;roles / scp&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="580" y="350" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico20" 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+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.rl">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box21" value="Decisions made from them" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="900" y="320" width="800" height="140" as="geometry" />
        </mxCell>
        <mxCell id="n.pred" value="&lt;b&gt;Tenant predicate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;fails closed&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="980" y="350" width="180" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico22" 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+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.pred">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.arole" value="&lt;b&gt;App role check&lt;/b&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1190" y="350" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico23" 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,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;" vertex="1" parent="n.arole">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.abac" value="&lt;b&gt;ABAC condition on RBAC&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;scope + attribute&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1400" y="350" width="220" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico24" 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,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;" vertex="1" parent="n.abac">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box25" value="Data layer — isolation proved by storage, not by code review" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="510" width="1670" height="190" as="geometry" />
        </mxCell>
        <mxCell id="_ico26" 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+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="_box25">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_box27" value="Shared services, partitioned" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="540" width="800" height="140" as="geometry" />
        </mxCell>
        <mxCell id="n.cos" value="&lt;b&gt;Cosmos DB&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;partition key = tenant_id&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="150" y="570" width="210" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico28" 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,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;" vertex="1" parent="n.cos">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.sql" value="&lt;b&gt;Azure SQL&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;row-level security&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="390" y="570" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico29" 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,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;" vertex="1" parent="n.sql">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.blob" value="&lt;b&gt;Storage&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;container per tenant&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="600" y="570" width="180" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico30" 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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAACzElEQVR4nO2bMY8SQRTH/zO7HAt4Fwxo9JKz02ghMYarjEYKcybW3ke40s9AbeNXsPWsTawk8bQxUFwhMXZ3glcQuZwYNrA7MxYCapBliMMMC/OrCLvF//3z3rz3hgBYLBaLxbKykOGHx/v7zvGmt00EP2dSkAY6Wyf96svdXQYALgBAlOnxQfIVuNgRvz1ZWo4uJV9DlB+BlDkFgO33t28A2DGsSxsEeDiIGRQASEg2zErSzzBmalqIaawBpgWYxhpgWoBprAGmBZjGGmBagGlcALifzbGvve6BaTE62Uym2QcMDHiSv+IQQu4a1qQVIYTzFMNtEADn3KAc/RDya+sdGSCEMCbGBH8ZEIbh6It/4XkePM/To0wRvu+j1+tNfB6GIQDJEsjlcnAcR6G8+ZNKpdBsNic+n6kEorJjUaGUSsXkAkAQBLEMMgohRGRWM8YALPkhKBPTyhowUxdgjIHSeE3NjLHIEhiaI5UBjUYDqVRKobz50+12ZyuBKLd834fv+2qULQjDjB51gbil+P8SBAEAyRKo9n+gHsQrAwqJNG6tZaa+J1UCL/w2TnmoRpkmDsMuCu7kc2usC0SVAI9hiwyEiMzqsUFoGddhmZjsICTzclxRtgxlCMWZYIrlzZcMiLplaM/N4kgECuXNny3iyk+C07pAFgRZrKlTpwMBcDE5A4bZsdRngAxSBnxst1Bvt7QIUsX183nczF2c+p7UHPD80yFafleNMk28O/mCZ3ceTHw+0zIUxHBICjmPzOqxZchOghFuxfWAVHYlFleUXYll3ATO+pN/ZVlE0m5C3ZXY3rUCPn8/VaNME1c3spExzdQF8kkP+QuXFUucPyvfBWRwAYAx1lm1S1HOeQcYGFCtVuvFYrECoGRUlSaEEG9qtVod+OMPE5VKxe10OvcopTlz0uYP5/zb+vr621KpFK9bXovFYrFY1PMTUL1ZU9lgOYwAAAAASUVORK5CYII=;" vertex="1" parent="n.blob">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box31" value="Dedicated, on request" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b85450;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#b85450;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="900" y="540" width="800" height="140" as="geometry" />
        </mxCell>
        <mxCell id="_ico32" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="_box31">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.ded" value="&lt;b&gt;Dedicated database&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;premium tier&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="940" y="570" width="190" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico33" 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+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.ded">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.cmk" value="&lt;b&gt;Customer-managed key&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;tenant holds revocation&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1170" y="570" width="200" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico34" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.cmk">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pe" value="&lt;b&gt;Private endpoint per tenant&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1400" y="570" width="250" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico35" 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+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.pe">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.rep" value="&lt;b&gt;Cross-tenant reporting&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;the one place tenants mix&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#5c1a17;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="660" y="730" width="220" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico36" 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+gvaeTAAACo0lEQVRoge2YTYiNURjHf2MuNb5iNsTMpNxSruQjG3ai1N1YSBasWFAsJspCIbGZhRILq1usFLJQGslqdkj5SNgw02AzikEz4ToWZ97mveOc93y975xb3n89Nd3p+T+/Z+b03HMeKFXq/1Zngd41oA6sAoaB3wXWylUdwGVApGIU2BwTykVHaIVPYhhYGJHLSkuBMdQNCOBCPDQ7XUEPL4BJoBqNzqC1wC+yGxDArViAJt3HDJ/EzkiMWu3GHl4AL4FKFFKF5gFvcWtAAIdjwKp0End4AXwGuiPwtmgZ8AW/BgRwcfaRW9XAH14gp1Zt1qmntBFoGgBt4kEIREdA3hCwTfG7JvAc+DPj8+XASo1fHbjnyeKlfbif68XIG6kq5zUwt1jkaXUB7zUgWfedTuR/RZfXXyR0WmczIATyKq3SEkPeV+QxK1Q9wHcDyDVNbp8hTwBXC2QH4IYFxB1N7jqL3CYFPny2kn2Gk3iYkW8zVofwn45azQEeWQI81njssswXwJ68GzjoUPyNxmOvg8cIMD8v+EXAR4finzQ+hxw8BHAqrwYGHAv/0Pj0e/j0hcJXke9Yl8IC9WPljIfPdROgabHVwO+2OAlMACumogocR16/XbQeGAQ+eDCwHfe/WBHxBDkFnVRBvlt9i44Bx4BNyPF5O7CJA64NHA0oNg6sVnheCvAcxWGr1418r/oWG9D4LgB+Bviet21g5mLWNfZneL8K8J1AbrozVcNuu5YVpzXeFeRsD/G+aWpgMLCAQH5rq9YlJ3LwFsAOHXw9pwICeIEcw11AL3COsPOfjqdobqt3c2yg6NiSQKe/IHpUXbWpepMf0g08iwDiI4Fc2/yjNcA34h8PUzSyutuAnETjbQCajibwDjmi22YtX6pUqRz0FyGU+wg7R1qJAAAAAElFTkSuQmCC;" vertex="1" parent="n.rep">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.sup" value="&lt;b&gt;Support engineer&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="920" y="730" width="180" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_plate37" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.sup">
          <mxGeometry x="5" y="29" width="32" height="32" as="geometry" />
        </mxCell>
        <mxCell id="_ico38" 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.sup">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e39" value="read from token only" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tid" target="n.pred">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="260" y="510" />
              <mxPoint x="1070" y="510" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e40" value="session context per request" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.pred" target="n.sql">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1070" y="520" />
              <mxPoint x="480" y="520" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e41" value="revoke key" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.cmk" target="n.ded">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e42" value="aggregate only, no row export" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.rep" target="n.cos">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="770" y="700" />
              <mxPoint x="260" y="700" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e43" value="elevation needs tenant approval" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=block;endFill=1;strokeColor=#b85450;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sup" target="n.ops">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1010" y="710" />
              <mxPoint x="920" y="710" />
              <mxPoint x="920" y="290" />
              <mxPoint x="1300" y="290" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Multi-Tenant Isolation — identity, authorization, data" 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="1670" 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="1670" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg44" value="" style="rounded=1;arcSize=30;html=1;fillColor=#08427b;strokeColor=#073b6f;" vertex="1" parent="1">
          <mxGeometry x="40" y="900" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg45" value="Person or role" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="70" y="890" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg46" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="180" y="900" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg47" value="Security / platform" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="210" y="890" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg48" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="350" y="900" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg49" value="Decision point" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="370" y="890" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg50" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="480" y="900" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg51" value="Data store" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="510" y="890" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg52" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="600" y="900" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg53" value="Risk / gap" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="630" y="890" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg54" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="710" y="900" as="sourcePoint" />
            <mxPoint x="740" y="900" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg55" value="synchronous" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="740" y="890" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg56" value="" style="html=1;endArrow=none;dashed=1;dashPattern=1 4;strokeColor=#9673a6;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="830" y="900" as="sourcePoint" />
            <mxPoint x="860" y="900" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg57" value="batch" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="860" y="890" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg58" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#b85450;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="920" y="900" as="sourcePoint" />
            <mxPoint x="940" y="900" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg59" value="failure / alternate" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="950" y="890" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Three layers, because any one of them alone has a known bypass. The honest weak point is drawn: cross-tenant reporting is the single component with a legitimate reason to read every tenant, and it is therefore the component with the smallest surface and the tightest review." 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="920" width="1670" 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="940" width="1670" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Data &amp; AI Global Practice   ·   date 2026-08" 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="960" width="1670" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
