Talk

Talk — E2E Encrypted Messenger

  • *rea:*Workspace
  • *ath:*platform/talk
  • *ind:*Self-hosted E2E encrypted messenger for teams and people
  • *tatus:*Pre-alpha — protocol spec and reference implementation in progress

Role in the stack

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

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

  • *alk*— private contacts + public channels, E2E encryption, voice + video, Signal Protocol
  • *hat*— business teams, serverside stored history, threads + integrations, Slackstyle

Architecture

Layer Choice
Transport Noise Protocol (Noise_XX) over WebSocket / TLS
Serialization Protocol Buffers (binary)
Endtoend Signal Protocol (libsignal — Double Ratchet + X3DH)
Server Go
Persistence PostgreSQL + Redis
Blob storage MinIO (S3compatible), clientside 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 speechtotext to Voice

Source: ../home/koder/dev/koder/meta/docs/stack/modules/talk.md