Plugin support for privacy API (split from EU General Data Protection Regulation (GDPR) compliance)

Plugin support for privacy API (split from EU General Data Protection Regulation (GDPR) compliance)

by Jean-Michel Védrine -
Number of replies: 3

Hello to all GDPR specialists,

As the author of several Moodle plugins I want all of them to support the Moodle privacy API for May 25th.

The only real problem I have is for My "Question Creation" activity module (mod_qcreate)

In this activity students create question and they receive a grade made by aggregation of an automated grade based on the number of questions that they have created and a manual grade given by teachers that grade their questions and (optionally) give a comment.

Currently my function to erase user data

- don't really erase questions created but just anonymise the userid of the question creator (well in fact this is not my decision but this is how the question component privacy code works, so just declaring that my module use the core question component does that).

- erase manual grades received by a student for the questions they created

- if the user submitting the request to erase data has graded any question, I anonymise the grader id and suppress the comment in the grade record.

Do you think this is the right thing to do or should I also completely erase the grade for a teacher request ? This seems incorrect to me as the grade value also belongs to the user graded, but maybe I am wrong ?

Thanks for your help.

Average of ratings: -
In reply to Jean-Michel Védrine

Re: EU General Data Protection Regulation (GDPR) compliance

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

That is a good question to ask, and I will be interested to see what someone who really knows about this (like Andrew Nicols) will say.

However, the answer you give to your own question seems reasonable to me.

In reply to Jean-Michel Védrine

Re: EU General Data Protection Regulation (GDPR) compliance

by Andrew Lyons -
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers

Hi Jean-Michel,

Thanks for being on top of this already.

I'll answer each of your queries re the erasure functionality below.

don't really erase questions created but just anonymise the userid of the question creator (well in fact this is not my decision but this is how the question component privacy code works, so just declaring that my module use the core question component does that).
That's the correct approach as per our understanding. It's a little different in this case because the user creating the question is a student, but I would still suggest that this is the most appropriate solution.

erase manual grades received by a student for the questions they created

I disagree with this approach. Although the grades are written by one user, they are about, describe, and essentially belong to that other user. Since they are grades they also form the grade of that other user and are a part of that individuals record. It's also worth bearing in mind that the grades are all handled centrally by the core_grade component and should not be modified by plugins in this manner.

A deletion request of one individual should not impact upon the grading of another.\

if the user submitting the request to erase data has graded any question, I anonymise the grader id and suppress the comment in the grade record.
Again, I would say that this is not 100% correct. Similar to the manual grade, the comment should be preserved, but I think that anonymising the grader id would be acceptable.

I would suggest taking a look at mod_assign as this has similar functionality to your plugin.

Hope that this helps,

Andrew

In reply to Andrew Lyons

Re: EU General Data Protection Regulation (GDPR) compliance

by Jean-Michel Védrine -

Hello Andrew,

Thanks a lot for your answer (and for all your work !),

I think I forgot an important piece of information :

When I wrote:

erase manual grades received by a student for the questions they created
I was of course speaking of the (local) manual grade in the plugin's table (qcreate_grades) and not the central grade.

And also I was considering the case of a student request to erase his information because I think that if this is a teacher request no record should be deleted in qcreate_grades.

But if you think that for a student request I should also not delete any record, I will modify my code (easy to do !)

OK, for a teacher request I will just replace the teacher's id with 0 and preserve the comment.

Again thank a lot for your help.