Summary
Jami offers messaging and calls without a central account or message server. An account is a cryptographic identity stored on the user's devices; its Jami ID identifies the public key. No phone number or email address is required. A human-readable username is optional. The official FAQ documents these distinctions.
How it works
Discovery. OpenDHT provides a distributed key-value network used for connectivity establishment and message distribution. A bootstrap node introduces a new device to that network. Users can configure another bootstrap node or run one themselves.
Connections. Jami negotiates connections between peers. Its FAQ documents TLS for secure connections and SRTP for media. TURN relays can help when a direct connection cannot be established; a DHT proxy can handle discovery on behalf of a device, including mobile notification workflows.
Conversation history. Swarm conversations use replicated Git repositories. Signed commits carry messages and membership changes; peers validate commits before accepting them. Swarm history is synchronised between participants and linked devices. It is not simply a mailbox stored in the DHT.
Trust model / threat model
Trust rests on device keys, the intended contacts and the software validating their messages. Distributed discovery removes a central account authority, but bootstrap nodes, proxies and relays still perform useful network roles. The FAQ describes peers exchanging IP-address candidates: serverless does not mean anonymous to contacts.
Swarm membership determines who receives history. Encryption does not stop a legitimate member from keeping or redistributing it. Compare Quiet for a team-chat design using Tor, and metadata resistance for the distinction between content privacy and hiding relationships.
Readiness
Usable. The project distributes clients and documents messaging, calls and linked-device operation. Test the actual devices and networks your group will use, especially delivery when devices are not online together.
Limits
History synchronisation needs a reachable peer holding that history. NAT traversal and mobile background operation introduce dependencies even without a central messaging service. Jami is not a substitute for a radio mesh during an internet shutdown; see the messenger comparison.
Primary sources
- Jami project and clients.
- Jami FAQ: accounts, TLS/SRTP, proxies, TURN and synchronisation.
- Distributed network and OpenDHT.
- Swarm conversation design.
Page history
- Updated
- 2026-10-25
- Origin
- Written for ungovernable.tech.
- Improve this page
- Suggest an edit — issues and pull requests are welcome.