<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="High-Level Architecture — from issuance to a dead key" id="02-high-level-architecture">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1760" pageHeight="590" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Issue" 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="180" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.console" value="&lt;b&gt;Developer console&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cloud Run&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="40" y="150" width="180" 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,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;" vertex="1" parent="n.console">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.mgmt" value="&lt;b&gt;Management API&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;GKE&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="270" width="180" 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,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;" vertex="1" parent="n.mgmt">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st4" 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="330" y="60" width="180" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.store" value="&lt;b&gt;Credential store&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cloud Spanner&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="330" y="150" width="180" 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.store">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pepper" value="&lt;b&gt;Digest pepper&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cloud KMS 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="330" y="270" width="180" 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+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.pepper">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st7" value="Distribute" 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="620" y="60" width="180" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.revlog" value="&lt;b&gt;Revocation log&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;append-only, ordered&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="620" y="90" width="180" 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+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.revlog">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.feed" value="&lt;b&gt;Revocation feed&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Pub/Sub + poll&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="620" y="210" width="180" 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+gvaeTAAABIUlEQVRoge2WTWrCUBRGjz+F0g04aVyBQhchdAfdRbfQPXSoky5AKM6KCxEpHThwBUoHRVJ1EC2P16b3vUG8z3gPXHgJN3A+CMkHhnHZNLzrDLjSEPmDb2AJbEMfeAZ2ic1rTOJZAsL+fErSTefsv04pIDo1pYXUsQDauAFyNYtyRKe2cx4BT949TbbAUFvCMAzjf0L6Tx/oVC0SwRJ4D10eUHyPtVupOzlwdxSUqkSP9Fpqi8ILkAOkJv+LWpW5s6T2Ab5OYhHPj5dUncfAPXBbqU4cH8CbtoRhGEaB23U6wANwo+TiswEmwCL0gSn6VdmfuSTt/omz0KQnpCst1L4LJY8F0MYNsFazKGclLbh1+vEw15XpxJEDL9oShmFUzB4YGqve0UGgewAAAABJRU5ErkJggg==;" vertex="1" parent="n.feed">
          <mxGeometry x="21" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.snap" value="&lt;b&gt;Snapshot objects&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cloud Storage&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="620" y="330" width="180" 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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAEeElEQVR4nO2bXWgcVRTH/2dmdvOx2ZitycYUlIRaEVdUsEatoOmmFfRJaBKjgiDogy8BQS2NFhatxA9UsPZBfLOiJamUolg17aZYSoykEKRaoYaK0jTf22bzsbuzM8cH0TZJ78w0M7u9aeb3tnPOuefMn3tn794zC/j4+Pj4rF3IysgJaDMLDe0MXl+sgryEQCOVZWf3UwJ5sY8ATsSCqWE+lx8JVRemvOKgrZ+bjGz4rU4kgiIKnMnNtqz2mweA/EioeiZT3yqyCwVAnqIFqehaYKJWZNJEBgrl04H69KULTDrrSlrk/38csYaAWXm1cV5iTAcjnNEsn2//IRSgbPPoMB5adOlEYGt+i92Aeq/WBELf1cZ5ydQzd6aMUa3Kia94CawRhDNAJkYf3RwlQ29RCA0MTClQD1Uf+em0F2NLPwPGm+97UjHywwTsZcbLYHSZbJyaaG58l232MU6QWoCx5sYHAXwOcMUSk8LgVyabG19ym0NqAQi8CxbLlIlf59ZY0E0OqQUAlnwPLYURmUiVxdwkkF0A1c6BSLH1sUJyAfhnazvNZmbVX91kkFoAZvVtACy0gz+8ub9/wU0OqQWoTQ78AOYOAPpyK38WNUJvuM0h/UYomhz8eHzb/d/DMJ9lhTcQaAwmDkaTgz96Mb70AgBAtHfgDIBdhRhb6iVQDJzPAEJMPxLotnfkmpXFeUd6nxly6utcAEYNwMKTFc/j3KAIvziWu4oMTDTnSTESQCpSIptQgECVPgRgsCAVFRGlJjMXLsn1iOzWx+J9KDVYjYPheE3JwMLxupiZDlZC5ZRZznsiiT8vXOuafHx85MTyIfjYR9+WpCnzNIFqrPxkhcETYS794nDH41mRj1CA1u7u4Pjfd5xXM/XrClNecTBKzk5Hbzld19PWlruSXbgPGJnQWlf7zQOAmm1Yd34isF1kFwqgGKtz2l8JMlbQGzSDF9P58stPm1QdZtC+x0emBspe6g06jfMQNXdThMxyd73B7A3fDKPq68svnRhs/8q2x7fpy5YmEC/qDTqJ85JH3j+VUjP1fm/QCaviRKipa6GeTOMpYm4A0TSTcrCvs3zAi7GlFyD+1tzzMI29AIKgf5c1sbkjvjv96Y23VbzY00aGm/GlXgLxN9NxgD8BsLz9RfTC1B/zO93mkFoAVmknrGpkfrUpwaVuckgtADE9YOMSppL567k3yLaHe2SKO0dOkFsARr+Nx8WScPn12xskxdwNwOop33W4g4S/9JwgtQBHOyuPg/AcgPklJgZoz8N66D23OaTfByQ7K/Zte2fuqKlzOxPdCmDMBB869lpoKOnB+NILAAC9O0IjAD4oxNhSL4Fi4HgGEHD3pv3be+39OMKLPjuL8xI+l136VpkQxwIwEAGw1YHfiuI8hTzpDZoznhQjAYaSHxXZhAKc/P2uIRB9V5iSike+9Mx4cLL6gMhufWyUSCj33v7LPQrRSg5HywC4eoFppQQuPLFRzVWEDS37V3Cs9sCxxBbhX2Z8fHx8fNYy/wA4QG+5LfyYpwAAAABJRU5ErkJggg==;" vertex="1" parent="n.snap">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st11" value="Verify" 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="900" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.point" value="&lt;b&gt;Verification point&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;sidecar or library&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="900" y="90" width="190" 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+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.point">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.proj" value="&lt;b&gt;Local projection&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;digest map + overlay&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="900" y="210" width="190" 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.proj">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.stale" value="&lt;b&gt;Staleness guard&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;120 s ceiling&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="900" y="330" width="190" 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.stale">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st15" value="Observe" 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="1200" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.counters" value="&lt;b&gt;Usage counters&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Bigtable&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="1200" y="150" width="170" 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,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;" vertex="1" parent="n.counters">
          <mxGeometry x="12" y="39" 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;BigQuery + GCS&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="1200" y="270" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico17" 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="_st18" value="Contain" 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="1480" y="60" width="240" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.leak" value="&lt;b&gt;Leak response&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;revoke · downgrade · quarantine&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="1480" y="150" width="240" 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+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.leak">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.canary" value="&lt;b&gt;Revocation canary&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;issue → revoke → re-verify&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="1480" y="270" width="240" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico20" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.canary">
          <mxGeometry x="9" y="33" 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="230" y="250" as="sourcePoint" />
            <mxPoint x="320" 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="520" y="250" as="sourcePoint" />
            <mxPoint x="610" 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="810" y="250" as="sourcePoint" />
            <mxPoint x="890" 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="1100" y="250" as="sourcePoint" />
            <mxPoint x="1190" 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="1380" y="250" as="sourcePoint" />
            <mxPoint x="1470" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e26" value="write record" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.mgmt" target="n.store">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="280" y="320" />
              <mxPoint x="280" y="200" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e27" value="digest" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.mgmt" target="n.pepper">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="130" y="450" />
              <mxPoint x="420" y="450" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e28" value="revocation intake" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.store" target="n.revlog">
          <mxGeometry relative="1" x="-0.4" as="geometry" />
        </mxCell>
        <mxCell id="_e29" value="" 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=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.feed" target="n.proj">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e30" value="warm start" 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=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.3;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.snap" target="n.proj">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="850" y="380" />
              <mxPoint x="850" y="260" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e31" value="sampled use" 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=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.point" target="n.counters">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e32" value="bulk revoke" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=block;endFill=1;strokeColor=#b85450;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.leak" target="n.revlog">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1600" y="60" />
              <mxPoint x="710" y="60" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e33" value="measures p99" 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=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.canary" target="n.feed">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1600" y="470" />
              <mxPoint x="710" y="470" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="High-Level Architecture — from issuance to a dead key" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1670" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1670" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" 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="70" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="200" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" 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="230" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="360" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" 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="390" y="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="480" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg41" 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="510" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg42" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="640" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg43" 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="670" y="490" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg44" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="770" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg45" 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="800" y="490" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg46" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="910" y="500" as="sourcePoint" />
            <mxPoint x="930" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg47" value="synchronous" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="940" y="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg48" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1030" y="500" as="sourcePoint" />
            <mxPoint x="1050" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg49" 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="1060" y="490" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg50" 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="1160" y="500" as="sourcePoint" />
            <mxPoint x="1190" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg51" 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="1190" y="490" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg52" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#b85450;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1250" y="500" as="sourcePoint" />
            <mxPoint x="1270" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg53" 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="1280" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="The verification stage makes no call to the issue or record stages. That is the architecture." 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="1670" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="540" width="1670" 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="550" width="1670" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
