There are a number of options that can be added to this application to make it more flexible. Here are some ideas that I will implement when I get around to it. Patches welcome. 1.) Use Key IDs interchangeably with email addresses 2.) Optionally support signing as well as encrypting. --sign-key "The email address or key id to sign with" --sign-pass "The password for the secret signing key" --sign-pass-file "Path to file containing password for the secret signing key" 3.) If there are no recipients, should we just output the original message and exit, or die? --on-missing-recipients output-plain / die 4.) Perhaps have an optional default recipient option which is used if no other recipients are provided. --default-recipient key-id or email-address 5.) If one or more of the recipients doesn't have a public key in the local gpg ring how do we behave? --on-missing-key output-plain / discard-recipient / die 6.) At the moment, we prefer inline encryption and fall back to PGP/MIME if the message is multipart. Should provide several different optional modes of encryption. --encrypt-mode prefer-inline / pgpmime / inline-or-plain 7.) Optionally specify path to the gpg "homedir" on the command line --gpg-home path-to-gnupg-directory