I currently use Threema, which seems to be pretty secure. Unfortunately, it is not open source. A killer feature in Threema ist that you can exchange (and verify I believe) the certificates physicly. You just scan the other party's qr code (it think it is either the fingerprint or the public key) and it saves it to the contact (it will not save it to your phone it will just remember that user with the id ABC uses that certificate. But until it is open sourced, we can only use the good ole PGP.
Reference and more details: https://whispersystems.org/blog/contact-discovery/
Commit that removes bloom filters (unreleased, will be in version 2.4): https://github.com/WhisperSystems/Signal-iOS/commit/26f9207c...
I would think that's a pretty big change to be announced other than a blog post. I reread the post and the only mention is "For TextSecure, however, we’ve grown beyond the size where that remains practical, so the only thing we can do is write the server such that it doesn’t store the transmitted contact information, inform the user, and give them the choice of opting out".
That's pretty WTF to me. Disabling access to contacts now and back to wishing for my unicorn messaging app.
It's not like they don't know how, copying Threema's UI would be a massive improvement. Hell, even Snapchat lets you add a friend by scanning their screen, it's not like it's some user hostile ivory tower feature.
Contact discovery without the server seeing the list of contacts is hard.
If you disable access to contacts, all it does is complain about access with no way to bypass.