diff --git a/assets/vpu-signature.html.ejs b/assets/vpu-signature.html.ejs
index 6ac97ef621917b80b714be7ed4386f823676dc18..a7ce783a921ba2545429a6f7e8e3222fc6d2a4ef 100644
--- a/assets/vpu-signature.html.ejs
+++ b/assets/vpu-signature.html.ejs
@@ -126,7 +126,7 @@
 </head>
 
 <body>
-<vpu-app lang="de" src="<%= geturl('vpu-signature.topic.metadata.json') %>" entry-point-url="<%= entryPointURL %>" base-path="<%= geturl('') %>"><vpu-spinner></vpu-spinner></vpu-app>
+<vpu-app-shell lang="de" src="<%= geturl('vpu-signature.topic.metadata.json') %>" entry-point-url="<%= entryPointURL %>" base-path="<%= geturl('') %>"><vpu-spinner></vpu-spinner></vpu-app-shell>
 
 <!-- Error handling for too old browsers -->
 <script src="<%= geturl('local/vpu-signature/browser-check.js') %>" defer></script>
diff --git a/package-lock.json b/package-lock.json
index 2e78241b592bbfcb1a3dd5fa9289042c3a9f4ec4..a1c1693218fb4800762ffbb126b97ddf0cf683a4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3658,9 +3658,9 @@
       "dev": true
     },
     "path-to-regexp": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz",
-      "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA=="
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.1.0.tgz",
+      "integrity": "sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw=="
     },
     "path-type": {
       "version": "4.0.0",
@@ -5013,11 +5013,11 @@
       }
     },
     "universal-router": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/universal-router/-/universal-router-8.3.0.tgz",
-      "integrity": "sha512-cBkihRoHvRQAjdUnDE1GGuuw/TPAIi8z2pEsSmUVAWLeZdgjHzzAb1+0VOO6NvBOvySItOTQikzaGlRxRdJBnA==",
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/universal-router/-/universal-router-9.0.1.tgz",
+      "integrity": "sha512-cDKiUa0/XuEXVlbvngqW1gYaolq6/+hNakR291PostYaN5G7w6VOKfk3nIucHlX5MxFnvmSs9KsRgD+6pYwwzg==",
       "requires": {
-        "path-to-regexp": "^3.1.0"
+        "path-to-regexp": "^6.1.0"
       }
     },
     "universalify": {
@@ -5176,10 +5176,33 @@
     "vpu-app-shell": {
       "version": "file:vendor/app-shell",
       "requires": {
-        "i18next": "^19.1.0",
+        "i18next": "^19.4.1",
         "lit-element": "^2.2.1",
         "lit-html": "^1.1.2",
-        "universal-router": "^8.3.0"
+        "universal-router": "^9.0.1"
+      },
+      "dependencies": {
+        "i18next": {
+          "version": "19.4.2",
+          "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.4.2.tgz",
+          "integrity": "sha512-gDctWhIgACc92Uub7vb0GTdtLKZTgiDIiBkGExOSPgqhCSyyPOb8svLxixzzSS3yMjC3fduK/BbkRt95JHwvDw==",
+          "requires": {
+            "@babel/runtime": "^7.3.1"
+          }
+        },
+        "path-to-regexp": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.1.0.tgz",
+          "integrity": "sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw=="
+        },
+        "universal-router": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/universal-router/-/universal-router-9.0.1.tgz",
+          "integrity": "sha512-cDKiUa0/XuEXVlbvngqW1gYaolq6/+hNakR291PostYaN5G7w6VOKfk3nIucHlX5MxFnvmSs9KsRgD+6pYwwzg==",
+          "requires": {
+            "path-to-regexp": "^6.1.0"
+          }
+        }
       }
     },
     "vpu-auth": {
@@ -5201,16 +5224,16 @@
     "vpu-file-upload": {
       "version": "file:vendor/file-upload",
       "requires": {
-        "i18next": "^17.0.3",
+        "i18next": "^19.4.2",
         "lit-element": "^2.1.0",
         "lit-html": "^1.1.1",
         "material-design-icons-svg": "^3.0.0"
       },
       "dependencies": {
         "i18next": {
-          "version": "17.3.1",
-          "resolved": "https://registry.npmjs.org/i18next/-/i18next-17.3.1.tgz",
-          "integrity": "sha512-4nY+yaENaoZKmpbiDXPzucVHCN3hN9Z9Zk7LyQXVOKVIpnYOJ3L/yxHJlBPtJDq3PGgjFwA0QBFm/26Z0iDT5A==",
+          "version": "19.4.2",
+          "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.4.2.tgz",
+          "integrity": "sha512-gDctWhIgACc92Uub7vb0GTdtLKZTgiDIiBkGExOSPgqhCSyyPOb8svLxixzzSS3yMjC3fduK/BbkRt95JHwvDw==",
           "requires": {
             "@babel/runtime": "^7.3.1"
           }
diff --git a/package.json b/package.json
index 837d85bfd75bab911d71b34cbf864694da7a954c..077f85079f0769099e8e78b935e899474ecd0820 100644
--- a/package.json
+++ b/package.json
@@ -50,6 +50,7 @@
     "select2": "^4.0.13",
     "source-sans-pro": "^2.45.0",
     "suggestions": "^1.7.0",
+    "universal-router": "^9.0.1",
     "vpu-auth": "file:./vendor/auth",
     "vpu-common": "file:./vendor/common",
     "vpu-file-upload": "file:./vendor/file-upload",
diff --git a/vendor/app-shell b/vendor/app-shell
index 0419a6e56f66bce5c19d7c844979d40c7f675550..c869443381c0e01ccfc920b2558ec85c02f9e83d 160000
--- a/vendor/app-shell
+++ b/vendor/app-shell
@@ -1 +1 @@
-Subproject commit 0419a6e56f66bce5c19d7c844979d40c7f675550
+Subproject commit c869443381c0e01ccfc920b2558ec85c02f9e83d
diff --git a/vendor/file-upload b/vendor/file-upload
index caa4aab8c9960b37d7a815919b12403cf22b69fb..8ca07137492cf9111247224691e52ea8d296b42d 160000
--- a/vendor/file-upload
+++ b/vendor/file-upload
@@ -1 +1 @@
-Subproject commit caa4aab8c9960b37d7a815919b12403cf22b69fb
+Subproject commit 8ca07137492cf9111247224691e52ea8d296b42d