tweak authored by anarcat's avatar anarcat
...@@ -234,11 +234,11 @@ personally-identifying information (PII) from the mail archive. ...@@ -234,11 +234,11 @@ personally-identifying information (PII) from the mail archive.
The first step is to ensure that the request is lawful and that the requestor The first step is to ensure that the request is lawful and that the requestor
is the true "owner" of the PII involved in the request. For an email address, is the true "owner" of the PII involved in the request. For an email address,
this can include asking the requestor to send an email to prove that they send an email containing with a random string to the requestor to prove that they
control the email address. control the email address.
Secondly, the redaction request must be precise and not overly broad. For Secondly, the redaction request must be precise and not overly broad. For
example, redacting all instances of "Joe" from the mail archives would probably example, redacting all instances of "Joe" from the mail archives would
not be acceptable. not be acceptable.
Once all that is established, the actual redaction can proceed. Once all that is established, the actual redaction can proceed.
...@@ -294,9 +294,9 @@ and an associated email address, "foo@bar.com": ...@@ -294,9 +294,9 @@ and an associated email address, "foo@bar.com":
BEGIN; BEGIN;
; --- hyperkitty_attachment --- -- hyperkitty_attachment --
; redact the name and email in html attachments -- redact the name and email in html attachments
; (only if found in plaintext email) -- (only if found in plaintext email)
UPDATE hyperkitty_attachment UPDATE hyperkitty_attachment
SET content = convert_to( SET content = convert_to(
...@@ -324,8 +324,8 @@ and an associated email address, "foo@bar.com": ...@@ -324,8 +324,8 @@ and an associated email address, "foo@bar.com":
AND email_id IN AND email_id IN
(SELECT id FROM hyperkitty_email WHERE content LIKE '%foo@bar.com%'); (SELECT id FROM hyperkitty_email WHERE content LIKE '%foo@bar.com%');
; --- hyperkitty_email --- -- --- hyperkitty_email ---
; redact the name and email in plaintext emails -- redact the name and email in plaintext emails
UPDATE hyperkitty_email UPDATE hyperkitty_email
SET content = REPLACE(content, SET content = REPLACE(content,
...@@ -360,9 +360,9 @@ and an associated email address, "foo@bar.com": ...@@ -360,9 +360,9 @@ and an associated email address, "foo@bar.com":
SET sender_id = encode(sha256(sender_id::bytea), 'hex') SET sender_id = encode(sha256(sender_id::bytea), 'hex')
WHERE sender_id = 'foo@bar.com'; WHERE sender_id = 'foo@bar.com';
; --- address --- -- address --
; redact the name and email -- redact the name and email
; email must match the identifier used in hyperkitty_sender.address -- email must match the identifier used in hyperkitty_sender.address
UPDATE address -- done UPDATE address -- done
SET display_name = '[REDACTED]' SET display_name = '[REDACTED]'
...@@ -372,11 +372,11 @@ and an associated email address, "foo@bar.com": ...@@ -372,11 +372,11 @@ and an associated email address, "foo@bar.com":
SET email = encode(sha256(email::bytea), 'hex') SET email = encode(sha256(email::bytea), 'hex')
WHERE email = 'foo@bar.com'; WHERE email = 'foo@bar.com';
; --- user --- -- user --
; redact the name -- redact the name
; use double quotes around the table name -- use double quotes around the table name
; redact display_name in user table -- redact display_name in user table
UPDATE "user" UPDATE "user"
SET display_name = '[REDACTED]' SET display_name = '[REDACTED]'
WHERE display_name = 'Foo Bar'; WHERE display_name = 'Foo Bar';
... ...
......