diff --git a/.docs/images/architecture.drawio b/.docs/images/architecture.drawio
index 2559a653790f7a5de96948d00394017982d8073a..588ede83e27578b9cb42d9b10551609333fae6d3 100644
--- a/.docs/images/architecture.drawio
+++ b/.docs/images/architecture.drawio
@@ -975,113 +975,95 @@
     </mxGraphModel>
   </diagram>
   <diagram id="DNBJDzVGt1bZ_wE9aRrb" name="Authentication (TU)">
-    <mxGraphModel dx="1434" dy="822" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
+    <mxGraphModel dx="1182" dy="678" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
       <root>
         <mxCell id="0" />
         <mxCell id="1" parent="0" />
-        <mxCell id="UK1E1MY9NPGJr35xhmfM-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="QHHrKqhJkxuvhbEd7n-v-1" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="618" y="253" as="sourcePoint" />
-            <mxPoint x="677.5" y="221" as="targetPoint" />
-          </mxGeometry>
-        </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" parent="1" source="0UriubutAV_ndhbAIQOG-1" target="lwbPPWB284nzco3shXtu-11" edge="1">
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-3" style="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;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-1" target="H5geC8BQpTcnQeXLB8gK-2">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="0UriubutAV_ndhbAIQOG-1" value="SATOSA" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
-          <mxGeometry x="447.5" y="414" width="170" height="210" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-4" value="Force" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-3">
+          <mxGeometry x="0.0781" y="-2" relative="1" as="geometry">
+            <mxPoint x="7" y="2" as="offset" />
+          </mxGeometry>
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="OTtTGdUG0AnkBV5d_5uu-1" target="OTtTGdUG0AnkBV5d_5uu-2" edge="1">
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-1" target="H5geC8BQpTcnQeXLB8gK-5">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="OTtTGdUG0AnkBV5d_5uu-1" value="SAML 2.0 IdP&lt;br&gt;(Frontend)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="467.5" y="444" width="130" height="40" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-20" value="OIDC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-9">
+          <mxGeometry x="-0.0962" y="-1" relative="1" as="geometry">
+            <mxPoint x="6" y="-1" as="offset" />
+          </mxGeometry>
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="OTtTGdUG0AnkBV5d_5uu-2" target="OTtTGdUG0AnkBV5d_5uu-3" edge="1">
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-1" target="H5geC8BQpTcnQeXLB8gK-7">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="OTtTGdUG0AnkBV5d_5uu-2" value="Middleware" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="467.5" y="504" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="OTtTGdUG0AnkBV5d_5uu-3" value="SAML 2.0 SP&lt;br&gt;(Backend)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="467.5" y="564" width="130" height="40" as="geometry" />
-        </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-2" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/.well-known/openid-configuration&quot;&gt;JSON&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
-          <mxGeometry x="307.5" y="181" width="70" height="90" as="geometry" />
-        </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="h4DClbYJ9orVhpn0rvY8-3" target="OTtTGdUG0AnkBV5d_5uu-3" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="410" y="576" as="targetPoint" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-19" value="OIDC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-10">
+          <mxGeometry x="-0.1281" y="2" relative="1" as="geometry">
+            <mxPoint x="-2" as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="h4DClbYJ9orVhpn0rvY8-3" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/endpoint&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
-          <mxGeometry x="307.5" y="539" width="70" height="90" as="geometry" />
-        </mxCell>
-        <mxCell id="QHHrKqhJkxuvhbEd7n-v-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=8.600000000000023;fillColor=#dae8fc;strokeColor=#000000;" parent="1" vertex="1">
-          <mxGeometry x="677.5" y="248" width="50" height="64" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-1" target="H5geC8BQpTcnQeXLB8gK-6">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="QHHrKqhJkxuvhbEd7n-v-2" value="auth-db" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;spacing=-1;" parent="1" vertex="1">
-          <mxGeometry x="660" y="314" width="85" height="20" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-18" value="OIDC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-11">
+          <mxGeometry x="0.1536" relative="1" as="geometry">
+            <mxPoint x="9" as="offset" />
+          </mxGeometry>
         </mxCell>
-        <mxCell id="hp2oGXdcphavrsRCR3EN-1" value="&lt;b&gt;EntityID&amp;nbsp;&lt;/b&gt;https://test.dbrepo.tuwien.ac.at/saml2/backend" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
-          <mxGeometry x="10" y="10" width="440" height="20" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-1" value="&lt;b&gt;Auth Service&lt;/b&gt;&lt;br&gt;Keycloak" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="455" y="335" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;" parent="1" source="lwbPPWB284nzco3shXtu-11" target="h4DClbYJ9orVhpn0rvY8-3" edge="1">
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-2" target="H5geC8BQpTcnQeXLB8gK-8">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-11" value="TU SSO" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
-          <mxGeometry x="50" y="474" width="170" height="90" as="geometry" />
-        </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-12" value="SimpleSAML" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
-          <mxGeometry x="70" y="504" width="130" height="40" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-16" value="LDAP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-12">
+          <mxGeometry x="-0.0986" y="-1" relative="1" as="geometry">
+            <mxPoint as="offset" />
+          </mxGeometry>
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="lwbPPWB284nzco3shXtu-18" target="OTtTGdUG0AnkBV5d_5uu-1" edge="1">
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;startArrow=classic;startFill=1;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-2" target="H5geC8BQpTcnQeXLB8gK-13">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-18" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/saml2/backend&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
-          <mxGeometry x="307.5" y="419" width="70" height="90" as="geometry" />
-        </mxCell>
-        <mxCell id="tOMRmRFzJHC1-SXyWV1O-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeColor=#000000;startArrow=classic;startFill=1;dashed=1;" parent="1" edge="1">
-          <mxGeometry x="-0.028" relative="1" as="geometry">
-            <mxPoint x="532" y="126" as="sourcePoint" />
-            <mxPoint as="offset" />
-            <mxPoint x="532" y="174" as="targetPoint" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-17" value="LDAP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-15">
+          <mxGeometry x="0.0932" y="-2" relative="1" as="geometry">
+            <mxPoint x="6" y="1" as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="tOMRmRFzJHC1-SXyWV1O-4" value="Researcher" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="1" vertex="1">
-          <mxGeometry x="517.5" y="42" width="30" height="60" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-2" value="&lt;b&gt;Identity Service&lt;/b&gt;&lt;br&gt;OpenLDAP" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="224" y="335" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-4" value="&lt;a href=&quot;https://test.dbrepo.tuwien.ac.at/api/auth/realms/dbrepo/broker/saml/endpoint/descriptor&quot;&gt;XML&lt;br&gt;Metadata&lt;/a&gt;" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
-          <mxGeometry x="307.5" y="300" width="70" height="90" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-5" value="&lt;b&gt;UI&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="530" y="470" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-5" value="Keycloak" style="rounded=0;whiteSpace=wrap;html=1;fillColor=default;dashed=1;verticalAlign=top;" parent="1" vertex="1">
-          <mxGeometry x="447.5" y="175" width="170" height="210" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-6" value="&lt;b&gt;Metadata Service&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="380" y="470" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-7" target="6Mvu0cpha-60HerBRlcp-10" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-7" value="&lt;b&gt;Data Service&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="455" y="530" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-7" value="OIDC IdP" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="467.5" y="205" width="130" height="40" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-8" value="&lt;b&gt;Broker Service&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="224" y="530" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-5" target="0UriubutAV_ndhbAIQOG-1" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-13" value="&lt;b&gt;Dashboard UI&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="150" y="470" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-10" value="SAML 2.0 SP&lt;br&gt;(Identity Broker)" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
-          <mxGeometry x="467.5" y="325" width="130" height="40" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-21" target="H5geC8BQpTcnQeXLB8gK-1">
+          <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="lwbPPWB284nzco3shXtu-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="h4DClbYJ9orVhpn0rvY8-2" edge="1">
-          <mxGeometry relative="1" as="geometry">
-            <mxPoint x="467.5" y="226" as="targetPoint" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-23" value="SAML 2.0" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="H5geC8BQpTcnQeXLB8gK-22">
+          <mxGeometry x="0.0113" y="1" relative="1" as="geometry">
+            <mxPoint as="offset" />
           </mxGeometry>
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-4" target="6Mvu0cpha-60HerBRlcp-10" edge="1">
-          <mxGeometry relative="1" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-21" value="&lt;b&gt;IdP&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#000000;" vertex="1" parent="1">
+          <mxGeometry x="455" y="190" width="130" height="40" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="6Mvu0cpha-60HerBRlcp-15" target="OTtTGdUG0AnkBV5d_5uu-1" edge="1">
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="H5geC8BQpTcnQeXLB8gK-24" target="H5geC8BQpTcnQeXLB8gK-1">
           <mxGeometry relative="1" as="geometry" />
         </mxCell>
-        <mxCell id="6Mvu0cpha-60HerBRlcp-15" value="JSON&lt;br&gt;(Denylist)" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=17;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
-          <mxGeometry x="667.5" y="419" width="70" height="90" as="geometry" />
+        <mxCell id="H5geC8BQpTcnQeXLB8gK-24" value="Browser / REST API" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="730" y="325" width="30" height="60" as="geometry" />
         </mxCell>
       </root>
     </mxGraphModel>
diff --git a/.docs/installation.md b/.docs/installation.md
index ae807e69d0d980baa972e3010f7a5c0005657a8d..79530f31ee8ee69ffdab2c0078921948229a6db2 100644
--- a/.docs/installation.md
+++ b/.docs/installation.md
@@ -22,13 +22,10 @@ curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-service
 
 ## Requirements
 
-We only support the Debian 12 operating system officially. In theory, any DEB-based operating system (e.g. Ubuntu)
-should be compatible. Any modern hardware suffices, we recommend a dedicated virtual machine with the following
-settings.
+We recommend a dedicated virtual machine with the following system requirements:
 
 - min. 8 vCPU cores
-- min. 8GB free RAM memory
-- min. 200GB free SSD storage
+- min. 20GB free RAM memory
 
 Since DBRepo is intended to be a publicly available repository, an optional fixed/static IP-address with optional
 SSL/TLS certificate is recommended. Follow the [secure installation](#secure-installation) guide.