diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0d60039e3a163091a19ecaf7a918c95f5714dd75..672dc848af6d04a61ae0f71604edc2cbbaa0627a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -75,7 +75,6 @@ test_create_dummy_script:
          - python db_scripts/create_dummy_data.py
 
 build_debian:
-  image: node
   stage: build
   only:
     - tags
@@ -86,7 +85,10 @@ build_debian:
       - "*.deb"
   script:
     - apt-get update
-    - DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated libsasl2-dev libssl-dev locales locales-all python3 dh-make build-essential lintian devscripts xsltproc fakeroot xsltproc docbook-xsl
+    - DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated libsasl2-dev libssl-dev locales locales-all python3 dh-make build-essential lintian devscripts xsltproc fakeroot xsltproc docbook-xsl curl gnupg git gcc g++ make
+    - curl -sL https://deb.nodesource.com/setup_14.x | bash -
+    - DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs
+
     - pip install --use-deprecated=legacy-resolver -r requirements.txt --default-timeout=180 -i https://pypi.lcsb.uni.lu/simple/
     - pip install --use-deprecated=legacy-resolver -r requirements-dev.txt --default-timeout=180 -i https://pypi.lcsb.uni.lu/simple/
 
diff --git a/CHANGELOG b/CHANGELOG
index 6646681828148e7a61256de3d62087a459fa9dbd..53ac3d24ed7e8bfd02867f51facaa64c97066fe5 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -21,7 +21,7 @@ smasch (1.0.0~beta.0-1) unstable; urgency=low
   * small improvement: redcap API token is not visible in configuration panel
     (#359)
   
- -- Piotr Gawron <piotr.gawron@uni.lu>  Tue, 10 Nov 2020 14:00:00 +0200
+ -- Piotr Gawron <piotr.gawron@uni.lu>  Tue, 15 Dec 2020 11:00:00 +0200
 
 smasch (1.0.0~alpha.0-0) unstable; urgency=low
 
diff --git a/debian-template/copyright b/debian-template/copyright
index fc3c7decd688bf353e71466e1be80a9c278e3e6c..0d6a69c0bad86b9ab6376ea35e8b4487ba7c3819 100644
--- a/debian-template/copyright
+++ b/debian-template/copyright
@@ -25,6 +25,7 @@ License: Django
 Files: smash/node_modules/admin-lte/*
        smash/node_modules/awesomplete/*
        smash/node_modules/bootstrap/*
+       smash/node_modules/cookieconsent/*
        smash/node_modules/datatables.net-bs/*
        smash/node_modules/datatables.net-buttons-bs/*
        smash/node_modules/datatables.net-buttons/*
diff --git a/smash/package-lock.json b/smash/package-lock.json
index 28b1e78437c3f508259374f3666807408fa0391a..7cb491faabd58c39069c18e90f0bb9490f2d5cc0 100644
--- a/smash/package-lock.json
+++ b/smash/package-lock.json
@@ -224,6 +224,11 @@
         "safe-buffer": "~5.1.1"
       }
     },
+    "cookieconsent": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/cookieconsent/-/cookieconsent-3.1.1.tgz",
+      "integrity": "sha512-v8JWLJcI7Zs9NWrs8hiVldVtm3EBF70TJI231vxn6YToBGj0c9dvdnYwltydkAnrbBMOM/qX1xLFrnTfm5wTag=="
+    },
     "core-js": {
       "version": "2.6.12",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
diff --git a/smash/package.json b/smash/package.json
index 2aaeef0d181aa2ee5e385a323dc592327a4939ea..12afa34f283323046658fa287d1b87b365a840b1 100644
--- a/smash/package.json
+++ b/smash/package.json
@@ -13,6 +13,7 @@
     "awesomplete": "^1.1.5",
     "bootstrap": "^3.3.6",
     "bootstrap-datepicker": "^1.7.0",
+    "cookieconsent": "^3.1.1",
     "datatables.net-bs": "^1.10.22",
     "datatables.net-buttons": "^1.6.5",
     "datatables.net-buttons-bs": "^1.6.5",
diff --git a/smash/smash/settings.py b/smash/smash/settings.py
index f5e1896f8f50484cf33cf5e6d1a9cc9d71684e64..a33761bc0ff08cff204dac66bea94c2150387548 100644
--- a/smash/smash/settings.py
+++ b/smash/smash/settings.py
@@ -126,6 +126,7 @@ NPM_FILE_PATTERNS = {
     'awesomplete': ['awesomplete.css', 'awesomplete.css.map', 'awesomplete.min.js', 'awesomplete.min.js.map'],
     'bootstrap': ['dist/*'],
     'bootstrap-datepicker': ['dist/*'],
+    'cookieconsent': ['build/*'],
     'datatables.net': ['js/*'],
     'datatables.net-bs': ['css/*', 'js/*'],
     'datatables.net-buttons': ['js/*'],
diff --git a/smash/web/templates/_base.html b/smash/web/templates/_base.html
index 630b21c90b9fc57f8bb773fb88844383aa68c7bb..406c4511f0d204bc4f9349404d3a904b6b37e125 100644
--- a/smash/web/templates/_base.html
+++ b/smash/web/templates/_base.html
@@ -25,14 +25,7 @@
 
         <link rel="stylesheet" href="{% static 'npm/jquery-ui-dist/jquery-ui.min.css' %}">
 
-
-        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
-        <!--[if lt IE 9]>
-        <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-        <![endif]-->
-        <script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js"></script>
-        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.css">
+        <link rel="stylesheet" href="{% static 'npm/cookieconsent/build/cookieconsent.min.css' %}">
     {% endblock styles %}
 </head>
 <!--
@@ -369,6 +362,7 @@ desired effect
     <script src="{% static 'js/smash.js' %}"></script>
     <script src="{% static 'npm/moment/min/moment.min.js' %}"></script>
     <script src="{% static 'npm/moment-range/dist/moment-range.js' %}"></script>
+    <script src="{% static 'npm/cookieconsent/build/cookieconsent.min.js' %}"></script>
     <script type="text/javascript">
         window['moment-range'].extendMoment(moment);
     </script>
diff --git a/smash/web/templates/errors/400.html b/smash/web/templates/errors/400.html
index 81842dc76f2025f80f0b54bb147becb9230eb2d6..175c43eb55ec4fa75992b79be2fc3ce7e824d7b6 100644
--- a/smash/web/templates/errors/400.html
+++ b/smash/web/templates/errors/400.html
@@ -24,12 +24,6 @@
         <!-- iCheck -->
         <link rel="stylesheet" href="{% static 'npm/icheck/skins/square/blue.css' %}">
 
-        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
-        <!--[if lt IE 9]>
-	<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-	<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-  <![endif]-->
-
         <style>
             .login-logo-h5 {
                 margin-top: -10px;
diff --git a/smash/web/templates/errors/403.html b/smash/web/templates/errors/403.html
index 312cb2921fe3006f08395c3d0a66f6f85f30924f..e9d1c1fef42ad59e06e2d97cb12ac0996733d8c2 100644
--- a/smash/web/templates/errors/403.html
+++ b/smash/web/templates/errors/403.html
@@ -24,12 +24,6 @@
         <!-- iCheck -->
         <link rel="stylesheet" href="{% static 'npm/icheck/skins/square/blue.css' %}">
 
-        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
-        <!--[if lt IE 9]>
-	<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-	<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-  <![endif]-->
-
         <style>
             .login-logo-h5 {
                 margin-top: -10px;
diff --git a/smash/web/templates/errors/404.html b/smash/web/templates/errors/404.html
index cdca5e5f299ab48d5bbeaff2884db256e0da3e24..c38130a771ee58aac27ecf72ee86c618ac6100ae 100644
--- a/smash/web/templates/errors/404.html
+++ b/smash/web/templates/errors/404.html
@@ -24,12 +24,6 @@
         <!-- iCheck -->
         <link rel="stylesheet" href="{% static 'npm/icheck/skins/square/blue.css' %}">
 
-        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
-        <!--[if lt IE 9]>
-	<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-	<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-  <![endif]-->
-
         <style>
             .login-logo-h5 {
                 margin-top: -10px;
diff --git a/smash/web/templates/errors/500.html b/smash/web/templates/errors/500.html
index dfaf9656efbfda6c44afaf47f612b3890331e97e..e8789e4f1ae2165e9f363c792521e656dacf2a5f 100644
--- a/smash/web/templates/errors/500.html
+++ b/smash/web/templates/errors/500.html
@@ -24,12 +24,6 @@
         <!-- iCheck -->
         <link rel="stylesheet" href="{% static 'npm/icheck/skins/square/blue.css' %}">
 
-        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
-        <!--[if lt IE 9]>
-	<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-	<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-  <![endif]-->
-
         <style>
             .login-logo-h5 {
                 margin-top: -10px;
diff --git a/smash/web/templates/login.html b/smash/web/templates/login.html
index 7197404104e72d0511a98db45385d292943f257e..b3d6f45aed805d7665719838eb203308ffd75305 100644
--- a/smash/web/templates/login.html
+++ b/smash/web/templates/login.html
@@ -27,12 +27,6 @@
         <!-- iCheck -->
         <link rel="stylesheet" href="{% static 'npm/icheck/skins/square/blue.css' %}">
 
-        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
-        <!--[if lt IE 9]>
-	<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
-	<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-  <![endif]-->
-
         <style>
             .login-logo-h5 {
                 margin-top: -10px;