No number, no e-mail, no account. Your identity is created on your phone, and no server knows who you are.
Messages leave your phone encrypted, travel through the Tor network — which hides where you connect from — and reach a server that cannot read them and does not know who sent them.
version 0.1.0 · android 10 or newer · requires orbot · free, no adsNo account, no address book: you and the other person install Cifra and exchange IDs. Everything happens on the two phones.
One tap, and the app generates an identity that is yours alone, on the phone. It becomes a 16-character ID and a unique pattern you can recognise at a glance. No personal data is asked for.
They are the only copy of your identity. With them you recover your ID on a new phone and open your backup; without them, the identity is lost with the device. Whoever has them becomes you: keep them on paper, away from the phone.
Send your ID any way you like and paste the other person’s into “New chat”. There is no search by name, no contact list and no QR code. Anyone who writes without being a contact arrives as a request, to accept, decline or block.
Each chat has a 60-digit number, identical on both phones. If they match, nobody is impersonating your contact. Compare in person, or paste the number the other person sent over another channel, and mark the chat as verified.
The cryptography follows Signal’s published protocols, implemented in open code. Nothing home-made.
Photos, videos and files (up to 25 MB) travel separately, encrypted the same way and kept for the same period. Of those, the path only sees the approximate size.
Each option explains, in the app itself, what happens when you turn it on. Nothing depends on a cloud.
Choose a secret code and hide any chats you want: they leave the list, the search and the notifications. To see them again, type the code into the search field. Without it, nothing on screen suggests they exist.
In under two seconds, Cifra destroys the keys and erases chats, contacts and settings on this phone; with a connection, it asks the server to delete your ID and your box. There is no undo: the identity only returns with the 12 words, and whatever you saved to the gallery or exported as a backup stays where it was.
No app is “100% secure”. This is the map of what it does and what depends on you.
During development of this version, the app went through 12 acceptance tests on an emulator — among them a forensic examination with IPED, the Brazilian Federal Police’s forensic analysis tool:
The tests have not yet been repeated on a physical device, and the code has not had an independent security audit. Cifra is new: keep that in mind.
Read the report →Free, no ads, no tracking. For now, the installer (APK) is downloaded directly from here.
Orbot is available at orbot.app, on Google Play and on F-Droid.
No dates for any of these. Whatever comes installs over the current version, with the same signature.
Without JavaScript, the check does not run on this page: use the terminal, just below.
Windows: certutil -hashfile cifra-0.1.0.apk SHA256
Linux: sha256sum cifra-0.1.0.apk
macOS: shasum -a 256 cifra-0.1.0.apk
52:C0:6A:21:D4:DB:82:5A:FA:C2:64:C3:C5:87:E4:71:06:9A:BD:5F:C7:44:6B:DC:3C:6C:D8:A1:BC:6A:33:F4
It is the same in every version. On a computer with the Android SDK, the command below prints the line “certificate SHA-256 digest” — in lowercase, without the colons:
apksigner verify --print-certs cifra-0.1.0.apk
The fingerprint is also in the source code repository. Check it in more than one place.
The app, the server and the privacy policy are public, under the GPLv3 licence. Security comes from mathematics, not secrecy: anyone can read the code, point out problems and verify that the file they installed is the one that was published.
why cifra exists “Privacy is necessary for an open society in the electronic age. Privacy is not secrecy. […] Privacy is the power to selectively reveal oneself to the world.” Eric Hughes, A Cypherpunk’s Manifesto, 1993 Cifra exists so you can exercise that power: to talk without handing over who you are — not even to the server that carries the message.
fmkanegcrocf53hmd7xnz4gnrjkewk4oo4bixebrrlxxrs4u4gpxviyd.onion
donations in monero
86QtU9BtiGzRdwNZo5yd9eTbH4EHVd8xd1Cr2DpHLeBJe7Kqiz4JrzzDjq9F79XuTcGuFGi1TnouYX7deAkS7Zr4K1Hmxak
Also check the address inside the app before sending.
contact
appcifra@proton.me