[wp-trac] [WordPress Trac] #43443: Add a method for confirmation of requests for deleting or anonymizing of personal data
WordPress Trac
noreply at wordpress.org
Thu Mar 8 14:50:03 UTC 2018
#43443: Add a method for confirmation of requests for deleting or anonymizing of
personal data
-------------------------------------------------+-------------------------
Reporter: azaozz | Owner: mikejolley
Type: enhancement | Status: assigned
Priority: normal | Milestone: 5.0
Component: General | Version:
Severity: normal | Resolution:
Keywords: gdpr has-patch dev-feedback needs- | Focuses:
testing |
-------------------------------------------------+-------------------------
Comment (by mikejolley):
> All the WP_Error messages should end with a full stop.
@ocean90 See check_password_reset_key. If it needs adding it should be
added to all strings. I don't want to introduce another localisation
string just to add a ., and want to avoid touching other code for the
moment :)
> Why are none of the functions prefixed with wp_?
Can add - none of the other functions in that file were so I assumed there
was no standard.
Addressed the other items of feedback, and renamed some functions with
what I think is more logical naming.
@azaozz
> Consider how this can be used through the REST API and add an endpoint.
I think this would be separate. Consider these to be helper functions than
an endpoint could utlize to perform a user action.
> Perhaps add garbage collection function to delete expired requests.
> Log confirmed requests and perhaps show them on the dashboard? Typically
an admin will have to perform the requested action. When a site has more
than one admin, would be good if all can see pending requests.
> Prevent "flood" of requests. If a request is made and it hasn't expired,
perhaps limit how many new requests can be made for the same email.
Something like 10 should be plenty to cover legitimate user cases.
These points would be better addressed by a custom table as I suggested.
It would be difficult to scale garbage collection with the current
meta/options because it would need to load all and compare the values
inside the serialized array.
Which leads on to @allendav's point:
> I like the idea of a privacy actions log, but since that may lead us to
having to have a separate db table, I recommend we break that out into a
separate issue and implement this issue as a priority without that sub-
feature.
I agree separate issue but this is the same idea. The generic user action
confirmations/requests table I'd like to introduce would not only store
the generated key, date of request, action name, UID, it would also store
dates of confirmation which serves as a log and could be exposed via a UI.
e.g. list table showing all rows for action "delete_account".
Should that be moved out of this issue?
> Maybe for V1 we just leave request tracking to the administrator(s) and
their email inbox :)
I also agree with this. If we just agreed users would contact site
administrator to request details or anonomize, this system is probably not
needed. If we want to support form's, the confirmation step is still
required to verify requests are genuine.
Sidenote; I am in favour of emailing requests to admin for account
deletion/details instead of showing new list tables in core. The UI side
could be let for plugins. For our use, an email with the details of the
request and some shortcuts to the new export/anonymize tools would be
sufficient.
Flow without confirmation:
1. User contacts admin via email.
2. Admin generates export via new tools.
3. Admin sends export to user.
Flow with confirmation:
1. User requests export via form or link on site.
2. System emails user.
3. User clicks confirm link.
4. Admin gets email with request and tool links.
Can we discuss this further? If thats an option we should prioritize the
new tools over the processes, including this issue.
---
Anyhow, new code is here in my fork here
https://github.com/WordPress/WordPress/compare/master...mikejolley:update/43443?expand=1
Functions:
- wp_send_account_verification_key
- wp_get_account_verification_key
- wp_check_account_verification_key
wp-login action:
- verifyaccount
Hooks:
- account_verification_email_content
- account_verification_expiration
@azaozz will send a diff too.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/43443#comment:10>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list