Files
2025-05-28 09:55:51 +08:00

4 lines
78 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than draw.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1506px" height="703px" viewBox="-0.5 -0.5 1506 703" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-04-16T01:49:06.832Z&quot; agent=&quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36&quot; etag=&quot;q_KA9E9dfKCUAEtvcYzm&quot; version=&quot;24.0.4&quot; type=&quot;google&quot; scale=&quot;1&quot; border=&quot;0&quot;&gt;&#10; &lt;diagram name=&quot;Page-1&quot; id=&quot;dEXsVE0vjIXhCuDCOHxd&quot;&gt;&#10; &lt;mxGraphModel dx=&quot;1738&quot; dy=&quot;925&quot; grid=&quot;1&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;1&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10; &lt;root&gt;&#10; &lt;mxCell id=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-138&quot; value=&quot;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=none;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;20&quot; y=&quot;270&quot; width=&quot;750&quot; height=&quot;600&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-100&quot; value=&quot;Unencrypted KV DB&quot; style=&quot;shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;40&quot; y=&quot;650&quot; width=&quot;123&quot; height=&quot;70&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-103&quot; value=&quot;Secret management,&amp;lt;div&amp;gt;record storage&amp;lt;/div&amp;gt;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=block;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-2&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-13&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-2&quot; value=&quot;&amp;lt;span style=&amp;quot;font-size: 15px;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;KERI Agent&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;div&amp;gt;&amp;lt;span style=&amp;quot;font-size: 15px;&amp;quot;&amp;gt;(Signify-TS)&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;550&quot; y=&quot;520&quot; width=&quot;150&quot; height=&quot;75&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-4&quot; value=&quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Storage (encrypted by keys on device)&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;930&quot; y=&quot;588&quot; width=&quot;120&quot; height=&quot;72&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-7&quot; value=&quot;Other KERI agents&amp;lt;br&amp;gt;(enterprise services, wallets)&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1170&quot; y=&quot;618&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-81&quot; value=&quot;Manage AIDs, ACDCs&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;startArrow=classic;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-2&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;740&quot; y=&quot;370&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;Array as=&quot;points&quot;&gt;&#10; &lt;mxPoint x=&quot;940&quot; y=&quot;539&quot; /&gt;&#10; &lt;mxPoint x=&quot;940&quot; y=&quot;578&quot; /&gt;&#10; &lt;/Array&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-92&quot; value=&quot;Fetch other KERLs&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-17&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-0.3377&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-17&quot; value=&quot;KERI Cardano Backer&amp;lt;br&amp;gt;(witness on Cardano)&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1160&quot; y=&quot;448&quot; width=&quot;130&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-27&quot; value=&quot;Secure Enclave/TEE&quot; style=&quot;shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;41.5&quot; y=&quot;450&quot; width=&quot;123&quot; height=&quot;70&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-28&quot; value=&quot;Pluggable Storage&quot; style=&quot;shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;41.5&quot; y=&quot;330&quot; width=&quot;123&quot; height=&quot;70&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-13&quot; value=&quot;Storage Service &amp;amp;amp; Key Interface&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;320&quot; y=&quot;410&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-76&quot; value=&quot;Remote&amp;lt;br&amp;gt;Cardano node&quot; style=&quot;ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1150&quot; y=&quot;330&quot; width=&quot;120&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-77&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-17&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-76&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-82&quot; value=&quot;KERI Protocols&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;startArrow=block;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-2&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;740&quot; y=&quot;400&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-91&quot; value=&quot;Push KEL&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-17&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;0.1667&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-94&quot; value=&quot;KERI Protocols&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-7&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; value=&quot;KERIA&amp;lt;br&amp;gt;(KERI Cloud Agent)&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;920&quot; y=&quot;563&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-86&quot; value=&quot;KERI witnesses&amp;lt;br&amp;gt;(non ledger)&quot; style=&quot;ellipse;shape=cloud;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1310&quot; y=&quot;448&quot; width=&quot;120&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-95&quot; value=&quot;Fetch other KERLs&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.55;entryY=0.95;entryDx=0;entryDy=0;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-78&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-86&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-115&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-99&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-114&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-147&quot; value=&quot;Scan OOBIs&quot; style=&quot;edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];&quot; parent=&quot;-sI0BkKoBasHyYSTC1lD-115&quot; connectable=&quot;0&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;0.1218&quot; y=&quot;-1&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-99&quot; value=&quot;UI&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;320&quot; y=&quot;655&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-101&quot; value=&quot;User-relevant APIs&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=block;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-2&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-99&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-0.0671&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-102&quot; value=&quot;Store non-critical&amp;lt;br&amp;gt;data&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-99&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-100&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-0.1083&quot; y=&quot;-5&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;-1&quot; as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-104&quot; value=&quot;Keys, seeds&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=45;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-13&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-27&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-0.0533&quot; y=&quot;4&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-105&quot; value=&quot;Push/pull &amp;lt;font color=&amp;quot;#ff3333&amp;quot;&amp;gt;encrypted&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;records&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=block;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-13&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-28&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;0.0478&quot; y=&quot;-13&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-108&quot; value=&quot;&amp;lt;font style=&amp;quot;font-size: 17px;&amp;quot;&amp;gt;Native Device&amp;lt;/font&amp;gt;&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=19;fontStyle=1&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;48.5&quot; y=&quot;280&quot; width=&quot;121.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-111&quot; value=&quot;&amp;lt;span style=&amp;quot;font-size: 17px;&amp;quot;&amp;gt;Ionic WebView&amp;lt;/span&amp;gt;&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=19;fontStyle=1&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;440&quot; y=&quot;280&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-114&quot; value=&quot;Camera&amp;lt;br&amp;gt;Plugin&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;41.5&quot; y=&quot;744&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-118&quot; value=&quot;&amp;lt;font color=&amp;quot;#ff3333&amp;quot;&amp;gt;Backup &amp;amp;amp; restore&amp;lt;/font&amp;gt;&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=15;entryPerimeter=0;startArrow=block;startFill=1;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-13&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-28&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry relative=&quot;1&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-124&quot; value=&quot;Migrations&quot; style=&quot;edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.855;entryY=1;entryDx=0;entryDy=-4.35;entryPerimeter=0;&quot; parent=&quot;1&quot; source=&quot;-sI0BkKoBasHyYSTC1lD-13&quot; target=&quot;-sI0BkKoBasHyYSTC1lD-28&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;-0.2348&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint as=&quot;offset&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-136&quot; value=&quot;Cloud hosted&amp;lt;br&amp;gt;(by us)&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;48.5&quot; y=&quot;170&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-137&quot; value=&quot;External&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;188.5&quot; y=&quot;170&quot; width=&quot;120&quot; height=&quot;60&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-139&quot; value=&quot;&quot; style=&quot;endArrow=none;dashed=1;html=1;rounded=0;strokeWidth=2;&quot; parent=&quot;1&quot; edge=&quot;1&quot;&gt;&#10; &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10; &lt;mxPoint x=&quot;190&quot; y=&quot;870&quot; as=&quot;sourcePoint&quot; /&gt;&#10; &lt;mxPoint x=&quot;190&quot; y=&quot;270&quot; as=&quot;targetPoint&quot; /&gt;&#10; &lt;/mxGeometry&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-144&quot; value=&quot;&quot; style=&quot;shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://keri.one/wp-content/uploads/2023/05/keri-logo-header.png;rotation=90;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;1367&quot; y=&quot;508&quot; width=&quot;247.4&quot; height=&quot;68&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;mxCell id=&quot;-sI0BkKoBasHyYSTC1lD-148&quot; value=&quot;&amp;lt;font color=&amp;quot;#ff3333&amp;quot;&amp;gt;feature todo&amp;lt;/font&amp;gt;&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10; &lt;mxGeometry x=&quot;328.5&quot; y=&quot;185&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10; &lt;/mxCell&gt;&#10; &lt;/root&gt;&#10; &lt;/mxGraphModel&gt;&#10; &lt;/diagram&gt;&#10;&lt;/mxfile&gt;&#10;"><defs/><g><g><rect x="0" y="100" width="750" height="600" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><path d="M 20 495 C 20 486.72 47.53 480 81.5 480 C 97.81 480 113.45 481.58 124.99 484.39 C 136.52 487.21 143 491.02 143 495 L 143 535 C 143 543.28 115.47 550 81.5 550 C 47.53 550 20 543.28 20 535 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 143 495 C 143 503.28 115.47 510 81.5 510 C 47.53 510 20 503.28 20 495" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 528px; margin-left: 21px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Unencrypted KV DB</div></div></div></foreignObject><text x="82" y="531" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Unencrypted KV DB</text></switch></g></g><g><path d="M 521.88 368.75 L 475 368.75 L 475 270 L 426.37 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 528.88 368.75 L 521.88 372.25 L 521.88 365.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 421.12 270 L 428.12 266.5 L 426.37 270 L 428.12 273.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 319px; margin-left: 475px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Secret management,<div>record storage</div></div></div></div></foreignObject><text x="475" y="322" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Secret management,...</text></switch></g></g><g><rect x="530" y="350" width="150" height="75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 148px; height: 1px; padding-top: 388px; margin-left: 531px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="font-size: 15px;"><b>KERI Agent</b></span><div><span style="font-size: 15px;">(Signify-TS)</span></div></div></div></div></foreignObject><text x="605" y="391" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">KERI Agent...</text></switch></g></g><g><rect x="910" y="418" width="120" height="72" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 454px; margin-left: 911px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><br /><br />Storage (encrypted by keys on device)</div></div></div></foreignObject><text x="970" y="458" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Storage (encrypted b...</text></switch></g></g><g><rect x="1150" y="448" width="120" height="60" fill="#f5f5f5" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 478px; margin-left: 1151px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Other KERI agents<br />(enterprise services, wallets)</div></div></div></foreignObject><text x="1210" y="482" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Other KERI agents...</text></switch></g></g><g><path d="M 686.37 368.75 L 920 368.75 L 920 408 L 906.37 408" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 681.12 368.75 L 688.12 365.25 L 686.37 368.75 L 688.12 372.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 901.12 408 L 908.12 404.5 L 906.37 408 L 908.12 411.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 369px; margin-left: 830px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Manage AIDs, ACDCs</div></div></div></foreignObject><text x="830" y="372" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Manage AIDs, ACDCs</text></switch></g></g><g><path d="M 1140 323 L 990 323 L 990 386.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 990 391.88 L 986.5 384.88 L 990 386.63 L 993.5 384.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 323px; margin-left: 1068px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Fetch other KERLs</div></div></div></foreignObject><text x="1068" y="326" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Fetch other KERLs</text></switch></g></g><g><rect x="1140" y="278" width="130" height="60" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 128px; height: 1px; padding-top: 308px; margin-left: 1141px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">KERI Cardano Backer<br />(witness on Cardano)</div></div></div></foreignObject><text x="1205" y="312" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">KERI Cardano Backer...</text></switch></g></g><g><path d="M 21.5 295 C 21.5 286.72 49.03 280 83 280 C 99.31 280 114.95 281.58 126.49 284.39 C 138.02 287.21 144.5 291.02 144.5 295 L 144.5 335 C 144.5 343.28 116.97 350 83 350 C 49.03 350 21.5 343.28 21.5 335 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 144.5 295 C 144.5 303.28 116.97 310 83 310 C 49.03 310 21.5 303.28 21.5 295" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 328px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Secure Enclave/TEE</div></div></div></foreignObject><text x="83" y="331" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Secure Enclave/TEE</text></switch></g></g><g><path d="M 21.5 175 C 21.5 166.72 49.03 160 83 160 C 99.31 160 114.95 161.58 126.49 164.39 C 138.02 167.21 144.5 171.02 144.5 175 L 144.5 215 C 144.5 223.28 116.97 230 83 230 C 49.03 230 21.5 223.28 21.5 215 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 144.5 175 C 144.5 183.28 116.97 190 83 190 C 49.03 190 21.5 183.28 21.5 175" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 208px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Pluggable Storage</div></div></div></foreignObject><text x="83" y="211" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Pluggable Storage</text></switch></g></g><g><rect x="300" y="240" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 270px; margin-left: 301px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Storage Service &amp; Key Interface</div></div></div></foreignObject><text x="360" y="274" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Storage Service &amp; Ke...</text></switch></g></g><g><path d="M 1160 180 C 1136 180 1130 200 1149.2 204 C 1130 212.8 1151.6 232 1167.2 224 C 1178 240 1214 240 1226 224 C 1250 224 1250 208 1235 200 C 1250 184 1226 168 1205 176 C 1190 164 1166 164 1160 180 Z" fill="#f5f5f5" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 200px; margin-left: 1131px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Remote<br />Cardano node</div></div></div></foreignObject><text x="1190" y="204" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Remote...</text></switch></g></g><g><path d="M 1205 278 L 1205 258 L 1196 258 L 1196 242.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1196 237.12 L 1199.5 244.12 L 1196 242.37 L 1192.5 244.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><path d="M 891.88 438 L 790 438 L 790 406.25 L 686.37 406.25" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 898.88 438 L 891.88 441.5 L 891.88 434.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 681.12 406.25 L 688.12 402.75 L 686.37 406.25 L 688.12 409.75 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 422px; margin-left: 790px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">KERI Protocols</div></div></div></foreignObject><text x="790" y="425" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">KERI Protocols</text></switch></g></g><g><path d="M 960 393 L 960 293 L 1133.63 293" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1138.88 293 L 1131.88 296.5 L 1133.63 293 L 1131.88 289.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 293px; margin-left: 1024px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Push KEL</div></div></div></foreignObject><text x="1024" y="296" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Push KEL</text></switch></g></g><g><path d="M 1026.37 438 L 1085 438 L 1085 478 L 1143.63 478" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1021.12 438 L 1028.12 434.5 L 1026.37 438 L 1028.12 441.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1148.88 478 L 1141.88 481.5 L 1143.63 478 L 1141.88 474.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 458px; margin-left: 1085px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">KERI Protocols</div></div></div></foreignObject><text x="1085" y="461" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">KERI Protocols</text></switch></g></g><g><rect x="900" y="393" width="120" height="60" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 423px; margin-left: 901px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">KERIA<br />(KERI Cloud Agent)</div></div></div></foreignObject><text x="960" y="427" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">KERIA...</text></switch></g></g><g><path d="M 1320 298 C 1296 298 1290 318 1309.2 322 C 1290 330.8 1311.6 350 1327.2 342 C 1338 358 1374 358 1386 342 C 1410 342 1410 326 1395 318 C 1410 302 1386 286 1365 294 C 1350 282 1326 282 1320 298 Z" fill="#f5f5f5" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 318px; margin-left: 1291px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">KERI witnesses<br />(non ledger)</div></div></div></foreignObject><text x="1350" y="322" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">KERI witnesses...</text></switch></g></g><g><path d="M 1020 408 L 1356 408 L 1356 360.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1356 355.12 L 1359.5 362.12 L 1356 360.37 L 1352.5 362.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 408px; margin-left: 1215px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Fetch other KERLs</div></div></div></foreignObject><text x="1215" y="411" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Fetch other KERLs</text></switch></g></g><g><path d="M 360 545 L 360 604 L 147.87 604" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 142.62 604 L 149.62 600.5 L 147.87 604 L 149.62 607.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 604px; margin-left: 263px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Scan OOBIs</div></div></div></foreignObject><text x="263" y="607" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Scan OOBIs</text></switch></g></g><g><rect x="300" y="485" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 515px; margin-left: 301px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UI</div></div></div></foreignObject><text x="360" y="519" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI</text></switch></g></g><g><path d="M 521.88 406.25 L 360 406.25 L 360 478.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 528.88 406.25 L 521.88 409.75 L 521.88 402.75 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 360 483.88 L 356.5 476.88 L 360 478.63 L 363.5 476.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 406px; margin-left: 414px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">User-relevant APIs</div></div></div></foreignObject><text x="414" y="410" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">User-relevant APIs</text></switch></g></g><g><path d="M 300 515 L 149.37 515" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 144.12 515 L 151.12 511.5 L 149.37 515 L 151.12 518.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 510px; margin-left: 229px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Store non-critical<br />data</div></div></div></foreignObject><text x="229" y="513" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Store non-critical...</text></switch></g></g><g><path d="M 300 285 L 222.25 285 L 222.25 325 L 150.87 325" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 145.62 325 L 152.62 321.5 L 150.87 325 L 152.62 328.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 300px; margin-left: 226px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Keys, seeds</div></div></div></foreignObject><text x="226" y="303" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Keys, seeds</text></switch></g></g><g><path d="M 291.88 255 L 222.25 255 L 222.25 195 L 150.87 195" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 298.88 255 L 291.88 258.5 L 291.88 251.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 145.62 195 L 152.62 191.5 L 150.87 195 L 152.62 198.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 220px; margin-left: 235px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Push/pull <font color="#ff3333">encrypted</font><br />records</div></div></div></foreignObject><text x="235" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Push/pull encrypted...</text></switch></g></g><g><rect x="28.5" y="110" width="121.5" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 120px; height: 1px; padding-top: 125px; margin-left: 29px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><font style="font-size: 17px;">Native Device</font></div></div></div></foreignObject><text x="89" y="131" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px" text-anchor="middle" font-weight="bold">Native Device</text></switch></g></g><g><rect x="420" y="110" width="140" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 125px; margin-left: 421px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><span style="font-size: 17px;">Ionic WebView</span></div></div></div></foreignObject><text x="490" y="131" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px" text-anchor="middle" font-weight="bold">Ionic WebView</text></switch></g></g><g><rect x="21.5" y="574" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 604px; margin-left: 23px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Camera<br />Plugin</div></div></div></foreignObject><text x="82" y="608" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Camera...</text></switch></g></g><g><path d="M 360 231.88 L 360 175 L 150.87 175" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 360 238.88 L 356.5 231.88 L 363.5 231.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 145.62 175 L 152.62 171.5 L 150.87 175 L 152.62 178.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 175px; margin-left: 285px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><font color="#ff3333">Backup &amp; restore</font></div></div></div></foreignObject><text x="285" y="178" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Backup &amp; restore</text></switch></g></g><g><path d="M 300 270 L 126.75 270 L 126.68 232.02" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 126.67 226.77 L 130.18 233.76 L 126.68 232.02 L 123.18 233.77 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 270px; margin-left: 216px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Migrations</div></div></div></foreignObject><text x="216" y="273" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">Migrations</text></switch></g></g><g><rect x="28.5" y="0" width="120" height="60" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 30px; margin-left: 30px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Cloud hosted<br />(by us)</div></div></div></foreignObject><text x="89" y="34" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Cloud hosted...</text></switch></g></g><g><rect x="168.5" y="0" width="120" height="60" fill="#f5f5f5" stroke="#666666" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 30px; margin-left: 170px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">External</div></div></div></foreignObject><text x="229" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">External</text></switch></g></g><g><path d="M 170 700 L 170 100" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/></g><g><image x="1346.5" y="337.5" width="247.4" height="68" xlink:href="data:image/png;base64,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" preserveAspectRatio="none" transform="rotate(90,1470.7,372)"/></g><g><rect x="308.5" y="15" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 30px; margin-left: 310px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font color="#ff3333">feature todo</font></div></div></div></foreignObject><text x="339" y="34" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">feature to...</text></switch></g></g></g></svg>