diff --git a/dta.zip b/dta.zip
index 41b9486a4a1b1c9127705ea7ff31518a55a338eb..2c18e73b680665cd974b2cebbf98b5e9e0af6b87 100644
Binary files a/dta.zip and b/dta.zip differ
diff --git a/dta/lang/en/assignsubmission_dta.php b/dta/lang/en/assignsubmission_dta.php
index 54cffa3723068abfd166010e56076303dd369cc5..4f3cf89c06c9ba92450f1a350e1b941f0ae829fc 100644
--- a/dta/lang/en/assignsubmission_dta.php
+++ b/dta/lang/en/assignsubmission_dta.php
@@ -142,3 +142,25 @@ $string["default"] = "Enabled by default";
 $string["default_help"] = "If set, this submission method will be enabled by default for all new assignments.";
 $string["backendHost"] = "Backend Server Address";
 $string["backendHost_help"] = "Address/Name and Port of backend server";
+
+// Database field descriptions for privacy API.
+$string["privacy:metadata:core_files"] = "Moodle core files.";
+$string["privacy:metadata:assignsubmission_dta_summary:assignmentid"] = "ID of the assignment";
+$string["privacy:metadata:assignsubmission_dta_summary:submissionid"] = "ID of the submission";
+$string["privacy:metadata:assignsubmission_dta_summary:timestamp"] = "Date and time of the submission";
+$string["privacy:metadata:assignsubmission_dta_summary"] = "Stack trace of the compilation and test if major problems occur";
+$string["privacy:metadata:assignsubmission_dta_summary:successful_competencies"] = "List of the successfully tested competencies";
+$string["privacy:metadata:assignsubmission_dta_summary:tested_competencies"] = "List of the tested competencies";
+$string["privacy:metadata:assignsubmission_dta_summary"] = "Summary of Dockerized Test Agent (DTA) results";
+$string["privacy:metadata:assignsubmission_dta_result:package_name"] = "Package name of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:class_name"] = "Class name of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:name"] = "Name of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:state"] = "State of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:failure_type"] = "Failure type of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:failure_reason"] = "Failure reason of individual test";
+$string["privacy:metadata:assignsubmission_dta_result:stacktrace"] = "Stack trace of failed compilation or individual test";
+$string["privacy:metadata:assignsubmission_dta_result:column_number"] = "Column number of failed individual compilation or test";
+$string["privacy:metadata:assignsubmission_dta_result:line_number"] = "Line number of failed individual compilation or test";
+$string["privacy:metadata:assignsubmission_dta_result:position"] = "Position of failed individual compilation or test";
+$string["privacy:metadata:assignsubmission_dta_result"] = "Individual Dockerized Test Agent (DTA) results";
+$string["privacy:metadata:dta_backend"] = "Dockerized Test Agent (DTA) backend ReST web service";
diff --git a/dta/privacy/provider.php b/dta/privacy/provider.php
index 4a32e5a28fbcdb7e862f4be0f74bb9be4f5c470e..46e99579c185e44121f4c9967a8181ccb1548373 100644
--- a/dta/privacy/provider.php
+++ b/dta/privacy/provider.php
@@ -31,7 +31,7 @@ use mod_assign\privacy\assign_plugin_request_data;
 class provider implements
         // This plugin does store personal user data.
         \core_privacy\local\metadata\provider,
-        \core_privacy\local\request\data_provider,
+        \core_privacy\local\request\shared_data_provider,
         \mod_assign\privacy\assignsubmission_provider,
         \mod_assign\privacy\assignsubmission_user_provider {
 
@@ -63,8 +63,8 @@ class provider implements
         $collection->add_database_table(
             'assignsubmission_dta_result',
             [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_result:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_result:submissionid',
+                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'package_name' => 'privacy:metadata:assignsubmission_dta_result:package_name',
                 'class_name' => 'privacy:metadata:assignsubmission_dta_result:class_name',
                 'name' => 'privacy:metadata:assignsubmission_dta_result:name',
@@ -80,8 +80,8 @@ class provider implements
         );
 
         $collection->add_external_location_link('dta_backend', [
-                'assignmentid' => 'privacy:metadata:assignsubmission_dta_result:assignmentid',
-                'submissionid' => 'privacy:metadata:assignsubmission_dta_result:submissionid',
+                'assignmentid' => 'privacy:metadata:assignsubmission_dta_summary:assignmentid',
+                'submissionid' => 'privacy:metadata:assignsubmission_dta_summary:submissionid',
                 'submissioncontent' => 'privacy:metadata:core_files',
             ],
             'privacy:metadata:dta_backend'