<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Interface Catalogue" 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="530" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_h1" value="Consumers" 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.i-web" value="&lt;b&gt;Browser editor&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="70" y="90" width="390" height="50" 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+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.i-web">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.i-ssh" value="&lt;b&gt;SSH client&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="70" y="170" width="390" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.i-ssh">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.i-agent" value="&lt;b&gt;Agent runtime&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="70" y="250" width="390" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico4" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.i-agent">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.i-adm" value="&lt;b&gt;Admin console&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="70" y="340" width="390" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+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.i-adm">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_h6" value="CDE 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="_box7" 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="320" as="geometry" />
        </mxCell>
        <mxCell id="n.i-core" value="&lt;b&gt;Workspace API &amp; edge&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;one authz model&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="560" y="210" 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+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.i-core">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_h9" value="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.i-git" value="&lt;b&gt;Git forge&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="90" width="390" height="50" 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,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;" vertex="1" parent="n.i-git">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.i-idp" value="&lt;b&gt;Identity provider&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="170" width="390" height="50" 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,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.i-idp">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.i-pkg" value="&lt;b&gt;Package registries&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="250" width="390" height="50" 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+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.i-pkg">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.i-obj" value="&lt;b&gt;Object storage&lt;/b&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="340" width="390" height="50" 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.i-obj">
          <mxGeometry x="12" y="21" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e14" value="WebSocket" 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.2;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-web" target="n.i-core">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="490" y="120" />
              <mxPoint x="490" y="220" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e15" value="SSH" 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.4;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-ssh" target="n.i-core">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="510" y="200" />
              <mxPoint x="510" y="240" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e16" value="API" 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.6;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-agent" target="n.i-core">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="520" y="280" />
              <mxPoint x="520" y="250" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e17" value="policy" 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.8;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-adm" target="n.i-core">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="540" y="370" />
              <mxPoint x="540" y="270" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e18" value="clone" 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.2;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-core" target="n.i-git">
          <mxGeometry relative="1" x="0.7" as="geometry">
            <Array as="points">
              <mxPoint x="980" y="220" />
              <mxPoint x="980" y="120" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e19" value="OIDC" 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.4;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-core" target="n.i-idp">
          <mxGeometry relative="1" x="0.7" as="geometry">
            <Array as="points">
              <mxPoint x="990" y="240" />
              <mxPoint x="990" y="200" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e20" value="proxied" 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.6;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-core" target="n.i-pkg">
          <mxGeometry relative="1" x="-0.6" as="geometry">
            <Array as="points">
              <mxPoint x="1000" y="250" />
              <mxPoint x="1000" y="280" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e21" value="snapshots" 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.8;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.i-core" target="n.i-obj">
          <mxGeometry relative="1" x="0.2" as="geometry">
            <Array as="points">
              <mxPoint x="1020" y="270" />
              <mxPoint x="1020" y="370" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Interface Catalogue" 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=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="440" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg23" 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="440" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg24" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="200" y="440" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg25" 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="230" y="440" width="130" 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="440" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg27" 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="410" y="440" width="110" 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="540" y="440" 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="570" y="440" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="660" y="450" as="sourcePoint" />
            <mxPoint x="680" y="450" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg31" 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="690" y="440" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Four inbound interfaces under one authorisation model, four outbound. Usage events leave on the lifecycle stream, not through this surface; the only outbound path a workspace itself may take is the proxy." 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="470" 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="490" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner 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="500" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
