I understand that deactivating a user does not completely delete the user from our DB so that we cannot get identity/key conflicts when the name is re-registered. But the EU's data privacy laws (GDVO) demand that a user has the right to have all personal identifyable information being deleted upon request. To comply with that demand, several options might be possible:
1a) have deactivate not delete anything (so it can be re-activated later), but provide a separate "delete" API/flag.
1b) perform user deletion already during "deactivation".
on deactivate/delete:
a) delete a user's profile metadata only, so that e-mail, phone, usernames are gone. But keep the user record in the db, to prevent re-registration, everything else remains too (media files, conversations)
b) delete the above plus a user's media files, conversation and other non-state db entries.
c) delete the above plus everything pertaining to a user (but that will probably break room state as we loose join/leave events....)
Unclear (to me):
is it even possible to delete a user's conversation, or will it be "pulled back" via federation from other servers as soon as a user on our homeserver "scrolls up" the timeline?
I understand that deactivating a user does not completely delete the user from our DB so that we cannot get identity/key conflicts when the name is re-registered. But the EU's data privacy laws (GDVO) demand that a user has the right to have all personal identifyable information being deleted upon request. To comply with that demand, several options might be possible:
1a) have deactivate not delete anything (so it can be re-activated later), but provide a separate "delete" API/flag. 1b) perform user deletion already during "deactivation".
on deactivate/delete: a) delete a user's profile metadata only, so that e-mail, phone, usernames are gone. But keep the user record in the db, to prevent re-registration, everything else remains too (media files, conversations) b) delete the above plus a user's media files, conversation and other non-state db entries. c) delete the above plus everything pertaining to a user (but that will probably break room state as we loose join/leave events....)
Unclear (to me): is it even possible to delete a user's conversation, or will it be "pulled back" via federation from other servers as soon as a user on our homeserver "scrolls up" the timeline?