<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Privacy and Authorization — Every Read Path" id="29-privacy-authorization">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1370" pageHeight="490" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Request" 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="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p-req" value="&lt;b&gt;Profile request&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;viewer, target&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="160" width="170" 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+gvaeTAAABzklEQVRoge2Yu0oDQRSGP41aiBZeOgsDBgSxEbTxAXwAK0EsxFIrC7ESCzvBh7AUGwkWYmMjImgpIjZaiFEQBYlExcRikhA3iTtzsrOTwHwwzbLn7P/vXM5hwNOadAEbwBmwD4wJciwCJ8ARMBOZMk12gELFeAYGDOLnA/HfwGTEGv8lExBQAOYM4g9rxG9LhLRLgoD+Gs8GG4w3mcEyUgNNgzfgGm/ANS1voEMY9wp0Bp7lDOLfizkq+RBq8TilTeOdKSBpWUct8sApqm0RM11MFOxb4hq3YQLDTqFR9GbJFimqD4s/tPwxGmYgH4uK+pSWkpgk8Ii7PbDXiPgSCaAPSMcofAHo1RGnswd+UFXzSydhRGRR1TqUZt3E2uvexMCbQIiUYJ9UFxMDTwIhUrSrr4mBG4EQCTng3kbiIeJpK45NRJnMwANwaZJcSNpm8jns/v0XoMemgQRwZdHAuk3xJSaATwviLwjpPKNkJWLxGVTrHCtrEQgvoG62x2PWXmYWtfGk4s+BkdhVBxgGdlF3/CZLZhX5tY4VUsAmqlbUKnhZ4ABYArrdSNTnjmoDWzY+1KzttDbegGu8Add4A66xVQmXqS5W15a+5XHKLz1EPuwFhf5TAAAAAElFTkSuQmCC;" vertex="1" parent="n.p-req">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st3" value="Authenticate" 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="260" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p-auth" value="&lt;b&gt;Session to principal&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="260" y="180" width="200" height="50" 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+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.p-auth">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st5" value="Relationship" 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="510" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p-blk" value="&lt;b&gt;Block list&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;cached, both ways&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="510" y="100" width="170" 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+gvaeTAAADaUlEQVRoge2ZT0hVQRTGf7ce1sN6KtjCsD8gREUEgq9NEgRFtWkjIYhIm3Zu2hi2CTcV5MqCFlHL0AQLAgsEc1WhLiKCNGuji3ChFpKZirY47+HlMmfe3H+68YOBd++b833nzMydM/dc2MH2wkuJNwtUAXsL17+ABWAjaaGkAsgDF4FzwEngkKHPEvANGAfeAW+QoLYNOaADmEBGNmxbBvqBxq12vAzoZHNJJNFGgPqtcD4PfE3QcX9bA7qRAUoF7cC/lJz3t1Gg1tUpl4fYA+4Btxz6TgIfgM+F3yuF+zXIw30KuMDm7qRhBriEzHZs3Mc+YktAD9DgyJcD2pCRtvH+BOriOt9eQqQPOByR2wNakdHW+L8j+SQS8tjX/CpwLSq5D1XAkEXnFRHyVRluu01SQWSAxxad62EJOy1kaQXhAb2KxixQ6UqUQ09SqykHkQXGFI07riQdCkFfwcm0gziObL9B/jmg3IXAtPaXgKOF/5sUgQ0km7YkEMRDhb+1lGFeMewJ9Et7JqqRw16Qe7CU4W3FKVOSSnsmXhp4/wB7bEZvDUYTlv5pzkSzwnvWZmTKis9KCKU1EzUK5w3NIAusGwxuOoilNRPzBr4HWueDigNXHcXSCOKjgeupv8Mu3+99Csmao1g/slxM/TPAc8IHYeLa77/wB7CqkKyHEEw6iN2Geyv+C38AiwrJgRCCkGwQpvOP5icess8G19xdR7Eg4u5O2UK/oG2nzeiTweB1xAAg3oPdoNg12QSfGAz+AhUxgog6E12KzRGbWIti1BYjgChBeMAPQ9+pUkJVmA9Ro8QvQ4ZZTleUft0uQv2KccmjbEJBZIAvSp/TLiKNivEMMSoEIYLQBnA4jMiIQjKEjFBc2ILQ2vkwAvWY9+ANpHqQRFk+TBADUQS6LYS9SKKJC5cgFohYPCvDXv4bQ17A4yCDvuaLzZq4SqEWmLaQryAv4NUheT3gMvpuU2xdcZwv4gRSaLUJLSMlwGbkTcqELFI06MKcpILtURLOF1GHFFpdd4x54D3yPWwcKbVrm0JqIx9EBfAihBNR2m9kFlODhxRaZ1NwfoDopfrQqERqlXMJOD5MyCSVJMqRM9Ig5pchrU0hecbpbGNDkl/qy4AzyLewY8gs5ZBEtYhsx5NI/phOUHcHO4iD/xFE2EIZYKFwAAAAAElFTkSuQmCC;" vertex="1" parent="n.p-blk">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p-deg" value="&lt;b&gt;Graph degree&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;LIquid&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="510" y="220" width="170" 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,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAByklEQVRoge3YvY9NQRjH8c9aItbLJlTipSca4qUgXhLRiU7jXxCtiEqiFX8BjU5oFP4A26kkW+mWCAkauS6W2FWMTY6zNznmhbEy3+Qk986ZZ37P786cO88cGo1GoyZTve9ncBjrBuJe4T6+FcpjP85h40C/D3iId5NuXsZyxPWoQOJwBIsRui8wO2mgp5EGlrGjgIFbCboXVoK7S2VLgnhKTIkxtq58WJ8pvhfTibGv8SVTP9vAk4zYk5jL1B/8t/nnaQZqk/sMnMebxNjnmdrINzAvbCzV6C6hcaUcUnQ/Tmq8In5HPJ4g3ucovkZovtQpJfrF3FkcmtBO2DGv9+7N4dTPgXM4IBRzGwb6jfAAb1OF7ln9i1xMHawGu4T115/SmVoJxdYxI2GaT3faZvFJgbLgb7EJC36dhRF2VswpmktWPwt3qmYUyZSwZLoGvgunqzXDMSzhM65hd9100riLEzUTmLRhxTAtLJ3NuC1sakP11XvcwONM7aLcFFeCjLG9hHCp88DByP4z2FdCuJSBlHGKaK/5E1kzUJtmoDbNQG1KGViI7L+UEPNH2YNnfq+MWMTVUsK5xVyfbYaPqWPhNUqj0Wj8B/wA3nShnzCqca0AAAAASUVORK5CYII=;" vertex="1" parent="n.p-deg">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st8" value="Decide" 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="720" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p-blkd" value="&lt;b&gt;Blocked?&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="720" y="90" width="170" height="100" 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+gvaeTAAADaUlEQVRoge2ZT0hVQRTGf7ce1sN6KtjCsD8gREUEgq9NEgRFtWkjIYhIm3Zu2hi2CTcV5MqCFlHL0AQLAgsEc1WhLiKCNGuji3ChFpKZirY47+HlMmfe3H+68YOBd++b833nzMydM/dc2MH2wkuJNwtUAXsL17+ABWAjaaGkAsgDF4FzwEngkKHPEvANGAfeAW+QoLYNOaADmEBGNmxbBvqBxq12vAzoZHNJJNFGgPqtcD4PfE3QcX9bA7qRAUoF7cC/lJz3t1Gg1tUpl4fYA+4Btxz6TgIfgM+F3yuF+zXIw30KuMDm7qRhBriEzHZs3Mc+YktAD9DgyJcD2pCRtvH+BOriOt9eQqQPOByR2wNakdHW+L8j+SQS8tjX/CpwLSq5D1XAkEXnFRHyVRluu01SQWSAxxad62EJOy1kaQXhAb2KxixQ6UqUQ09SqykHkQXGFI07riQdCkFfwcm0gziObL9B/jmg3IXAtPaXgKOF/5sUgQ0km7YkEMRDhb+1lGFeMewJ9Et7JqqRw16Qe7CU4W3FKVOSSnsmXhp4/wB7bEZvDUYTlv5pzkSzwnvWZmTKis9KCKU1EzUK5w3NIAusGwxuOoilNRPzBr4HWueDigNXHcXSCOKjgeupv8Mu3+99Csmao1g/slxM/TPAc8IHYeLa77/wB7CqkKyHEEw6iN2Geyv+C38AiwrJgRCCkGwQpvOP5icess8G19xdR7Eg4u5O2UK/oG2nzeiTweB1xAAg3oPdoNg12QSfGAz+AhUxgog6E12KzRGbWIti1BYjgChBeMAPQ9+pUkJVmA9Ro8QvQ4ZZTleUft0uQv2KccmjbEJBZIAvSp/TLiKNivEMMSoEIYLQBnA4jMiIQjKEjFBc2ILQ2vkwAvWY9+ANpHqQRFk+TBADUQS6LYS9SKKJC5cgFohYPCvDXv4bQ17A4yCDvuaLzZq4SqEWmLaQryAv4NUheT3gMvpuU2xdcZwv4gRSaLUJLSMlwGbkTcqELFI06MKcpILtURLOF1GHFFpdd4x54D3yPWwcKbVrm0JqIx9EBfAihBNR2m9kFlODhxRaZ1NwfoDopfrQqERqlXMJOD5MyCSVJMqRM9Ig5pchrU0hecbpbGNDkl/qy4AzyLewY8gs5ZBEtYhsx5NI/phOUHcHO4iD/xFE2EIZYKFwAAAAAElFTkSuQmCC;" vertex="1" parent="n.p-blkd">
          <mxGeometry x="19" y="38" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p-vis" value="&lt;b&gt;Visibility rule&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;public to private&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="720" y="220" width="170" height="100" 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+gvaeTAAADNUlEQVRoge3YX4hVVRQG8N/VaQQtijSTkpAwo0IKn5qHrIcoIgiivxAKZfhYEFTaQ5CmFJoPQREkQU+BBEUPQRFBvWREaWV/mEgqwTRTqMF0cnB6WDNwZs+5d+8zcycQzgcLzoH9fWvtvc9ee61DixYtWrRocQ6j00et+bgOa7AYF0/YaZyYsF+xF3/20e+ssASP4WOMYLzQhrEbN+vvIhZjCO9gtCDYnP2MzTj//wh8FfbgbB8CT+0YnsbgXATewVP4NxPEQbyIW7Ac5+FCXIOH8W6BxldiofqGS/FBxukRbMRAgd5VeDujN4L1/Qh+hfhGeznbhytmoL1RfjdemE3wV+NQxsEXWFjDHRAHfT0ewOouPu6VP087zSBTLcfhjPDvuKwLvyN2pjr+R9xfM/a5jJ9xbGsS/AJ8XiC6IaOzrQvvNcyrjBvETxlfZ3FP6QReLwh+WNy8vbCjB39rMvahAp8juDYX/G0FQuN4PqMzgG968M+IMzaJRfinwO9nepyHQfGdlkxgqMJLd2I+dhVo7Ep47xf6fqTbBJ4oFBjH0grvJrEyz2I79hdqfJ34f7mQ9wcuqJvAp4UCZ0w9hOsaTLxqxxP/mxtwb58kVQM5UjerGgyITDWJ0UJeipPJe9190g1HJx+qE3hJpKsSLKs8f9/AcRXfJe/d7pQUH4rPtBa7lW3hgwnvh0Je1R5NNA4UcEZNzV7TcInolnJCbyW8+xoGP2xq2byykJdL34i7YCwjdMr0Au7VwiBGcEPCLclAn4jyvAibCgTfTDjzsEXvCnMY1ye8lfKd3SFR1hejo+w8rKvhrhIJYb/I2b+JS2qD6d3WQtHA5NLtmibBVyfxSkb8FO6YifhE8O9l9I+avmON0BG3a6+afQxPyhd3VVyJLzPBHxStaF9wp2i6ezk8gLtNveRSrBA10OmM1h7RS2fRpNO5XGSauzLj/sZHYgUPi7plmSgA0+yT4hieEedvznCj8rqp1E6K/rdo1fuBDtbiDc3+yKW2D4+LP3wzDmS2WIRbxc4MiaxxUc24Mfwi2tW94mL6drbO5+q/5KD4sbtYpNrj+GuOfLVo0aJFixbnLv4DiMJU9M7TqPsAAAAASUVORK5CYII=;" vertex="1" parent="n.p-vis">
          <mxGeometry x="19" y="38" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st11" value="Shape" 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="940" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p-mask" value="&lt;b&gt;Field masking&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;per-field settings&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="940" y="100" 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+gvaeTAAADNUlEQVRoge3YX4hVVRQG8N/VaQQtijSTkpAwo0IKn5qHrIcoIgiivxAKZfhYEFTaQ5CmFJoPQREkQU+BBEUPQRFBvWREaWV/mEgqwTRTqMF0cnB6WDNwZs+5d+8zcycQzgcLzoH9fWvtvc9ee61DixYtWrRocQ6j00et+bgOa7AYF0/YaZyYsF+xF3/20e+ssASP4WOMYLzQhrEbN+vvIhZjCO9gtCDYnP2MzTj//wh8FfbgbB8CT+0YnsbgXATewVP4NxPEQbyIW7Ac5+FCXIOH8W6BxldiofqGS/FBxukRbMRAgd5VeDujN4L1/Qh+hfhGeznbhytmoL1RfjdemE3wV+NQxsEXWFjDHRAHfT0ewOouPu6VP087zSBTLcfhjPDvuKwLvyN2pjr+R9xfM/a5jJ9xbGsS/AJ8XiC6IaOzrQvvNcyrjBvETxlfZ3FP6QReLwh+WNy8vbCjB39rMvahAp8juDYX/G0FQuN4PqMzgG968M+IMzaJRfinwO9nepyHQfGdlkxgqMJLd2I+dhVo7Ep47xf6fqTbBJ4oFBjH0grvJrEyz2I79hdqfJ34f7mQ9wcuqJvAp4UCZ0w9hOsaTLxqxxP/mxtwb58kVQM5UjerGgyITDWJ0UJeipPJe9190g1HJx+qE3hJpKsSLKs8f9/AcRXfJe/d7pQUH4rPtBa7lW3hgwnvh0Je1R5NNA4UcEZNzV7TcInolnJCbyW8+xoGP2xq2byykJdL34i7YCwjdMr0Au7VwiBGcEPCLclAn4jyvAibCgTfTDjzsEXvCnMY1ye8lfKd3SFR1hejo+w8rKvhrhIJYb/I2b+JS2qD6d3WQtHA5NLtmibBVyfxSkb8FO6YifhE8O9l9I+avmON0BG3a6+afQxPyhd3VVyJLzPBHxStaF9wp2i6ezk8gLtNveRSrBA10OmM1h7RS2fRpNO5XGSauzLj/sZHYgUPi7plmSgA0+yT4hieEedvznCj8rqp1E6K/rdo1fuBDtbiDc3+yKW2D4+LP3wzDmS2WIRbxc4MiaxxUc24Mfwi2tW94mL6drbO5+q/5KD4sbtYpNrj+GuOfLVo0aJFixbnLv4DiMJU9M7TqPsAAAAASUVORK5CYII=;" vertex="1" parent="n.p-mask">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p-resp" value="&lt;b&gt;Response&lt;/b&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="940" y="220" width="170" height="90" 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+gvaeTAAADC0lEQVRoge3YT6iUVRzG8c/c8qqJZBc0vJm4CTWIi1YQoRBi0EYiUgnCaCWIQrRqI+mipGV/FiW48a4KIagghIIoosg2UhZRBKkVioSWf26m3Wlx7uh7h/d955x33nmH4D7wg4E555nvYc553t97mNOcYrQKh/ElnhkuSpoW4SVMoT1T/2L9MKFi1MIO/OomeLYeHx5abz2Az+WDd2rt0OhKNI6DwhYpg/8H84bEmKtRPIc/lYN36sRwMPO1BT+LA+/UO0Mh7dJaHJUG3ql9Q+C9oaV4C9cVA15Tfg62NU4tHLrncb4ErI3fMCFsk6Ix9zbMbrNw8Hptje+wEo8p/ocaTaB78EEEeBufYAnW4ELJuEYSaAlewd+R8EewAGP4qcfYgSbQiNBonYkEb+O1mXm34MOI8QNLoEdwPAH8OnZn5r8eOW9r3eArMInpBPgpbM94PJswt7Ye6DbsN7vNjak/sCHj87D4s1JLArWEB8nJRPC20DKsznitxNmE+X0nUEybW1THsCzjtRBfJ3pUTqDYNreo3hO2XEctvF3B58VU8NQ2N68O4dYu3/0VvZISqEqbm63pGdBuPaH6PxmVQP20uZ26iqdzvCdwqaJnVAI9JbSy/cBfwKYc76X4pQ/fqAT6qk/407gvx3cUn/XpXZhAI5nPP8SsskDf4CF8m/PdG9jYhzd8HzPoTmGlqdvoY9xe4Lkn0auokhJoOV4QtkQv40lhi+Rpo3Cg61hApR5oVGgbPiow7bTCeVqFczXB19IDrROexpeEVnhXydjFwlmoA74t/1xV1hgeLPl+BO/XCF+aQIPQgZrh2yr0QFW1VdqLTWw92QT8OlweAHzlBErVqQHBX9UjgYpiMFXjNfl060fhwVqouhbQS5PCi/ynifOiWog6VHZZ+wXmZ8auFi6+et2TNppARQv4HXcVzFmMncofeo0kEPkLuIL7I+a2hAvgd7t8/sIdg4DNU/cCpoUXpFTdjb14U4jmxnTR7AW83OSP16FX3YQ/orl0q00t4YL3Uf9D+Dn1o/8ABVIE9i/IXxcAAAAASUVORK5CYII=;" vertex="1" parent="n.p-resp">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st14" value="Record" 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="1160" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p-aud" value="&lt;b&gt;Access log&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;recruiter + admin&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="1160" y="160" width="170" 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+gvaeTAAACg0lEQVRoge3ZvY9NQRjH8c96WSQEK4igoBDsahRIiAixOpVqkdh/QIFoNZQ6RKVSUKDQSUhoCKKhEpIl2U2Q2AiCeC3m3ji7e8/LnXOuu5HzTU5y7jwzzzO/OzNn5jyHmu7SU6DOURzBwpKxLuBs4/4qvuE43pX0m8kW/K7oOp3we79R9gzLynRwRo59YxnnBejHHSVE5AkoMsXK0o+7WBHTOE/Av2K9MBJti5gVGfAGnqfYlmE4wud63MIevC3aKFbAEL5m2PdiVYTfAdzWhojYKdSbYevJsefRFFFoYceOwAOMptj6igbPoClit5x9IlbAhsbVSQZwGfuyKsUK+I5PKbZ5mJvT/iPGC8TZjJn4mVYhVsA6jKTYFuA1FmXEGoyMO4XYRZw2/wn/7ocW5Tt0YGOMHYGT0veBJVjZony7sH9cx5c2Yl3Dr7Z6l2BYdYe52Gt2Vgeny1EimlpAt6kFdJtaQLepBXSbWsAkvihxbomhSgFHMR+r8aRCv6Uoeph7OKndroLtps1h7sqk3/cwVpHvTKoQ8Fs4syf5JZz7O04VAh7iVeN+MOHzMo5hjZAjGsKLCuK1RZE1cCxR/yZ2Zvjrw8sCPguvgdhXyheNzo7jYqNssZCRGxHWQJOlWC6k0t9jPw6Z+H68FAcxJ7I/qaSNwNoWdc80bGP+TqMePBY+ZmzNiXUqJVbmCMQK2Jao04sTQu6maT/QsB1OlI0Kj9c0zscIyEtzDONSi/LPeCQknfqFuZ3kB55ik6nT9KWw6JM7dp+QxGpFr5BIi6LOSnSaWkC3+e8FfP4nvUjnq4zUehEWCztrt55A5/I6WCTdvVDYgMp894rhjYlHkpppyR/H7ROP9EXb4wAAAABJRU5ErkJggg==;" vertex="1" parent="n.p-aud">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_spine16" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="220" y="200" as="sourcePoint" />
            <mxPoint x="250" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine17" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="470" y="200" as="sourcePoint" />
            <mxPoint x="500" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine18" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="690" y="200" as="sourcePoint" />
            <mxPoint x="710" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine19" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="900" y="200" as="sourcePoint" />
            <mxPoint x="930" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine20" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1120" y="200" as="sourcePoint" />
            <mxPoint x="1150" y="200" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e21" value="404, not 403" 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.p-blkd" target="n.p-resp">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="810" y="350" />
              <mxPoint x="1030" y="350" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Privacy and Authorization — Every Read Path" 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="1280" 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="1280" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg22" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="40" y="400" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg23" 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="390" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg24" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="200" y="400" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg25" 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="230" y="390" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg26" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="370" y="400" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg27" 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="400" y="390" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg28" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="480" y="400" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" 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="510" y="390" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="620" y="400" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" 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="650" y="390" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#b85450;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="780" y="400" as="sourcePoint" />
            <mxPoint x="800" y="400" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg33" 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="810" y="390" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="A blocked viewer gets not-found rather than forbidden, so the check itself leaks nothing." 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="420" width="1280" 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="440" width="1280" 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="460" width="1280" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
