diff --git a/man/freedombone-addemail.1.gz b/man/freedombone-addemail.1.gz
index 34b6517e85265eb48e7841445eea77560f853a6f..642d3c22081356735881cd0b48c484b29c69227b 100644
Binary files a/man/freedombone-addemail.1.gz and b/man/freedombone-addemail.1.gz differ
diff --git a/man/freedombone-addlist.1.gz b/man/freedombone-addlist.1.gz
index ae9d6961353c35fae334c528d4ac31f7df8d07ce..bff5c6f6fc81cb0c243bed8eb2abf30a354f2258 100644
Binary files a/man/freedombone-addlist.1.gz and b/man/freedombone-addlist.1.gz differ
diff --git a/src/freedombone-addemail b/src/freedombone-addemail
index 2779977b24b68455dcdd5766757dfadd02829b92..7c6a346da3c9a5f5dffe45d5cd128bbdfff6beab 100755
--- a/src/freedombone-addemail
+++ b/src/freedombone-addemail
@@ -37,10 +37,11 @@ export TEXTDOMAINDIR="/usr/share/locale"
 MYUSERNAME=$USER
 EMAILADDRESS=
 GROUP_NAME=
+PUBLIC='no'
 
 function show_help {
     echo ''
-    echo $"${PROJECT_NAME}-addemail -u [username] -e [email address] -g [group name]"
+    echo $"${PROJECT_NAME}-addemail -u [username] -e [email address] -g [group name] --public [yes|no]"
     echo ''
     exit 0
 }
@@ -65,6 +66,10 @@ case $key in
     shift
     GROUP_NAME="$1"
     ;;
+    -p|--public)
+    shift
+    PUBLIC="$1"
+    ;;
     *)
     # unknown option
     ;;
@@ -88,15 +93,27 @@ if [ ! -d "$LISTDIR" ]; then
 fi
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
 if ! grep -q "Email rule for $EMAILADDRESS -> $GROUP_NAME" $PM; then
-    if ! grep -q "\# encrypt" $PM; then
+    if [[ $PUBLIC != "yes" ]]; then
+        # private emails go after the encryption stage
+        echo '' >> $PM
         echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
         echo ":0" >> $PM
         echo "  * ^From:.*$EMAILADDRESS" >> $PM
         echo "$LISTDIR/new" >> $PM
         echo "# End of rule" >> $PM
     else
-        filter=$(echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME\n:0\n  * ^From:.*$EMAILADDRESS\n$LISTDIR/new\n# End of rule\n")
-        sed -i "/# encrypt/i ${filter}" $PM
+        # public emails are copied before hte encryption stage
+        if ! grep -q '# encrypt' $PM; then
+            echo '' >> $PM
+            echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
+            echo ":0" >> $PM
+            echo "  * ^From:.*$EMAILADDRESS" >> $PM
+            echo "$LISTDIR/new" >> $PM
+            echo "# End of rule" >> $PM
+        else
+            filter=$(echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME\n:0\n  * ^From:.*$EMAILADDRESS\n$LISTDIR/new\n# End of rule\n")
+            sed -i "/# encrypt/i ${filter}" $PM
+        fi
     fi
     chown $MYUSERNAME:$MYUSERNAME $PM
 fi
diff --git a/src/freedombone-addlist b/src/freedombone-addlist
index 684f84473a08472176d96aa88906b7171dda8f71..592760d9cb37bb140372dd1d130a9ee38d433fb5 100755
--- a/src/freedombone-addlist
+++ b/src/freedombone-addlist
@@ -38,10 +38,11 @@ MYUSERNAME=$USER
 MAILINGLIST=
 SUBJECTTAG=
 LIST_ADDRESS=
+PUBLIC='yes'
 
 function show_help {
     echo ''
-    echo $"${PROJECT_NAME}-addlist -u [username] -l [mailing list name] -s [subject tag] -e [list email address]"
+    echo $"${PROJECT_NAME}-addlist -u [username] -l [mailing list name] -s [subject tag] -e [list email address] --public [yes|no]"
     echo ''
     exit 0
 }
@@ -70,6 +71,10 @@ case $key in
     shift
     LIST_ADDRESS="$1"
     ;;
+    -p|--public)
+    shift
+    PUBLIC="$1"
+    ;;
     *)
     # unknown option
     ;;
@@ -100,7 +105,8 @@ fi
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
 
 if ! grep -q "Subject:.*()\[$SUBJECTTAG\]" $PM; then
-    if ! grep -q "\# encrypt" $PM; then
+    if [[ $PUBLIC != "yes" ]]; then
+        # private emails go after the encryption stage
         filter="
 # Email rule for $MAILINGLIST subject [$SUBJECTTAG]
 :0
@@ -110,8 +116,20 @@ $LISTDIR/new
 "
         echo "$filter" >> $PM
     else
-        filter=$(echo "# Email rule for $MAILINGLIST subject [$SUBJECTTAG]\n:0\n  * ^Subject:.*()\\\[$SUBJECTTAG\\\]\n$LISTDIR/new\n# End of rule\n")
-        sed -i "/# encrypt/i ${filter}" $PM
+        # public emails are copied before hte encryption stage
+        if ! grep -q '# encrypt' $PM; then
+            filter="
+# Email rule for $MAILINGLIST subject [$SUBJECTTAG]
+:0
+  * ^Subject:.*()\[$SUBJECTTAG\]
+$LISTDIR/new
+# End of rule
+"
+            echo "$filter" >> $PM
+        else
+            filter=$(echo "# Email rule for $MAILINGLIST subject [$SUBJECTTAG]\n:0\n  * ^Subject:.*()\\\[$SUBJECTTAG\\\]\n$LISTDIR/new\n# End of rule\n")
+            sed -i "/# encrypt/i ${filter}" $PM
+        fi
     fi
     chown $MYUSERNAME:$MYUSERNAME $PM
 fi