diff --git a/assets/dbp-official-signature-pdf-upload.metadata.json b/assets/dbp-official-signature-pdf-upload.metadata.json
index 87c28e85287b9509f27eaf7a6a9f525f063f8680..1cc498df169ff56461e7af9359b677e9fbe0c84d 100644
--- a/assets/dbp-official-signature-pdf-upload.metadata.json
+++ b/assets/dbp-official-signature-pdf-upload.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Hochladen von PDF-Dokumenten, um sie mit einer Amtssignatur zu versehen",
     "en": "Allows upload of PDF-documents to officially sign them"
   },
-  "subscribe": "lang:lang,entry-point-url:global-entry-point-url"
+  "subscribe": "lang:lang,entry-point-url:global-entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
 }
diff --git a/assets/dbp-qualified-signature-pdf-upload.metadata.json b/assets/dbp-qualified-signature-pdf-upload.metadata.json
index 387ca6adaa0fc9f344a338d143d9a81bcac90e55..49e8971a17fd2c53a0357ada2b95289b3ac61eba 100644
--- a/assets/dbp-qualified-signature-pdf-upload.metadata.json
+++ b/assets/dbp-qualified-signature-pdf-upload.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Hochladen von PDF-Dokumenten, um sie mit einer persönlichen elektronischen Signatur zu versehen",
     "en": "Allows upload of PDF-documents to personally sign them"
   },
-  "subscribe": "lang:lang,entry-point-url:global-entry-point-url"
+  "subscribe": "lang:lang,entry-point-url:global-entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
 }
diff --git a/assets/dbp-signature-verification-full.metadata.json b/assets/dbp-signature-verification-full.metadata.json
index 2ee917e5d707f236837d704bd1c6e851bce38619..f2e3061bd7adddd750953001f2808bf2682a75d3 100644
--- a/assets/dbp-signature-verification-full.metadata.json
+++ b/assets/dbp-signature-verification-full.metadata.json
@@ -14,5 +14,5 @@
     "de": "Erlaubt das Verifizieren von signierten PDF-Dokumenten",
     "en": "Allows verification of signed PDF-documents"
   },
-  "subscribe": "lang:lang,entry-point-url:global-entry-point-url"
+  "subscribe": "lang:lang,entry-point-url:global-entry-point-url,nextcloud-web-app-password-url:nextcloud-web-app-password-url,nextcloud-webdav-url:nextcloud-webdav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url"
 }
diff --git a/assets/dbp-signature.html.ejs b/assets/dbp-signature.html.ejs
index fefbca285c082856477a9ccf3078b1d74e3bd154..eb464ba2406a7a5e1a69e4d06a5d701441cfa8da 100644
--- a/assets/dbp-signature.html.ejs
+++ b/assets/dbp-signature.html.ejs
@@ -55,7 +55,7 @@
 
 <body>
 <dbp-provider id="root"
-              init="lang=de,global-entry-point-url=<%= entryPointURL %>">
+              init="lang=de,global-entry-point-url=<%= entryPointURL %>,nextcloud-web-app-password-url=<%= nextcloudWebAppPasswordURL %>,nextcloud-webdav-url=<%= nextcloudWebDavURL %>,nextcloud-name=<%= nextcloudName %>,nextcloud-file-url=<%= nextcloudFileURL %>">
     <<%= name %>
         subscribe="lang:lang,entry-point-url:global-entry-point-url"
         src="<%= getUrl(name + '.topic.metadata.json') %>"
diff --git a/rollup.config.js b/rollup.config.js
index 531806e292398744d1fa5acc5d4cca429365e3b7..1b7dad105edf7ebba405a5eec1beafd53e2d9458 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -223,11 +223,7 @@ export default (async () => {return {
         consts({
           environment: build,
           buildinfo: getBuildInfo(),
-          nextcloudWebAppPasswordURL: nextcloudWebAppPasswordURL,
-          nextcloudWebDavURL: nextcloudWebDavURL,
           nextcloudBaseURL: nextcloudBaseURL,
-          nextcloudFileURL: nextcloudFileURL,
-          nextcloudName: nextcloudName,
         }),
         emitEJS({
           src: 'assets',
@@ -241,7 +237,11 @@ export default (async () => {return {
             },
             name: pkg.name,
             entryPointURL: entryPointURL,
+            nextcloudWebAppPasswordURL: nextcloudWebAppPasswordURL,
+            nextcloudWebDavURL: nextcloudWebDavURL,
             nextcloudBaseURL: nextcloudBaseURL,
+            nextcloudFileURL: nextcloudFileURL,
+            nextcloudName: nextcloudName,
             keyCloakServer: keyCloakServer,
             keyCloakBaseURL: keyCloakBaseURL,
             keyCloakClientId: keyCloakClientId,
diff --git a/src/dbp-official-signature-pdf-upload.js b/src/dbp-official-signature-pdf-upload.js
index 47154f05c62c2b1dcb049d06fa24e7ccedfbe7d1..113602b387fdfaf6b677012960446e40e145b67a 100644
--- a/src/dbp-official-signature-pdf-upload.js
+++ b/src/dbp-official-signature-pdf-upload.js
@@ -12,9 +12,6 @@ import {classMap} from 'lit-html/directives/class-map.js';
 import {FileSource} from '@dbp-toolkit/file-handling';
 import JSONLD from "@dbp-toolkit/common/jsonld";
 import {TextSwitch} from './textswitch.js';
-import nextcloudWebAppPasswordURL from 'consts:nextcloudWebAppPasswordURL';
-import nextcloudWebDavURL from 'consts:nextcloudWebDavURL';
-import nextcloudName from 'consts:nextcloudName';
 import {FileSink} from "@dbp-toolkit/file-handling";
 import {name as pkgName} from './../package.json';
 import {getPDFSignatureCount} from './utils.js';
@@ -27,6 +24,10 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
         super();
         this.lang = i18n.language;
         this.entryPointUrl = commonUtils.getAPiUrl();
+        this.nextcloudWebAppPasswordURL = "";
+        this.nextcloudWebDavURL = "";
+        this.nextcloudName = "";
+        this.nextcloudFileURL = "";
         this.signedFiles = [];
         this.signedFilesCount = 0;
         this.signedFilesToDownload = 0;
@@ -64,6 +65,10 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
         return this.getProperties({
             lang: { type: String },
             entryPointUrl: { type: String, attribute: 'entry-point-url' },
+            nextcloudWebAppPasswordURL: { type: String, attribute: 'nextcloud-web-app-password-url' },
+            nextcloudWebDavURL: { type: String, attribute: 'nextcloud-webdav-url' },
+            nextcloudName: { type: String, attribute: 'nextcloud-name' },
+            nextcloudFileURL: { type: String, attribute: 'nextcloud-file-url' },
             signedFiles: { type: Array, attribute: false },
             signedFilesCount: { type: Number, attribute: false },
             signedFilesToDownload: { type: Number, attribute: false },
@@ -778,9 +783,10 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
                             context="${i18n.t('qualified-pdf-upload.upload-field-label')}"
                             allowed-mime-types="application/pdf"
                             enabled-sources="local${this.showTestNextcloudFilePicker ? ",nextcloud" : ""}"
-                            nextcloud-auth-url="${nextcloudWebAppPasswordURL}"
-                            nextcloud-web-dav-url="${nextcloudWebDavURL}"
-                            nextcloud-name="${nextcloudName}"
+                            nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
+                            nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
+                            nextcloud-name="${this.nextcloudName}"
+                            nextcloud-file-url="${this.nextcloudFileURL}"
                             decompress-zip
                             lang="${this.lang}"
                             ?disabled="${this.signingProcessActive}"
@@ -918,9 +924,10 @@ class OfficialSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitElem
                 context="${i18n.t('qualified-pdf-upload.save-field-label', {count: this.signedFilesToDownload})}"
                 filename="signed-documents.zip"
                 enabled-destinations="local${this.showTestNextcloudFilePicker ? ",nextcloud" : ""}"
-                nextcloud-auth-url="${nextcloudWebAppPasswordURL}"
-                nextcloud-web-dav-url="${nextcloudWebDavURL}"
-                nextcloud-name="${nextcloudName}"
+                nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
+                nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
+                nextcloud-name="${this.nextcloudName}"
+                nextcloud-file-url="${this.nextcloudFileURL}"
                 lang="${this.lang}"
                 ></dbp-file-sink>
         `;
diff --git a/src/dbp-qualified-signature-pdf-upload.js b/src/dbp-qualified-signature-pdf-upload.js
index e1cd03dfe5f67bb0e77c6ec6573cc24bfa463162..b283788bd658b6e719f2aaec118b1020871509e3 100644
--- a/src/dbp-qualified-signature-pdf-upload.js
+++ b/src/dbp-qualified-signature-pdf-upload.js
@@ -12,9 +12,6 @@ import {classMap} from 'lit-html/directives/class-map.js';
 import {FileSource} from '@dbp-toolkit/file-handling';
 import JSONLD from "@dbp-toolkit/common/jsonld";
 import {TextSwitch} from './textswitch.js';
-import nextcloudWebAppPasswordURL from 'consts:nextcloudWebAppPasswordURL';
-import nextcloudWebDavURL from 'consts:nextcloudWebDavURL';
-import nextcloudName from 'consts:nextcloudName';
 import {FileSink} from "@dbp-toolkit/file-handling";
 import {name as pkgName} from './../package.json';
 import {getPDFSignatureCount} from './utils.js';
@@ -27,6 +24,10 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
         super();
         this.lang = i18n.language;
         this.entryPointUrl = commonUtils.getAPiUrl();
+        this.nextcloudWebAppPasswordURL = "";
+        this.nextcloudWebDavURL = "";
+        this.nextcloudName = "";
+        this.nextcloudFileURL = "";
         this.externalAuthInProgress = false;
         this.signedFiles = [];
         this.signedFilesCount = 0;
@@ -68,6 +69,10 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
         return this.getProperties({
             lang: { type: String },
             entryPointUrl: { type: String, attribute: 'entry-point-url' },
+            nextcloudWebAppPasswordURL: { type: String, attribute: 'nextcloud-web-app-password-url' },
+            nextcloudWebDavURL: { type: String, attribute: 'nextcloud-webdav-url' },
+            nextcloudName: { type: String, attribute: 'nextcloud-name' },
+            nextcloudFileURL: { type: String, attribute: 'nextcloud-file-url' },
             signedFiles: { type: Array, attribute: false },
             signedFilesCount: { type: Number, attribute: false },
             signedFilesToDownload: { type: Number, attribute: false },
@@ -937,9 +942,10 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
                             context="${i18n.t('qualified-pdf-upload.upload-field-label')}"
                             allowed-mime-types="application/pdf"
                             enabled-sources="local${this.showTestNextcloudFilePicker ? ",nextcloud" : ""}"
-                            nextcloud-auth-url="${nextcloudWebAppPasswordURL}"
-                            nextcloud-web-dav-url="${nextcloudWebDavURL}"
-                            nextcloud-name="${nextcloudName}"
+                            nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
+                            nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
+                            nextcloud-name="${this.nextcloudName}"
+                            nextcloud-file-url="${this.nextcloudFileURL}"
                             decompress-zip
                             lang="${this.lang}"
                             ?disabled="${this.signingProcessActive}"
@@ -1089,9 +1095,10 @@ class QualifiedSignaturePdfUpload extends ScopedElementsMixin(DBPSignatureLitEle
                 context="${i18n.t('qualified-pdf-upload.save-field-label', {count: this.signedFilesToDownload})}"
                 filename="signed-documents.zip"
                 enabled-destinations="local${this.showTestNextcloudFilePicker ? ",nextcloud" : ""}"
-                nextcloud-auth-url="${nextcloudWebAppPasswordURL}"
-                nextcloud-web-dav-url="${nextcloudWebDavURL}"
-                nextcloud-name="${nextcloudName}"
+                nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
+                nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
+                nextcloud-name="${this.nextcloudName}"
+                nextcloud-file-url="${this.nextcloudFileURL}"
                 lang="${this.lang}"
                 ></dbp-file-sink>
         `;
diff --git a/src/dbp-signature-verification-full.js b/src/dbp-signature-verification-full.js
index 3c18ae00a8ca666a788f1692fc532dedaa9a3e8e..40453ac8ffb26182173b402bf6171ea745032a66 100644
--- a/src/dbp-signature-verification-full.js
+++ b/src/dbp-signature-verification-full.js
@@ -10,9 +10,6 @@ import * as commonStyles from '@dbp-toolkit/common/styles';
 import {classMap} from 'lit-html/directives/class-map.js';
 import {FileSource} from '@dbp-toolkit/file-handling';
 import JSONLD from "@dbp-toolkit/common/jsonld";
-import nextcloudWebAppPasswordURL from 'consts:nextcloudWebAppPasswordURL';
-import nextcloudWebDavURL from 'consts:nextcloudWebDavURL';
-import nextcloudName from 'consts:nextcloudName';
 import {name as pkgName} from './../package.json';
 
 const i18n = createI18nInstance();
@@ -22,6 +19,10 @@ class SignatureVerificationFull extends ScopedElementsMixin(DBPSignatureLitEleme
         super();
         this.lang = i18n.language;
         this.entryPointUrl = commonUtils.getAPiUrl();
+        this.nextcloudWebAppPasswordURL = "";
+        this.nextcloudWebDavURL = "";
+        this.nextcloudName = "";
+        this.nextcloudFileURL = "";
         this.verifiedFiles = [];
         this.verifiedFilesCount = 0;
         this.errorFiles = [];
@@ -55,6 +56,10 @@ class SignatureVerificationFull extends ScopedElementsMixin(DBPSignatureLitEleme
         return this.getProperties({
             lang: { type: String },
             entryPointUrl: { type: String, attribute: 'entry-point-url' },
+            nextcloudWebAppPasswordURL: { type: String, attribute: 'nextcloud-web-app-password-url' },
+            nextcloudWebDavURL: { type: String, attribute: 'nextcloud-webdav-url' },
+            nextcloudName: { type: String, attribute: 'nextcloud-name' },
+            nextcloudFileURL: { type: String, attribute: 'nextcloud-file-url' },
             verifiedFiles: { type: Array, attribute: false },
             verifiedFilesCount: { type: Number, attribute: false },
             queuedFilesCount: { type: Number, attribute: false },
@@ -695,9 +700,10 @@ class SignatureVerificationFull extends ScopedElementsMixin(DBPSignatureLitEleme
                             id="file-source"
                             allowed-mime-types="application/pdf"
                             enabled-sources="local${this.showTestNextcloudFilePicker ? ",nextcloud" : ""}"
-                            nextcloud-auth-url="${nextcloudWebAppPasswordURL}"
-                            nextcloud-web-dav-url="${nextcloudWebDavURL}"
-                            nextcloud-name="${nextcloudName}"
+                            nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
+                            nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
+                            nextcloud-name="${this.nextcloudName}"
+                            nextcloud-file-url="${this.nextcloudFileURL}"
                             decompress-zip
                             lang="${this.lang}"
                             ?disabled="${this.verificationProcessActive}"
diff --git a/vendor/toolkit b/vendor/toolkit
index 1972b2cea217bc732da1d65499e6070e8fcb0a8f..c5b4c4132b27d1ca61aa81418f07bdcde20f8523 160000
--- a/vendor/toolkit
+++ b/vendor/toolkit
@@ -1 +1 @@
-Subproject commit 1972b2cea217bc732da1d65499e6070e8fcb0a8f
+Subproject commit c5b4c4132b27d1ca61aa81418f07bdcde20f8523