<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Integration Surface — Sources, Platform, Destinations" id="09-integration-surface">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="700" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_h1" value="Sources (read-only)" 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="450" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.pg1" value="&lt;b&gt;PostgreSQL · orders&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;62 tables&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="70" y="190" width="390" height="70" 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.pg1">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pg2" value="&lt;b&gt;PostgreSQL · billing&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;44 tables&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="70" y="290" width="390" height="70" 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.pg2">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pg3" value="&lt;b&gt;PostgreSQL · identity&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;31 tables&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="70" y="380" width="390" height="70" 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+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.pg3">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_h5" value="CDC Platform" 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="450" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_box6" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="530" y="80" width="450" height="490" as="geometry" />
        </mxCell>
        <mxCell id="n.cap" value="&lt;b&gt;Capture plane&lt;/b&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="560" y="90" width="390" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico7" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.cap">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.log" value="&lt;b&gt;Change log&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;7-day retention&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="560" y="190" width="390" height="70" 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+gvaeTAAABIUlEQVRoge2WTWrCUBRGjz+F0g04aVyBQhchdAfdRbfQPXSoky5AKM6KCxEpHThwBUoHRVJ1EC2P16b3vUG8z3gPXHgJN3A+CMkHhnHZNLzrDLjSEPmDb2AJbEMfeAZ2ic1rTOJZAsL+fErSTefsv04pIDo1pYXUsQDauAFyNYtyRKe2cx4BT949TbbAUFvCMAzjf0L6Tx/oVC0SwRJ4D10eUHyPtVupOzlwdxSUqkSP9Fpqi8ILkAOkJv+LWpW5s6T2Ab5OYhHPj5dUncfAPXBbqU4cH8CbtoRhGEaB23U6wANwo+TiswEmwCL0gSn6VdmfuSTt/omz0KQnpCst1L4LJY8F0MYNsFazKGclLbh1+vEw15XpxJEDL9oShmFUzB4YGqve0UGgewAAAABJRU5ErkJggg==;" vertex="1" parent="n.log">
          <mxGeometry x="21" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.arch" value="&lt;b&gt;Changelog archive&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;13 months&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="560" y="290" width="390" height="70" 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+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.arch">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.proj" value="&lt;b&gt;Projection plane&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="560" y="380" width="390" height="70" 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.proj">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.ctl" value="&lt;b&gt;Control plane&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="560" y="480" width="390" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico11" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.ctl">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_h12" value="Destinations and dependencies" 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="1010" y="60" width="450" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.bq" value="&lt;b&gt;BigQuery&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;mirror + changelog&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="1040" y="190" width="390" height="70" 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,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;" vertex="1" parent="n.bq">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.idx" value="&lt;b&gt;Search index&lt;/b&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="1040" y="290" width="390" height="70" 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+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.idx">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.hooks" value="&lt;b&gt;Cache and webhook fan-out&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;14 partners&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="1040" y="380" width="390" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico15" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.hooks">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e16" value="WAL" 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.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.pg1" target="n.cap">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="490" y="230" />
              <mxPoint x="490" y="110" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e17" value="WAL decode" 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.pg2" target="n.cap">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="510" y="330" />
              <mxPoint x="510" y="130" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e18" value="WAL · masked" 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.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.pg3" target="n.cap">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="540" y="420" />
              <mxPoint x="540" y="140" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e19" value="MERGE micro-batch" 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.25;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.cap" target="n.bq">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="980" y="110" />
              <mxPoint x="980" y="230" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e20" value="upsert" 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.cap" target="n.idx">
          <mxGeometry relative="1" x="-0.6" as="geometry">
            <Array as="points">
              <mxPoint x="1000" y="130" />
              <mxPoint x="1000" y="330" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e21" value="async events" 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.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.cap" target="n.hooks">
          <mxGeometry relative="1" x="-0.5" as="geometry">
            <Array as="points">
              <mxPoint x="1020" y="140" />
              <mxPoint x="1020" y="420" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Integration Surface — Sources, Platform, Destinations" 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="1410" 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="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg22" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="40" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg23" 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="600" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg24" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="230" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg25" 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="600" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg26" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="380" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg27" 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="410" y="600" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg28" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="520" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" 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="540" y="600" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="630" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="Application we own" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="660" y="600" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="790" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" 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="820" y="600" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="950" y="610" as="sourcePoint" />
            <mxPoint x="980" y="610" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg35" 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="980" y="600" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1070" y="610" as="sourcePoint" />
            <mxPoint x="1100" y="610" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg37" 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="1100" y="600" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Three source interfaces in, three sinks out, one contract each way. The snapshot read path and heartbeat probe are internal to capture (view 14)." 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="630" width="1410" 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="650" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Data Platform 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="660" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
