<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Critical Flow — verifying a credential on the request path" id="12-verify-a-request">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1660" pageHeight="860" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.client" value="&lt;b&gt;Customer app&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="80" width="200" height="660" as="geometry" />
        </mxCell>
        <mxCell id="_ico1" 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="n.client">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.gw" value="&lt;b&gt;API gateway&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="280" y="80" width="200" height="660" 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+gvaeTAAABkUlEQVRoge2Zu0oDURCGv1UJCjYSGwVvIFhZiZ1YqI2vYLAQ1MJGtPJVfAMrwUoEaysJKNhYWNlIGkHBFCGx2ESOq7vOmjl7EpgPBnbD5J/5yTl7mYBhGEZIBj3qLgObQBl48lRHjQhYBA6BC+AVaDlxEq61dOaBfeAMeOF7w8l49NXEUI7cSWAdWGvHdI7vjuVpKg9SA6fALjCgUHOG9L3XBJ6BhkKdL1bIXh6SqDl6tT9y31HeM5WCDXRiW9KcZElEEiEP7EiSNNa0L+YkSXmuQlpspNTdAo6dc9EvH8LAXcrnq/8R6+UlJMIMhMYMJKgC98qamWgauCZ+B1gCbhR1M9E0cE78MNZoHxeCpoGyczyuqJuJ5o3sALgESsCeom4mmgYmgFtFPRF2GQ2NGQiNGQiNGQhN3xtw78SjwMIvObPFtPKDEvGTbZI3UmatV3Q/wJIMttI4Emo1cQYA7hKaEhTpBSKcwXLf7wHXQDVYF/moAw+dk+T0y9ccv0X8r00Ww8CIQKsOfHTdkWEYhgqfzyqDzDcUYCYAAAAASUVORK5CYII=;" vertex="1" parent="n.gw">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.sidecar" value="&lt;b&gt;Verification sidecar&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="510" y="80" width="200" height="660" 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+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.sidecar">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.proj" value="&lt;b&gt;Local projection&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="730" y="80" width="200" height="660" 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+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.proj">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.guard" value="&lt;b&gt;Staleness guard&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="960" y="80" width="200" height="660" 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+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.guard">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.svc" value="&lt;b&gt;Product service&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1180" y="80" width="200" height="660" 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+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.svc">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.tel" value="&lt;b&gt;Telemetry&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1400" y="80" width="200" height="660" 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.tel">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_m8" value="1. GET /v1/payments  Authorization: sk_live_…" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1394;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1394;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.client" target="n.gw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m9" value="2. ext_authz over localhost" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2000;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2000;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.gw" target="n.sidecar">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m10" value="3. parse prefix, extract kid" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2606;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2970;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.sidecar" target="n.sidecar">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="690" y="250" />
              <mxPoint x="690" y="280" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m11" value="4. HMAC(secret, cached pepper)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3394;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3758;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.sidecar" target="n.sidecar">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="690" y="310" />
              <mxPoint x="690" y="330" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m12" value="5. digest lookup" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4182;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4182;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sidecar" target="n.proj">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m13" value="6. record or miss — constant cost" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4788;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4788;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.proj" target="n.sidecar">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m14" value="7. revocation overlay check" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.5394;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5394;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sidecar" target="n.proj">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m15" value="8. how stale is this projection?" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6000;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6000;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sidecar" target="n.guard">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m16" value="9. fresh — 1.4 s behind the feed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6606;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6606;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.guard" target="n.sidecar">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m17" value="10. VALID + context + staleness" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7212;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7212;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sidecar" target="n.gw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m18" value="11. forward with context header" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7818;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7818;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.gw" target="n.svc">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m19" value="12. sampled event, off the hot path" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#d79b00;exitX=0.5;exitY=0.8424;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8424;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sidecar" target="n.tel">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m20" value="13. past 120 s: deny privileged scopes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;dashed=1;strokeColor=#b85450;fontColor=#b85450;exitX=0.5;exitY=0.9030;exitDx=0;exitDy=0;entryX=0.5;entryY=0.9030;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.guard" target="n.gw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="Critical Flow — verifying a credential on the request 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="1570" 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="1570" height="10" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Nothing on this page crosses a network boundary except the customer's own request. Budget: p99 ≤ 3 ms in-process." 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="790" width="1570" 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="810" width="1570" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Security Platform 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="820" width="1570" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
