<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Authorization Layers — from claim to row" id="08-authorization-layers">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1780" pageHeight="590" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Token presented" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="60" width="230" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.tok" value="&lt;b&gt;Access token&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;JWT, 1 h lifetime&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="90" width="230" height="90" 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+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.tok">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.sig" value="&lt;b&gt;Signature &amp; issuer&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;JWKS cached 24 h&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="40" y="210" width="230" height="90" 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+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.sig">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.claims" value="&lt;b&gt;Claims read&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;tid · oid · roles · scp · amr&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="40" y="330" width="230" height="90" 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+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.claims">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st5" value="Layer 1 — Azure RBAC" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="440" y="60" width="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.scope" value="&lt;b&gt;Scope resolution&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;MG to resource&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="440" y="90" width="210" height="90" 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+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.scope">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.assign" value="&lt;b&gt;Role assignment&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;group-based, PIM-activated&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="440" y="210" width="210" height="90" 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,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;" vertex="1" parent="n.assign">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.deny" value="&lt;b&gt;Deny assignment&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;policy-managed&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="440" y="330" width="210" height="90" 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,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;" vertex="1" parent="n.deny">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st9" value="Layer 2 — Application RBAC" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="820" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.approle" value="&lt;b&gt;App role check&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;roles claim&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="820" y="90" width="170" height="90" 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,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;" vertex="1" parent="n.approle">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.scp" value="&lt;b&gt;Scope check&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;delegated scp&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="820" y="210" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico11" 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.scp">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.consent" value="&lt;b&gt;Consent state&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;admin consent only&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="820" y="330" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico12" 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.consent">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st13" value="Layer 3 — Data &amp; tenant" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1150" y="60" width="220" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.tid" value="&lt;b&gt;Tenant predicate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;tid from token, never body&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="1150" y="90" width="220" 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+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.tid">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.row" value="&lt;b&gt;Row / partition filter&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;RLS · partition key&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="1150" y="210" width="220" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico15" 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.row">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.field" value="&lt;b&gt;Field-level policy&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;classification-aware&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="1150" y="330" width="220" height="90" 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+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.field">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st17" value="Outcome" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1540" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.allow" value="&lt;b&gt;Allow&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;with effective scope&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1540" y="90" width="200" 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+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.allow">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.reject" value="&lt;b&gt;Deny&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;403 + reason code&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="1540" y="210" width="200" 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+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.reject">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.aud" value="&lt;b&gt;Audit record&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;who · what · which layer&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="1540" y="330" width="200" 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+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.aud">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_spine21" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="280" y="250" as="sourcePoint" />
            <mxPoint x="430" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine22" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="660" y="250" as="sourcePoint" />
            <mxPoint x="810" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine23" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1000" y="250" as="sourcePoint" />
            <mxPoint x="1140" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine24" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1380" y="250" as="sourcePoint" />
            <mxPoint x="1530" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e25" value="invalid token" 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=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sig" target="n.reject">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="160" y="320" />
              <mxPoint x="1640" y="320" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e26" value="no assignment" 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=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.scope" target="n.reject">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="550" y="200" />
              <mxPoint x="1640" y="200" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e27" value="role absent" 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=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.approle" target="n.reject">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="910" y="210" />
              <mxPoint x="1640" y="210" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e28" value="tenant mismatch" 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=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tid" target="n.reject">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1260" y="230" />
              <mxPoint x="1640" y="230" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Authorization Layers — from claim to row" 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="1690" 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="1690" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="40" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="Interface / broker" 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="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="200" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" 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="230" y="490" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="340" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" 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="370" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="500" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="Application we own" 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="530" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="660" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" 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="690" y="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="780" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" 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="810" y="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg41" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#b85450;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="890" y="500" as="sourcePoint" />
            <mxPoint x="920" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg42" 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="920" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Four gates, four different questions. Collapsing layer 3 into layer 2 is the most common design error in multi-tenant systems: an app role says what a caller may do, never whose data they may do it to." 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="520" width="1690" 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="540" width="1690" 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="550" width="1690" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
