# VoiceCat documentation VoiceCat is a self-hosted channel-based voice and text system. Control traffic uses TLS 1.3; media uses authenticated encrypted UDP derived from the TLS session. There is no plaintext mode or central service. Current references: - [architecture.md](architecture.md) — components, ownership, concurrency, and native boundary. - [api-dotnet.md](api-dotnet.md) — managed API and ownership contracts. - [building.md](building.md) — development, platform builds, tests, and publishing. - [deployment.md](deployment.md) — server packaging and operations. - [ios-deploy.md](ios-deploy.md) — physical-device iOS build and deployment. - [tech-stack.md](tech-stack.md) — supported dependencies and licensing. - [broadcast-ring-format.md](broadcast-ring-format.md) — frozen extension/host ring ABI. `proto/voicecat.proto` is the control-plane wire contract. Managed tests are the executable behavior contract. Keep prose current with those sources rather than documenting historical implementations. Durable rules: - Encryption is mandatory. - GPL and LGPL dependencies are forbidden. - Real-time audio callbacks never allocate, lock, block, or perform I/O. - The server relays encoded media; it does not mix or transcode it. - Wire, database, and shared-ring changes are explicitly versioned.