Security
No home-made cryptography: FlickerTalk uses reviewed protocols and libraries, and all of its code is public.
Building blocks
- Messages: end-to-end encrypted with Olm (Double Ratchet), using vodozemac, the Matrix project's audited Rust implementation.
- Transport: WebRTC between the phones (DTLS for data, DTLS-SRTP for calls); TLS to our server.
- Identity: an Ed25519 key per phone; every request to our server is signed with it.
- Keys at rest: sealed by the phone's secure key store (Android Keystore, iOS Keychain), on that device only.
- Server: push tokens encrypted with a key kept outside the database; the mailbox holds only end-to-end encrypted messages and is never backed up.
No trackers
No analytics, no advertising, no crash-reporting services, in the app or on this site.
Threat model
FlickerTalk is designed to protect against a breach of our database, anyone running our servers reading chats, central collection of messages, exposure of a cloud history (there is none), and push services reading messages.
It cannot fully protect against a compromised phone or operating system, malware, screenshots, the other person copying messages, someone holding your unlocked phone, or network metadata held by third parties. How it works lists who can see what.
Open source
The app and the server are published under the AGPL-3.0 licence.
Report a problem
Please report security issues privately, through GitHub's “Report a vulnerability” on the app or server repository, or by email to info@flickertalk.com. We will answer, keep you informed and credit you if you wish.