matrix-org / dendrite

Dendrite is a second-generation Matrix homeserver written in Go!
https://matrix-org.github.io/dendrite/
Apache License 2.0
5.75k stars 676 forks source link

[FR] Delete user's content & metadata when "deleting" a user #2703

Open spaetz opened 2 years ago

spaetz commented 2 years ago

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?

genofire commented 1 year ago

should matrix.org take the pull request from https://github.com/globekeeper/dendrite/pull/46 ?