# NoamVC: end-to-end encrypted P2P voice chat

> Private, encrypted P2P voice chat desktop application. Direct audio between participants without intermediary servers.

- **Author:** Hans Vergara (https://h4nsd3v.web.app/en/)
- **Published:** October 8, 2026
- **Tags:** Tauri, Rust, WebRTC, E2EE
- **Related project:** NoamVC (https://noamvc.web.app/)
- **URL:** https://h4nsd3v.web.app/en/blog/noamvc/
- **Translation:** https://h4nsd3v.web.app/blog/noamvc/index.md

## About the Project

**NoamVC** is a private, encrypted peer-to-peer voice chat desktop application. Audio travels directly between participants — no intermediary servers.

### Key Features

- **Native WebRTC**: Direct peer connections via `RTCPeerConnection` — audio never goes through a server.
- **E2E encryption**: Insertable Streams + PBKDF2-SHA256 (100K iterations) for end-to-end encryption.
- **HMAC-SHA256 in Rust**: Secret embedded in the binary at compile time — it never touches JavaScript.
- **Secure storage**: IOTA Stronghold — an encrypted vault on disk, nothing in localStorage.
- **Tuned Opus codec**: 32 kbps, mono, FEC, DTX, 20 ms frames.
- **Hot microphone switching**: Without interrupting the call (`replaceTrack`).
- **Real-time speech detection**: FFT-256 analyzer with instant visual indicators.
- **Invite-only rooms**: Unique codes and shareable links.
- **Internationalization**: Spanish and English with automatic detection.
- **Native app**: Signed and notarized builds for macOS (ARM + Intel).

### Tech Stack

- Tauri 2 (Rust backend)
- React 19 / TypeScript 5.9 / Vite 7
- Tailwind CSS 4 / shadcn/ui
- Native WebRTC + Insertable Streams
- Socket.IO 4.8
- NestJS 11 (signaling server)
- IOTA Stronghold (encrypted storage)
- HMAC-SHA256 (Rust compile-time)

---

*More information and downloads at [noamvc.web.app](https://noamvc.web.app/).*
