diff --git a/css/gdpr.icons.css b/css/gdpr.icons.css
new file mode 100644
index 0000000..fa1734d
--- /dev/null
+++ b/css/gdpr.icons.css
@@ -0,0 +1,13 @@
+/**
+ * @file
+ * GDPR toolbar icon styling.
+ */
+
+/* Tray styling (second row) */
+.toolbar-tray .toolbar-icon.toolbar-icon-gdpr-admin-gdpr:before {
+  background-image: url("../icons/787878/user-shield-solid.svg");
+}
+.toolbar-tray .toolbar-icon.toolbar-icon-gdpr-admin-gdpr:active:before,
+.toolbar-tray .toolbar-icon.toolbar-icon-gdpr-admin-gdpr.is-active:before {
+  background-image: url("../icons/000000/user-shield-solid.svg");
+}
diff --git a/gdpr.libraries.yml b/gdpr.libraries.yml
new file mode 100644
index 0000000..2333dd1
--- /dev/null
+++ b/gdpr.libraries.yml
@@ -0,0 +1,5 @@
+toolbar:
+  version: VERSION
+  css:
+    theme:
+      css/gdpr.icons.css: {}
diff --git a/gdpr.module b/gdpr.module
index 8831cbe..93c0e98 100644
--- a/gdpr.module
+++ b/gdpr.module
@@ -26,6 +26,13 @@ function gdpr_help($route_name, RouteMatchInterface $route_match) {
   }
 }
 
+/**
+ * Implements hook_toolbar_alter().
+ */
+function gdpr_toolbar_alter(&$items) {
+  $items['administration']['#attached']['library'][] = 'gdpr/toolbar';
+}
+
 /**
  * Implements hook_checklistapi_checklist_info().
  */
diff --git a/icons/000000/user-shield-solid.svg b/icons/000000/user-shield-solid.svg
new file mode 100644
index 0000000..c6dc3cf
--- /dev/null
+++ b/icons/000000/user-shield-solid.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#000000" d="M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"></path></svg>
diff --git a/icons/787878/user-shield-solid.svg b/icons/787878/user-shield-solid.svg
new file mode 100644
index 0000000..4563207
--- /dev/null
+++ b/icons/787878/user-shield-solid.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#787878" d="M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"></path></svg>
