Your voice
Only the members of the call can hear it. It's encrypted on your computer, frame by frame, before it leaves.
Security
Crocodile is designed so that servers, networks and even the friend who hosts a room can't read what you say. This page lists what's protected, what isn't, and how.
Only the members of the call can hear it. It's encrypted on your computer, frame by frame, before it leaves.
Only the members of the space or DM can read them, now and later. They're stored on members' devices, never on a server.
Only your own devices and whoever holds your recovery key have it. It's kept encrypted with your system's keychain.
No system that connects people is free of metadata. Here's exactly where Crocodile draws the line.
A threat model lists possible attackers and what each one can and can't do. This is a summary of ours.
| Attacker | Can | Cannot |
|---|---|---|
| Someone watching the network | See which IP addresses you talk to, and how much. | Read content or metadata, or tell what you say from packet sizes. |
| Record now, decrypt later | Store your encrypted traffic for years. | Decrypt it with a future quantum computer: every key exchange is post-quantum hybrid. |
| A malicious server | Lie about who's online, delay or drop connections, keep logs of metadata. | Read content, forge profiles, spaces or invites, swap someone's keys, or get between two apps. |
| A relay or mailbox operator | See sizes and timing of relayed packets, or who left how many messages for whom. | Read, change or forge them. |
| The friend hosting a room | See members' IP addresses and who's speaking when. | Do anything another member couldn't: their relay only forwards encrypted packets. |
| Someone who left a space | Keep what they already saw. | Read anything said after they left: keys are replaced when someone leaves. |
| Someone who steals a key | Read at most the current 30-minute key period of a conversation. | Read earlier messages (deleted keys) or later ones (fresh keys). |
| Someone with your unlocked computer | Everything you can. Use disk encryption, and remove a lost device from another one. | Receive new messages once you've removed the device. |
Well-studied building blocks from audited, open-source libraries (@noble), combined in standard ways.
Ed25519Signatures on every record, message and connection offerX25519 + ML-KEM-768Hybrid post-quantum key exchange for every pairwise secretAES-256-GCMEncryption of messages, voice frames and server connectionsHKDF-SHA256Key derivation and the forward-only ratchetsDTLS-SRTPWebRTC's encrypted transport underneathPadmé · CBR OpusHiding message lengths and speech patternsWe'd rather you hear these from us.
Please report security issues privately through GitHub, so they can be fixed before they're public.