<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Passkey Authentication Service — High-Level Architecture" id="02-high-level">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1750" pageHeight="590" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Client" 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="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.client" value="&lt;b&gt;WebAuthn client&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;browser or app&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="150" width="190" 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+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="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.auth" value="&lt;b&gt;Authenticator&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;holds the private key&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="270" width="190" 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+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.auth">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st4" value="Edge" 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="280" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.gw" value="&lt;b&gt;Ceremony gateway&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Envoy, TLS, origin check&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="280" y="150" width="200" height="90" 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,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;" vertex="1" parent="n.gw">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.shed" value="&lt;b&gt;Limit and shed&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;challenges first&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="280" y="270" width="200" 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+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.shed">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st7" value="Ceremony plane" 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="530" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.issue" value="&lt;b&gt;Challenge issuer&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;16 bytes, single use&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="530" y="90" width="200" 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,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.issue">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.verify" value="&lt;b&gt;Assertion verifier&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;p99 60 ms&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="530" y="210" width="200" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico9" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.verify">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.attest" value="&lt;b&gt;Attestation verifier&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;registration only&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="530" y="330" width="200" 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,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.attest">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st11" value="Hot-path state" 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="770" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.cstore" value="&lt;b&gt;Ceremony store&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Redis, region-pinned&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="770" y="150" width="200" 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,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;" vertex="1" parent="n.cstore">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.cred" value="&lt;b&gt;Credential store&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;CockroachDB, replicated&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="770" y="270" width="200" 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+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.cred">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st14" value="Verdict" 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="1020" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.signer" value="&lt;b&gt;Verdict signer&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Vault, PKCS#11 HSM&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="1020" y="150" width="190" 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,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;" vertex="1" parent="n.signer">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.risk" value="&lt;b&gt;Risk engine&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;fails open&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="1020" y="270" width="190" 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.risk">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st17" value="Warm and cold planes" 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="1250" y="60" width="220" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.life" value="&lt;b&gt;Lifecycle and recovery&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;devices, revocation&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="1250" y="150" width="220" 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.life">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.ctrl" value="&lt;b&gt;Control plane&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;tenants, policy, MDS&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="1250" y="270" width="220" 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,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;" vertex="1" parent="n.ctrl">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st20" value="Evidence" 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="1520" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.bus" value="&lt;b&gt;Audit stream&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Kafka, buffered&lt;/font&gt;" style="shape=process;size=0.08;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="1520" y="150" width="190" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico21" 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.bus">
          <mxGeometry x="21" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.audit" value="&lt;b&gt;Audit store&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;ClickHouse, MinIO&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="1520" y="270" width="190" 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+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.audit">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </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="240" y="250" as="sourcePoint" />
            <mxPoint x="270" 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="490" y="250" as="sourcePoint" />
            <mxPoint x="520" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine25" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="740" y="250" as="sourcePoint" />
            <mxPoint x="760" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine26" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="980" y="250" as="sourcePoint" />
            <mxPoint x="1010" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine27" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1220" y="250" as="sourcePoint" />
            <mxPoint x="1240" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine28" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1480" y="250" as="sourcePoint" />
            <mxPoint x="1510" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e29" value="outcome" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=open;endFill=0;strokeColor=#d79b00;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=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.verify" target="n.bus">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="630" y="60" />
              <mxPoint x="1620" y="60" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e30" value="revocations" 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=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.ctrl" target="n.cred">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1360" y="450" />
              <mxPoint x="870" y="450" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Passkey Authentication Service — High-Level Architecture" 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="1660" 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="1660" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="40" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="External / third party" 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="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="230" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" 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="250" 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="380" 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="410" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="540" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" 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="570" y="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="660" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" 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="690" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg41" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="820" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg42" value="Queue / topic" 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="850" y="490" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg43" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="950" y="500" as="sourcePoint" />
            <mxPoint x="980" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg44" value="event / async" 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="980" y="490" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg45" 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="1090" y="500" as="sourcePoint" />
            <mxPoint x="1110" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg46" 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="1110" y="490" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="The hot path reads the credential store and mutates the ceremony store. Everything else is a cache, a snapshot or an asynchronous pipeline." 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="1660" 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="1660" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Security &amp; Identity Architecture   ·   date 2026-10" 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="1660" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
