Talk — E2E Encrypted Messenger

  • Area: Workspace
  • Path: platform/talk
  • Kind: Self-hosted E2E encrypted messenger for teams and people
  • Status: Pre-alpha — protocol spec and reference implementation in progress

Role in the stack

Talk is Koder's end-to-end encrypted messenger. It provides one-to-one and group chats, public channels, voice and video calls, file sharing, threads, bots, and status updates — all protected by end-to-end encryption via the Signal Protocol.

Talk is the sibling (not competitor) of platform/chat:

  • Talk — private contacts + public channels, E2E encryption, voice + video, Signal Protocol
  • Chat — business teams, server-side stored history, threads + integrations, Slack-style

Architecture

Layer Choice
Transport Noise Protocol (Noise_XX) over WebSocket / TLS
Serialization Protocol Buffers (binary)
End-to-end Signal Protocol (libsignal — Double Ratchet + X3DH)
Server Go
Persistence PostgreSQL + Redis
Blob storage MinIO (S3-compatible), client-side encrypted
Auth Koder ID (OIDC)
GUI clients Flutter (web, Linux, Windows, macOS, Android, iOS)
CLI client Go

Primary couplings

Consumer Relationship
platform/id OIDC authentication
PostgreSQL + Redis Server state and queues
MinIO Client-side encrypted blobs
ai/voice Voice/video features delegate speech-to-text to Voice