diff --git a/smash/web/views/privacy_notice.py b/smash/web/views/privacy_notice.py
new file mode 100644
index 0000000000000000000000000000000000000000..96dabe73b8892425e86546b7820f328b3eed4c98
--- /dev/null
+++ b/smash/web/views/privacy_notice.py
@@ -0,0 +1,77 @@
+# coding=utf-8
+import io
+from wsgiref.util import FileWrapper
+
+from django.contrib import messages
+from django.http import HttpResponse
+from django.shortcuts import redirect, get_object_or_404
+from django.urls import reverse_lazy
+from django.views.generic import DeleteView
+from django.views.generic import ListView
+
+from web.decorators import PermissionDecorator
+from . import WrappedView
+from . import wrap_response
+from ..forms.privacy_notice import PrivacyNoticeForm
+from ..models import PrivacyNotice
+
+class PrivacyNoticeListView(ListView, WrappedView):
+    model = PrivacyNotice
+    context_object_name = "privacy_notices"
+    template_name = 'privacy_notice/list.html'
+
+    @PermissionDecorator('change_privacynotice', 'privacynotice')
+    def dispatch(self, *args, **kwargs):
+        return super(PrivacyNoticeListView, self).dispatch(*args, **kwargs)
+
+@PermissionDecorator('change_privacynotice', 'privacynotice')
+def privacy_notice_add(request):
+    if request.method == 'POST':
+        form = PrivacyNoticeForm(request.POST, request.FILES)
+        if form.is_valid():
+            try:
+                form.save()
+            except:
+                messages.add_message(request, messages.ERROR, 'There was a problem when saving privacy notice. '
+                                                              'Contact system administrator.')
+            return redirect('web.views.privacy_notices')
+    else:
+        form = PrivacyNoticeForm()
+
+    return wrap_response(request, 'privacy_notice/add.html', {'form': form})
+
+
+@PermissionDecorator('change_privacynotice', 'privacynotice')
+def privacy_notice_edit(request, pk):
+    privacy_notice = get_object_or_404(PrivacyNotice, pk=pk)
+    if request.method == 'POST':
+        form = PrivacyNoticeForm(request.POST, request.FILES, instance=privacy_notice)
+        if form.is_valid():
+            try:
+                form.save()
+                return redirect('web.views.privacy_notices')
+            except:
+                messages.add_message(request, messages.ERROR, 'There was a problem when updating the privacy notice.'
+                                                              'Contact system administrator.')
+                return wrap_response(request, 'privacy_notice/edit.html', {'form': form, 'privacy_notice': privacy_notice})
+    else:
+        form = PrivacyNoticeForm(instance=privacy_notice)
+
+    return wrap_response(request, 'privacy_notice/edit.html', {'form': form, 'privacy_notice': privacy_notice})
+
+
+class PrivacyNoticeDeleteView(DeleteView, WrappedView):
+    model = PrivacyNotice
+    success_url = reverse_lazy('web.views.privacy_notices')
+    template_name = 'privacy_notice/confirm_delete.html'
+
+    @PermissionDecorator('change_privacynotice', 'privacynotice')
+    def delete(self, request, *args, **kwargs):
+        messages.success(request, "Privacy Notice deleted")
+        #try:
+        return super(PrivacyNoticeDeleteView, self).delete(request, *args, **kwargs)
+        #except:
+        #    messages.add_message(request, messages.ERROR, 'There was a problem when deleting privacy notice. '
+        #                                                  'Contact system administrator.')
+        return redirect('web.views.privacy_notices')
+