diff --git a/trigger/manual/classes/privacy/provider.php b/trigger/manual/classes/privacy/provider.php
new file mode 100644
index 0000000000000000000000000000000000000000..b595b593699b12f78bb145aeb27d04c07cbaed11
--- /dev/null
+++ b/trigger/manual/classes/privacy/provider.php
@@ -0,0 +1,40 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+namespace lifecycletrigger_manual\privacy;
+
+use core_privacy\local\metadata\null_provider;
+
+/**
+ * Privacy subsystem implementation for lifecycletrigger_manual.
+ *
+ * @package     lifecycletrigger_manual
+ * @copyright   2022 ISB Bayern
+ * @author      Philipp Memmel
+ * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class provider implements null_provider {
+
+    /**
+     * Get the language string identifier with the component's language
+     * file to explain why this plugin stores no data.
+     *
+     * @return string the reason
+     */
+    public static function get_reason() : string {
+        return 'privacy:metadata';
+    }
+}
diff --git a/trigger/manual/lang/de/lifecycletrigger_manual.php b/trigger/manual/lang/de/lifecycletrigger_manual.php
index af6f1d1d294aacaa8bc4c0e3ecfb9928ff1dac56..41bc729807e49983dbf537c8dd51f820cd7a6f67 100644
--- a/trigger/manual/lang/de/lifecycletrigger_manual.php
+++ b/trigger/manual/lang/de/lifecycletrigger_manual.php
@@ -23,6 +23,7 @@
  */
 
 $string['pluginname'] = 'Manueller Trigger';
+$string['privacy:metadata'] = 'Dieses Subplugin speichert keine persönlichen Daten.';
 $string['setting_capability'] = 'Berechtigung';
 $string['setting_capability_help'] = 'Die Moodle-Berechtigung, die ein Nutzer benötigt, um einen Workflow mit diesem Trigger zu sehen und auszulösen, z.B. "enrol/manual:enrol". Bitte schauen Sie sich die Moodle Access API für Details an.';
 $string['setting_icon'] = 'Icon';
diff --git a/trigger/manual/lang/en/lifecycletrigger_manual.php b/trigger/manual/lang/en/lifecycletrigger_manual.php
index 249ef5e9e5d3c21baf7306304cf97c76ede9fc84..dea6815d1b8844f6df09fab258598e6a7bc25949 100644
--- a/trigger/manual/lang/en/lifecycletrigger_manual.php
+++ b/trigger/manual/lang/en/lifecycletrigger_manual.php
@@ -23,6 +23,7 @@
  */
 
 $string['pluginname'] = 'Manual trigger';
+$string['privacy:metadata'] = 'This subplugin does not store any personal data.';
 $string['setting_capability'] = 'Capability';
 $string['setting_capability_help'] = 'The Moodle capability needed to see and invoke a workflow using this trigger, e.g. "enrol/manual:enrol". Please see Moodle access API documentation for details.';
 $string['setting_icon'] = 'Icon';