[Mailman-Developers] Approach for full anonymization of a mailing list

2015-03-08 Thread Rashi Karanpuria

1) We create a database table with the schema | orig_id | fake_id |
thread_name | where whenever the user posts a first message to some thread
a new fake random id is generated and stored in this table. For a specific
user fake_id remains same for specific thread.

2) We need to remove the old implementation of anonymous list from
src/mailman/handlers/cleanse.py instead we create a new handler that
implemented before to_outgoing.py in the pipeline.

3) process method in this handler is exclusively for a anonymous list, it
won't process other lists.

4) In this new handler we first replace the value of From header with the
fake_id corresponding to this thread for the user who sent this message.
The fake_id of the format foo@foo1.com where foo is randomly generated
and foo1 is derived from the list name and is same for all fake addresses
on this list. Or foo1 can also be unanimously kept as anonymous

5) In the header we put the Reply-To option to be the mailing list address.

6) Then we cleanse the header keeping only From, To, Reply-To .

N.B.: In this approach personal mails will be bounced by the MTA.

Any suggestions or improvements on this would be of great help.

Regards
Rashi

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Approach for full anonymization of a mailing list

2015-03-08 Thread Richard Damon

On 3/8/15 12:12 PM, Rashi Karanpuria wrote:

1) We create a database table with the schema | orig_id | fake_id |
thread_name | where whenever the user posts a first message to some thread
a new fake random id is generated and stored in this table. For a specific
user fake_id remains same for specific thread.

2) We need to remove the old implementation of anonymous list from
src/mailman/handlers/cleanse.py instead we create a new handler that
implemented before to_outgoing.py in the pipeline.

3) process method in this handler is exclusively for a anonymous list, it
won't process other lists.

4) In this new handler we first replace the value of From header with the
fake_id corresponding to this thread for the user who sent this message.
The fake_id of the format foo@foo1.com where foo is randomly generated
and foo1 is derived from the list name and is same for all fake addresses
on this list. Or foo1 can also be unanimously kept as anonymous

5) In the header we put the Reply-To option to be the mailing list address.

6) Then we cleanse the header keeping only From, To, Reply-To .

N.B.: In this approach personal mails will be bounced by the MTA.

Any suggestions or improvements on this would be of great help.

Regards
Rashi

The domain part (your foo1.com) needs to be the domain the list is on 
or a domain specifically specified in the list configuration that the 
list owner has set up for this purpose. Otherwise you will have major 
delivery problems.


The address part (your foo) probably should include the list name in a 
way that avoids clashed between multiple uses of the module on different 
lists, or other uses of the domain. It might be something like 
listname+random@listdomain or listname-random@listdomain


--
Richard Damon

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9