diff --git a/.gitignore b/.gitignore
index 2d7557f85bae096390cceef6762cba22968156da..261bfefe3214ee197837121c21ba5297d03550cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,5 @@ lerna-debug.log*
 .vercel
 
 /certificates/*
+
+.vscode/
diff --git a/ci/gitlab-ci.yml b/ci/gitlab-ci.yml
index 648c3d3cad0e5ab765867c51f9d75254705473ac..c1aec161ca06740cb00bad4168bddcc0f07b506f 100644
--- a/ci/gitlab-ci.yml
+++ b/ci/gitlab-ci.yml
@@ -6,9 +6,9 @@
   - echo "$UBERSPACE_KNOWN_HOST" >> ~/.ssh/known_hosts
 
 include:
-  - project: 'fit-connect/pipeline'
+  - project: "fit-connect/pipeline"
     ref: main
-    file: 'trivy.gitlab-ci.yml'
+    file: "trivy.gitlab-ci.yml"
 
 cache:
   paths:
@@ -19,10 +19,13 @@ stages:
   - build
   - deploy
 
-trivy-filesystem:
-  extends: .trivy-filesystem
-  variables:
-    DOCKER_REGISTRY_READ: $DOCKER_PULL_REGISTRY
+variables:
+  DEPLOY_SERVER: fitko@dorado.uberspace.de
+
+#trivy-filesystem:
+#  extends: .trivy-filesystem
+#  variables:
+#    DOCKER_REGISTRY_READ: $DOCKER_PULL_REGISTRY
 
 build:
   stage: build
@@ -35,16 +38,54 @@ build:
     paths:
       - out/
     expire_in: 1 hour
+  rules:
+    - when: always
+
+deploy:review:
+  stage: deploy
+  image: alpine:latest
+  environment:
+    name: review/$CI_COMMIT_REF_NAME
+    on_stop: undeploy:review
+    auto_stop_in: 1 week
+    url: https://docs-preview.fitko.dev/review/$CI_COMMIT_REF_SLUG/
+  needs:
+    - build
+  rules:
+    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
+  before_script:
+    - *pre-deploy-uber-space-setup
+  script:
+    - ssh $DEPLOY_SERVER mkdir -p docs-preview.fitko.dev/review
+    - rsync -rLvzc4 -e 'ssh -o CheckHostIP=no' --progress --delete ./out/. $DEPLOY_SERVER:docs-preview.fitko.dev/review/$CI_COMMIT_REF_SLUG
 
 deploy:
   stage: deploy
-  image:
-    name: alpine:latest
-  dependencies:
+  image: alpine:latest
+  environment:
+    name: live
+    url: https://docs-preview.fitko.dev/
+  needs:
     - build
   rules:
     - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
   before_script:
     - *pre-deploy-uber-space-setup
   script:
-    - rsync -rLvz --delete --checksum -e "ssh -o CheckHostIP=no" --ipv4 --progress ./out/. fitko@dorado.uberspace.de:docs-preview.fitko.dev
+    - rsync -rLvzc4 -e 'ssh -o CheckHostIP=no' --progress --delete ./out/. $DEPLOY_SERVER:docs-preview.fitko.dev
+
+undeploy:review:
+  stage: .post
+  image: alpine:latest
+  environment:
+    name: review/$CI_COMMIT_REF_NAME
+    action: stop
+  needs:
+    - deploy:review
+  rules:
+    - if: $CI_MERGE_REQUEST_ID
+      when: manual
+  before_script:
+    - *pre-deploy-uber-space-setup
+  script:
+    - ssh $DEPLOY_SERVER "rm -rf docs-preview.fitko.dev/review/$CI_COMMIT_REF_SLUG/"
diff --git a/views/layout/Footer.tsx b/views/layout/Footer.tsx
index 1de2853df612c689976d6992a5eef0d90b4c895e..58b2524ff76ccc5b8f7dffd152880c51604e49bb 100644
--- a/views/layout/Footer.tsx
+++ b/views/layout/Footer.tsx
@@ -78,7 +78,10 @@ export function Footer({ logo, copyright, children }: FooterOptions) {
               Copyright © {new Date().getFullYear()} {copyright}
             </p>
           </div>
-        ) : null}
+        ) : null}.
+        
+        Wenn nicht anders vermerkt, sind die Inhalte dieser Webseite lizensiert unter der <a href="https://creativecommons.org/licenses/by/4.0/deed.de">Creative Commons Namensnennung 4.0 International Public License (CC BY 4.0)</a>.
+
       </div>
     </footer>
   )