Decentralized, zero-knowledge messaging infrastructure powered by federated servers
Taps.IM operates on a federated network architecture where independent servers communicate using our custom TapsIM Federation Protocol. This ensures no single point of failure while maintaining end-to-end encryption and zero-knowledge privacy.
Each organization runs their own Taps.IM server, creating a peer-to-peer network with no central authority or single point of failure.
Servers only handle encrypted ciphertext. Message content remains encrypted end-to-end with keys never leaving client devices.
The TapsIM Federation Protocol implements HTTP/2 streaming with NDJSON frame codec for real-time message exchange between federated servers.
HELLO
- Establish connectionPING/PONG
- Keepalive mechanismEVENT
- Message transmissionACK
- Message acknowledgmentCREDIT
- Flow controlServers process encrypted content as opaque ciphertext bytes. All cryptographic operations happen client-side, ensuring servers cannot decrypt message content under any circumstances.
Messages encrypted client-side using NaCl secretbox with group-specific keys
Servers relay encrypted bytes without decryption, maintaining message integrity
Encrypted content propagated across federated servers using EVENT frames
Receiving clients decrypt content using shared group keys
The Taps.IM Go server implements a production-ready federation stack with comprehensive observability, chaos resilience, and enterprise-grade security features.
The server follows a milestone-driven development approach from P0 to P9:
Organization A ↔️ Organization B ↔️ Organization C
Each organization runs their own server, connected in a peer-to-peer federation network
Deep dive into the zero-knowledge encryption implementation and client-side cryptography.
Complete technical specification of the TapsIM Federation Protocol and frame formats.
Instructions for deploying and configuring Taps.IM federation servers in production.
Security audits, compliance reports, and certification documents.