diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-08-17 23:44:44 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-08-17 23:44:44 -0500 |
commit | 72cbe20a5887cf2457895b0559e7eb97cc1bc871 (patch) | |
tree | 0d5d36b4dfaff96dbbb4ddfe8b571adeccc11c17 /lib | |
parent | c12c576ee28016444b89c426d67c960f156e831e (diff) | |
download | pleroma-72cbe20a5887cf2457895b0559e7eb97cc1bc871.tar.gz |
Purge most user fields upon deletion, "right to be forgotten" #859
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 1a7d25801..a9820affa 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1585,15 +1585,44 @@ defmodule Pleroma.User do @spec purge_user_changeset(User.t()) :: Changeset.t() def purge_user_changeset(user) do + # "Right to be forgotten" + # https://gdpr.eu/right-to-be-forgotten/ change(user, %{ - deactivated: true, + bio: nil, + raw_bio: nil, email: nil, + name: nil, + password_hash: nil, + keys: nil, + public_key: nil, avatar: %{}, + tags: [], + last_refreshed_at: nil, + last_digest_emailed_at: nil, banner: %{}, background: %{}, + note_count: 0, + follower_count: 0, + following_count: 0, + locked: false, + confirmation_pending: false, + password_reset_pending: false, + approval_pending: false, + registration_reason: nil, + confirmation_token: nil, + domain_blocks: [], + deactivated: true, + ap_enabled: false, + is_moderator: false, + is_admin: false, + mastofe_settings: nil, + mascot: nil, + emoji: %{}, + pleroma_settings_store: %{}, fields: [], - bio: nil, - name: nil + raw_fields: [], + discoverable: false, + also_known_as: [] }) end |