<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Discord Bot Platform — Security and Trust Zones" id="18-security-trust-zones">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1700" pageHeight="550" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_box1" value="Internet / bot side" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b85450;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#b85450;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="90" width="380" height="320" 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+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="_box1">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.t-bot" value="&lt;b&gt;Bot Process&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="60" y="120" width="340" 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+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.t-bot">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-hook" value="&lt;b&gt;Bot Endpoint&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="60" y="200" width="340" 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,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.t-hook">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box5" value="Edge" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b85450;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#b85450;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="450" y="90" width="380" height="320" 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="_box5">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.t-ws" value="&lt;b&gt;WebSocket Edge&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;WAF, TLS 1.2+&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="470" y="120" width="340" 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.t-ws">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-api" value="&lt;b&gt;API Edge&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;token auth, buckets&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="470" y="220" width="340" 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.t-api">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-egr" value="&lt;b&gt;Egress Pool&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;SSRF-safe&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="470" y="320" width="340" 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+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.t-egr">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box10" value="Platform" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b85450;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#b85450;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="860" y="90" width="380" height="320" 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+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="_box10">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.t-gw" value="&lt;b&gt;Gateway Shards&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="880" y="120" width="340" 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+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.t-gw">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-ix" value="&lt;b&gt;Interaction Service&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="880" y="200" width="340" 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,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.t-ix">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-tok" value="&lt;b&gt;Token Service&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="880" y="280" width="340" height="50" 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,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;" vertex="1" parent="n.t-tok">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box15" value="Data and trusted chat service" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#b85450;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=34;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#b85450;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1270" y="90" width="380" height="320" 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+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="_box15">
          <mxGeometry x="9" y="7" width="20" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.t-reg" value="&lt;b&gt;Registry&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="1290" y="120" width="340" height="50" 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+gvaeTAAACE0lEQVRoge3av48OQRzH8dc5HEEu5KLgRKFRiP9AI6hEJ0L8AUq/EoWWRKOS+BNERyFKjUYnF52EBMkRCeHh4jy4U+xJNs/NPHZ39tl9nmTfyRQ7me93Pp9nZ2d2Zx462mWqYLs5nMZx7F27bopfeIrL+FY2eApX8RWrLZcbZcVP494YCP9XHoREbhhi4CbOlnU9QoLDPWbgIK6MTkt9xAxcwsYmhVQlZuBkoyoSCBnYij1NC6lKyMCuxlUkEDJQdHEbC+p4UHv4U0OeWcOn9cLMK764PKmjwzWu/aevh6GgVMe9xPjkXKlD6BDOYCUxD5yoEpRq4ADuJ+ZIopaHpk1S78BrXFfPLHQep8oGpRp4ob4hNKeCgdQhtCMxPs/2KkGpd+AovqhnFpqtElTHSlyp47qY+FmoM9A2nYG26Qy0TWegbSbJQD9UOUkGHoUqQ1so83gXSdLDY7ypSVSMi5jJXb/F/qLBsV2JxTJJEllWcPejzBC6bfS/PNkb8sxA3fdY45CBn5G2i1UVlWRToO53rHHIwCfZudQgTe1YL1v/gbQl1jj0QbOCZzgyUH8OH3AXnxMEFuEHtuWud5dNcEH7Z2L5siQ7HS3MZrwcA+H5cickNDYL9WXnwtGnvwX2hSqHTaMLOIb3I5FTnqWqgTtxCx+1N3z6sn8JrKPMacw0Dstu5eBCM0pW8RyvGuyzozB/AWL0/uqUk81mAAAAAElFTkSuQmCC;" vertex="1" parent="n.t-reg">
          <mxGeometry x="12" y="21" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-kv" value="&lt;b&gt;Key Vault&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="1290" y="200" width="340" height="50" 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,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;" vertex="1" parent="n.t-kv">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.t-chat" value="&lt;b&gt;Chat Service&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="1290" y="280" width="340" height="50" 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+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.t-chat">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e20" value="WSS + token" 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.t-bot" target="n.t-ws">
          <mxGeometry relative="1" x="-0.1" as="geometry" />
        </mxCell>
        <mxCell id="_e21" value="authenticated frames" 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.t-ws" target="n.t-gw">
          <mxGeometry relative="1" x="0.1" as="geometry">
            <Array as="points">
              <mxPoint x="640" y="200" />
              <mxPoint x="1050" y="200" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e22" value="entitlements" 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.t-gw" target="n.t-reg">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e23" value="signed payload" 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;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.t-ix" target="n.t-egr">
          <mxGeometry relative="1" x="-0.3" as="geometry">
            <Array as="points">
              <mxPoint x="850" y="230" />
              <mxPoint x="850" y="360" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e24" value="validated URL only" 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;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.t-egr" target="n.t-hook">
          <mxGeometry relative="1" x="-0.2" as="geometry">
            <Array as="points">
              <mxPoint x="440" y="360" />
              <mxPoint x="440" y="230" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e25" value="hash keys" 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.t-tok" target="n.t-kv">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1260" y="310" />
              <mxPoint x="1260" y="230" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Discord Bot Platform — Security and Trust Zones" 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="1610" 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="1610" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg26" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="40" y="480" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg27" 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="480" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg28" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="230" y="480" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" 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="480" width="110" 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="380" y="480" 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="410" y="480" 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="540" y="480" 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="570" y="480" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="710" y="480" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" 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="740" y="480" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="820" y="490" as="sourcePoint" />
            <mxPoint x="850" y="490" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg37" 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="850" y="480" width="70" 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="510" width="1610" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Integration 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="520" width="1610" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
