diff --git a/frontend/src/components/GDPRNotice.vue b/frontend/src/components/GDPRNotice.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d82c479f80bfc3901d92b489f338d4ae2ee2699a
--- /dev/null
+++ b/frontend/src/components/GDPRNotice.vue
@@ -0,0 +1,107 @@
+<template>
+    <div>
+        <p><strong>Allgemeiner Hinweis und Pflichtinformationen</strong></p>
+        <p><strong>Benennung der verantwortlichen Stelle</strong></p>
+        <p>Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:</p>
+        <p><span id="s3-t-firma">Institut für Informatik - Georg-August-Universität Göttingen</span><br>
+            <span id="s3-t-ansprechpartner">Dr. Henrik Brosenne</span><br><span id="s3-t-strasse">Goldschmidtstraße 7</span><br>
+            <span id="s3-t-plz">37077</span> <span id="s3-t-ort">Göttingen</span></p><p></p>
+        <p>Die verantwortliche Stelle entscheidet allein oder gemeinsam mit anderen über die Zwecke und Mittel der
+            Verarbeitung von personenbezogenen Daten (z.B. Namen, Kontaktdaten o. Ä.).</p>
+
+        <p><strong>Recht auf Beschwerde bei der zuständigen Aufsichtsbehörde</strong></p>
+        <p>Als Betroffener steht Ihnen im Falle eines datenschutzrechtlichen Verstoßes ein Beschwerderecht bei der zuständigen
+            Aufsichtsbehörde zu. Zuständige Aufsichtsbehörde bezüglich datenschutzrechtlicher Fragen ist:<br>
+            Die Landesbeauftragte für den Datenschutz Niedersachsen<br>
+            Prinzenstraße 5<br>
+            30159 Hannover<br>
+        <p><strong>Recht auf Datenübertragbarkeit</strong></p>
+        <p>Ihnen steht das Recht zu, Daten, die wir auf Grundlage der Erfüllung eines Vertrags
+            automatisiert verarbeiten, an sich oder an Dritte aushändigen zu lassen. Die Bereitstellung erfolgt in einem
+            maschinenlesbaren Format. Sofern Sie die direkte Ãœbertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist.</p>
+
+        <p><strong>Recht auf Auskunft, Berichtigung, Sperrung, Löschung</strong></p>
+        <p>Sie haben jederzeit im Rahmen der geltenden gesetzlichen Bestimmungen das Recht auf unentgeltliche Auskunft über
+            Ihre gespeicherten personenbezogenen Daten, Herkunft der Daten, deren Empfänger und den Zweck der
+            Datenverarbeitung und ggf. ein Recht auf Berichtigung, Sperrung oder Löschung dieser Daten. Diesbezüglich und
+            auch zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit über die im Impressum aufgeführten Kontaktmöglichkeiten an uns wenden.</p>
+
+        <p><strong>SSL- bzw. TLS-Verschlüsselung</strong></p>
+        <p>Aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher Inhalte, die Sie an uns als Seitenbetreiber
+            senden, nutzt unsere Website eine SSL-bzw. TLS-Verschlüsselung. Damit sind Daten, die Sie über diese Website
+            übermitteln, für Dritte nicht mitlesbar. Sie erkennen eine verschlüsselte Verbindung an der „https://“
+            Adresszeile Ihres Browsers und am Schloss-Symbol in der Browserzeile.</p>
+
+        <p><strong>Datenschutzbeauftragter</strong></p>
+        <p>Wir haben einen Datenschutzbeauftragten bestellt.</p>
+        Datenschutzbeauftragter der Universität<br>
+        Prof. Dr. Andreas Wiebe<br>
+        Lehrstuhl für Bürgerliches Recht, Wettbewerbs- und Immaterialgüterrecht, Medien- und Informationsrecht<br>
+        Platz der Göttinger Sieben 6<br>
+        37073 Göttingen<br>
+        Tel.: 0551 39 - 7381<br>
+        Fax: 0551 39 - 4437<br>
+        E-Mail: lehrstuhl.wiebe@jura.uni-goettingen.de<br>
+
+        <p><strong>Server-Log-Dateien</strong></p>
+        <p>Der Provider der Website erhebt automatisch Informationen, die Ihr Browser automatisch an uns übermittelt. Dies sind:</p>
+        <ul>
+            <li>Besuchte Seite auf unserer Domain</li>
+            <li>Datum und Uhrzeit der Serveranfrage</li>
+            <li>Browsertyp und Browserversion</li>
+            <li>Verwendetes Betriebssystem</li>
+            <li>Referrer URL</li>
+            <li>Hostname des zugreifenden Rechners</li>
+            <li>IP-Adresse</li>
+        </ul>
+        <p>Es findet keine Zusammenführung dieser Daten mit anderen Datenquellen statt. Grundlage der Datenverarbeitung
+            bildet Art. 6 Abs. 1 lit. b DSGVO, der die Verarbeitung von Daten zur Erfüllung eines Vertrags oder
+            vorvertraglicher Maßnahmen gestattet.</p>
+
+        <p><strong>Registrierung auf dieser Website</strong></p>
+        <p>Zur Nutzung bestimmter Funktionen müssen Sie sich auf unserer Website registrieren. Die übermittelten Daten
+            dienen ausschließlich zum Zwecke der Nutzung des jeweiligen Angebotes oder Dienstes. Bei der Registrierung
+            abgefragte Pflichtangaben sind vollständig anzugeben. Andernfalls werden wir die Registrierung ablehnen.</p>
+        <p>Im Falle wichtiger Änderungen, etwa aus technischen Gründen, informieren wir Sie</p>
+        <p>Wir speichern die bei der Registrierung erfassten Daten während des Zeitraums, den Sie auf unserer Website
+            registriert sind.
+            Gesetzliche Aufbewahrungsfristen bleiben unberührt.</p>
+
+        <p><strong>Speicherdauer von Beiträgen und Kommentaren</strong></p>
+        <p>Beiträge und Kommentare sowie damit in Verbindung stehende Daten, wie beispielsweise der Benutzername,
+            werden gespeichert. Der Inhalt verbleibt auf unserer Website, bis er vollständig gelöscht wurde oder aus
+            rechtlichen Gründen gelöscht werden musste.</p>
+        <p>Die Speicherung der Beiträge und Kommentare erfolgt auf Grundlage Art. 6 Abs. 1 lit. b DSGVO zur Erfüllung des
+            Arbeitsvertrages.</p>
+
+        <p><strong>Session storage</strong></p>
+        <p>Unsere Website verwendet den Session storage des Browsers. In diesem werden für die Dauer einer Sitzun (Session)
+            Daten auf Ihrem Endgerät gespeichert.</p>
+
+        <p><strong>Google Web Fonts</strong></p>
+        <p>Unsere Website verwendet Web Fonts von Google. Anbieter ist die Google Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA.</p>
+        <p>Durch den Einsatz dieser Web Fonts wird es möglich Ihnen die von uns gewünschte Darstellung unserer Website
+            zu präsentieren, unabhängig davon welche Schriften Ihnen lokal zur Verfügung stehen. Dies erfolgt über
+            den Abruf der Google Web Fonts von einem Server von Google in den USA und der damit verbundenen Weitergabe
+            Ihrer Daten an Google. Dabei handelt es sich um Ihre IP-Adresse und welche Seite Sie bei uns besucht haben.
+            Der Einsatz von Google Web Fonts erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f DSGVO. Als Betreiber dieser
+            Website haben wir ein berechtigtes Interesse an der optimalen Darstellung und Ãœbertragung unseres Webauftritts.</p>
+        <p>Das Unternehmen Google ist für das us-europäische Datenschutzübereinkommen "Privacy Shield" zertifiziert.
+            Dieses Datenschutzübereinkommen soll die Einhaltung des in der EU geltenden Datenschutzniveaus gewährleisten.</p>
+        <p>Einzelheiten über Google Web Fonts finden Sie unter:
+            <a href="https://www.google.com/fonts#AboutPlace:about">https://www.google.com/fonts#AboutPlace:about</a>
+            und weitere Informationen in den Datenschutzbestimmungen von Google:
+            <a href="https://policies.google.com/privacy/partners?hl=de">https://policies.google.com/privacy/partners?hl=de</a></p>
+        <p><small>Quelle: Datenschutz-Konfigurator von <a href="http://www.mein-datenschutzbeauftragter.de" target="_blank">mein-datenschutzbeauftragter.de</a></small></p>
+    </div>
+</template>
+
+<script>
+export default {
+  name: 'GDPRNotice'
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/frontend/src/components/RegisterDialog.vue b/frontend/src/components/RegisterDialog.vue
index e1330c07c797c328512c15e4ad72284bd8ad4e82..f8c747a8ae32cf7a6cb8833209a4a9146e3d7b9c 100644
--- a/frontend/src/components/RegisterDialog.vue
+++ b/frontend/src/components/RegisterDialog.vue
@@ -1,5 +1,16 @@
 <template>
-  <v-card>
+  <v-card v-if="!acceptedGDPR">
+    <v-card-title class="title">
+      Datenschutzerklärung
+    </v-card-title>
+    <v-card-text>
+      <GDPRNotice/>
+    </v-card-text>
+    <v-card-actions>
+      <v-btn @click="acceptedGDPR = true">Einwilligen</v-btn>
+    </v-card-actions>
+  </v-card>
+  <v-card v-else>
     <v-card-title class="title">
       Register
     </v-card-title>
@@ -25,16 +36,19 @@
 
 <script>
 import { registerTutor } from '@/api'
+import GDPRNotice from '@/components/GDPRNotice'
 
 export default {
   name: 'register-dialog',
+  components: {GDPRNotice},
   data () {
     return {
       credentials: {
         username: '',
         password: ''
       },
-      loading: false
+      loading: false,
+      acceptedGDPR: false
     }
   },
   methods: {
diff --git a/frontend/src/components/SubmissionTypesOverview.vue b/frontend/src/components/SubmissionTypesOverview.vue
new file mode 100644
index 0000000000000000000000000000000000000000..e96e9614a331d653f244bf27b961c4a939c6acc3
--- /dev/null
+++ b/frontend/src/components/SubmissionTypesOverview.vue
@@ -0,0 +1,60 @@
+<template>
+  <v-card>
+    <v-card-title class="title">Assignment types</v-card-title>
+      <v-layout row wrap>
+          <v-flex xs3>
+              <v-list>
+                  <v-list-tile
+                          v-for="submissionType in sortedSubmissionTypes" :key="submissionType.pk"
+                          @click="selectedSubmissionType = submissionType"
+                  >
+                    <v-list-tile-content>
+                        {{submissionType.name}}
+                    </v-list-tile-content>
+                  </v-list-tile>
+              </v-list>
+          </v-flex>
+          <v-flex xs9>
+              <v-layout v-if="!selectedSubmissionType" justify-center>
+                  <strong>Select an assignment type on the left to see the description and solution.</strong>
+              </v-layout>
+              <submission-type class="mr-2 mb-2" v-else v-bind="selectedSubmissionType"/>
+          </v-flex>
+      </v-layout>
+  </v-card>
+</template>
+
+<script>
+import {mapState} from 'vuex'
+import SubmissionType from '@/components/SubmissionType'
+export default {
+  name: 'SubmissionTypesOverview',
+  components: {SubmissionType},
+  data () {
+    return {
+      selectedSubmissionType: null
+    }
+  },
+  computed: {
+    ...mapState([
+      'submissionTypes'
+    ]),
+    sortedSubmissionTypes () {
+      return Object.values(this.submissionTypes).sort((t1, t2) => {
+        let lowerName1 = t1.name.toLowerCase()
+        let lowerName2 = t2.name.toLowerCase()
+        if (lowerName1 < lowerName2) {
+          return -1
+        } else if (lowerName1 > lowerName2) {
+          return 1
+        }
+        return 0
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/frontend/src/components/tutor_list/TutorList.vue b/frontend/src/components/tutor_list/TutorList.vue
index 9f7c0895a9dd89510dc1412c0f544aded873a9d6..9e0d2f67618afa6fd03e1171e4aa904cb81ba419 100644
--- a/frontend/src/components/tutor_list/TutorList.vue
+++ b/frontend/src/components/tutor_list/TutorList.vue
@@ -11,13 +11,26 @@
         <td>{{props.item.username}}</td>
         <td class="text-xs-right">{{props.item.feedback_created}}</td>
         <td class="text-xs-right">{{props.item.feedback_validated}}</td>
+        <td class="text-xs-right">
+          <v-btn icon @click="changeActiveStatus(props.item)">
+            <v-tooltip top>
+              <template slot="activator">
+                <v-icon small v-if="!props.item.is_active">lock</v-icon>
+                <v-icon small v-else>lock_open</v-icon>
+              </template>
+              <span v-if="!props.item.is_active">Grant access</span>
+              <span v-else>Revoke access</span>
+            </v-tooltip>
+          </v-btn>
+        </td>
       </template>
     </v-data-table>
   </v-flex>
 </template>
 
 <script>
-import {mapState} from 'vuex'
+import {mapState, mapActions} from 'vuex'
+import {changeActiveForUser} from '@/api'
 
 export default {
   name: 'tutor-list',
@@ -39,6 +52,11 @@ export default {
           text: '# validated',
           align: 'right',
           value: 'feedback_validated'
+        },
+        {
+          text: 'Has Access',
+          align: 'right',
+          value: 'is_active'
         }
       ]
     }
@@ -47,6 +65,22 @@ export default {
     ...mapState([
       'tutors'
     ])
+  },
+  methods: {
+    ...mapActions([
+      'getTutors'
+    ]),
+    changeActiveStatus (tutor) {
+      changeActiveForUser(tutor.pk, !tutor.is_active).then(() => {
+        this.getTutors()
+      }).catch(() => {
+        this.$notify({
+          title: 'Error',
+          text: `Unable to change active status of ${tutor.username}`,
+          type: 'error'
+        })
+      })
+    }
   }
 }
 </script>
diff --git a/frontend/src/pages/reviewer/ReviewerStartPage.vue b/frontend/src/pages/reviewer/ReviewerStartPage.vue
index 19db7cea347c93972bf4cb9383b548c41f57d9a4..c049278d188010801c8c2c61aacc59df5f06dd00 100644
--- a/frontend/src/pages/reviewer/ReviewerStartPage.vue
+++ b/frontend/src/pages/reviewer/ReviewerStartPage.vue
@@ -11,6 +11,7 @@
         <subscription-list class="ma-4"></subscription-list>
       </v-flex>
     </v-layout>
+    <SubmissionTypesOverview class="ma-4"/>
   </div>
 </template>
 
@@ -18,9 +19,11 @@
 import CorrectionStatistics from '@/components/CorrectionStatistics'
 import WelcomeJumbotron from '@/components/WelcomeJumbotron'
 import SubscriptionList from '@/components/subscriptions/SubscriptionList'
+import SubmissionTypesOverview from '@/components/SubmissionTypesOverview'
 
 export default {
   components: {
+    SubmissionTypesOverview,
     SubscriptionList,
     WelcomeJumbotron,
     CorrectionStatistics},
diff --git a/frontend/src/pages/tutor/TutorStartPage.vue b/frontend/src/pages/tutor/TutorStartPage.vue
index a352530ca9184334f4b4009737df59243cabf02c..3d57117ca63e51d044dbb41ff1e0bf859c6357ba 100644
--- a/frontend/src/pages/tutor/TutorStartPage.vue
+++ b/frontend/src/pages/tutor/TutorStartPage.vue
@@ -11,6 +11,7 @@
         <subscription-list class="ma-4"></subscription-list>
       </v-flex>
     </v-layout>
+    <SubmissionTypesOverview class="ma-4"/>
   </div>
 </template>
 
@@ -18,9 +19,11 @@
 import SubscriptionList from '@/components/subscriptions/SubscriptionList'
 import CorrectionStatistics from '@/components/CorrectionStatistics'
 import WelcomeJumbotron from '@/components/WelcomeJumbotron'
+import SubmissionTypesOverview from '@/components/SubmissionTypesOverview'
 
 export default {
   components: {
+    SubmissionTypesOverview,
     WelcomeJumbotron,
     CorrectionStatistics,
     SubscriptionList},