Secure messaging update: Threema Web vs. Signal Desktop and ProtonMail

Hey, there are neat new toys to play with! In brief: mobile chat apps are progressing and ProtonMail looks nice for secure email. I put a TL;DR down there for you.

I write about this stuff occasionally.

Threema vs. Signal, again some more

Since my last missive, Threema has released Threema Web for the Android platform…but not yet for iOS or Windows Phone.1 Threema Web promises to offer everything I like about Threema on my phone combined with the convenience of using it on a desktop or laptop computer, where I can type with all 10 fingers. At least I hope so. They haven’t rolled it out for iOS devices yet, and I don’t have an Android device, so I’m not sure. But I’m betting Threema Web continues to allow you to be more anonymous on the internet than Signal, which requires registration with a phone number and allows anyone with Signal and knowledge of your phone number to contact you that way. Threema lets you choose whether to be contactable that way, which I highly appreciate.

Nevertheless, I have started seeing more of my contacts showing up on Signal than in the past. Some of them are undoubtedly using it because of my nagging, but apparently not all of them. For example, I see Airport Liner (our favorite shuttle service from Regensburg to Munich Airport) is using Signal now, too. Probably most people don’t care too much or simply trust WhatsApp not to sell them out to its corporate parent (Facebook), now that WhatsApp offers end-to-end encryption2 based on the same technology as Signal. But I still don’t trust them.

Another thing I liked better about Threema vs. Signal from the beginning was the ability to encrypt short audio clips and send them as messages. Threema’s had that for a long time, but Signal must have gotten it in a recent update (to iOS). That feature is extremely useful when your hands are full or you’re at a stoplight and don’t have time to type out what you could say more quickly.

And of course, Signal does secure phone calls — IIRC, the app grew out of the fusion of a secure audio app (RedPhone) and secure text messaging app (TextSecure). I don’t use it for that very much, but it does work.

Still banging on about secure email

Yeah, I still am. It’s not an easy topic to cover. There are

  • competing standards within standards3,
  • somewhat elegant desktop solutions4, but mostly only clumsy apps on mobile devices
  • inherent weaknesses baked in historically5, and of course
  • the raison d’être for the likes of Gmail, Hotmail, Yahoo! Mail: ad revenue. If their machines can’t read your email, they can’t sell you.

I followed the mailpile project for a couple years, even playing with it at home on a Raspberry Pi or my Linux desktop machines, but it appears to progress only haltingly at best, felt clunky to use, and presumes that you (eventually, when they perfect their product) want your mail to be on your local devices only — like a RasPi or a memory stick you keep on your keychain. That’s not really what I want; I want mail on a server somewhere6 that is only readable for the intended recipients.

They’re really playing up the Swissness.

Then internet pal Harvey Morrell called my attention to ProtonMail. This could be a game-changer. You get:

  • public key encryption7
  • a smooth webmail experience in the desktop
  • iOS and Android apps
  • free, paid, and paid-a-lot tiers of service


I was pretty skeptical at first. Webmail can’t be as secure as an offline private key, because the webserver has to have your private key in order to decrypt messages intended only for you, thus defeating the purpose, right?

That’s true…unless there is another layer of encryption on top of that private key preventing its misuse. Wikipedia explains it: yes, the server behind ProtonMail has the private key needed to decrypt messages encrypted for you, but that private key is symmetrically8 encrypted with your login password, and decrypted on the brower-side to display secured message content only in the browser. So: ProtonMail cannot use your private key (even though it lives on their servers) because your login password prevents that. It’s the first web-based email service with public key encrpytion that sounds promising to me, because it actively promotes its inability to decrypt your email upon demand (of anyone — not even you).

Automatic encryption for ProtonMail users, Optional for everyone else

When you send a message from ProtonMail to another ProtonMail user, it’s encrypted for the recipient automatically. Super-duper easy. But what about sending a message securely to someone who is not a ProtonMail user? You can send a conventional plain-text message if you want. But you can also symmetrically encrypt the message for the recipient by providing a password. Then ProtonMail sends the recipient only a link to retrieve the message, and the recipient enters the symmetrical password then. Keeping that symmetrical password secure is up to you! 9

Composing a message for a non-ProtonMail recipient
Pick a password, confirm it, give a hint if you like.
Here is what a non-ProtonMail recipient sees when you send an encrypted message.

Another nice feature, particularly to help wean you off of your current email provider, is that you can ask ProtonMail to send you a daily reminder at your non-ProtonMail address if there are unread messages in your ProtonMail inbox. Slick!

More to come?

ProtonMail still has a way to go. It does not yet support the full functionality of PGP the way GPGMail or Enigmail does: only in-line PGP works for incoming encrypted messages from outside ProtonMail. This means: if you want to send me “ProtonMail sounds promising!” as an encrypted message at my protonmail.com address, you have to encrypt it using my public key (ask me, I’ll give it to you) and send me an email with this text as its body:

Suggest some products to me based on that, Gmail!

That’s in-line PGP, and it’s probably fine for text messages. All the email programs that support PGP do this kind of en- and decryption for you automatically.

Recipient sees the clear text without any extra effort.

But it gets clunky when a message has more than one part to be encrypted. This is common when there is a plain-text version of the email message and a fancy HTML version of the email message wrapped up in one email, or any attachments. PGP/MIME is clearly the right way to go for that use case, but ProtonMail does not support it yet — at least not for in-bound messages.

It also does not yet support storing and using the public keys of non-ProtonMail users. This means you can’t send an encrypted email to someone who is not a ProtonMail user. At most, you can notify them that an encrypted message is waiting to be retrieved (see above). I wonder if that will ever change; it would be convenient for users already comfortable with the likes of PGP, but it could discourage their free customers from ever coughing up for a paid tier of service. I suppose that’s a feature they could include on the paid tier: paying customers are already paying and don’t need further motivation to use the service.

TL;DR

Whether you

  • need secure private messaging for political or journalistic reasons,
  • are merely trying to not to be the product big internet companies sell to their advertisers, or
  • just like the technology,

try Threema and Signal and their desktop app options for chatting, and consider ProtonMail for securing your email messaging. The techiest among us will get by just fine with PGP encryption layered on top of conventional electronic messaging, but maybe these apps are a lower barrier to entry for friends, family, and colleagues who care about the principles but can’t invest in the learning curve associated with old-school public key encryption.

  1. Haha, “who cares, right?” I fear that some day my employer will force one on me. They’re so cheap and apparently work just fine for things like email and calendaring — the things the company wants you to be doing on their devices. []
  2. of content, but not metadata! []
  3. in-line PGP or PGP/MIME? []
  4. kudos to GPGMail for Apple Mail and the venerable Enigmail for Thunderbird extensions []
  5. encrypt the body of the message however you like, but the headers will remain plain as day []
  6. My server or someone else’s? Either option is OK for me. []
  7. à la PGP []
  8. this means one password does both encryption and decryption. Public key encryption is asymmetrical, using the recipient’s public key to “lock” a message for the recipient and the recipient’s private key to “unlock” it. []
  9. Consider sending it through Signal or Threema. []

What's your take on it?