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

Richard Damon Richard at Damon-Family.org
Sun Mar 8 17:39:23 CET 2015


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 at listdomain or listname-random at listdomain

-- 
Richard Damon



More information about the Mailman-Developers mailing list