100% Free · 100% Open Source

Your phone calls,
actually private.

COMMS replaces your phone app with end-to-end encrypted calls and messages. AI screens your calls. No company, no subscriptions, no data collection. Just secure communication.

How it works

COMMS runs a small server on your home network (like a Raspberry Pi) that handles your communications.

Your Server

A single binary runs on any always-on device. Manages your identity, routes calls, and stores offline messages.

P2P Calls

Voice and video calls go directly between devices via WebRTC. End-to-end encrypted. No middleman.

Phone Bridge

Optional SIP bridge lets you receive regular phone calls through COMMS, with AI screening and smart routing.

Features

End-to-End Encrypted

All calls and messages are encrypted using WebRTC's built-in SRTP. Your server never sees the content.

AI Call Screening

An AI assistant answers unknown callers, determines intent, and decides whether to ring you, take a message, or reject.

No Identity Required

Your identity is an Ed25519 keypair. No phone number, no email, no username. Just a cryptographic key.

Contact Discovery

Opt-in phone hash matching finds which of your contacts use COMMS. Or share QR codes for maximum privacy.

Auto-Upgrade

When both parties have COMMS, calls automatically upgrade from legacy phone to P2P encrypted. Seamlessly.

Encrypted Messages

Offline messages are stored encrypted on your server and delivered when the recipient comes online.

Architecture

   Mobile App (React Native + Expo)
        |
        | WebSocket (signaling)
        | HTTPS (API)
        v
   COMMS Server (single Go binary, ~17MB)
   ├── WebRTC Signaling  ── P2P encrypted calls
   ├── REST API           ── users, messages, contacts
   ├── Message Store      ── offline message relay
   ├── SIP Bridge         ── legacy phone integration
   ├── AI Triage          ── call screening
   ├── SQLite DB          ── all data, single file
   └── Dashboard          ── web status page
        |
        | SIP (optional)
        v
   VoIP Provider (Telnyx) ── PSTN phone network

Get Started

1

Download the server

Grab the latest binary from GitHub releases, or build from source with 'go build ./cmd/server'.

2

Run setup

Run 'comms-server setup' to create your data directory and generate your server identity (Ed25519 keypair).

3

Start the server

Run 'comms-server' to start. The server listens for WebSocket signaling and REST API requests.

4

Install the mobile app

Download the COMMS app on your phone. Scan the QR code from the dashboard to connect to your server.

Quick start

$ git clone https://github.com/Parsons-ai/comms.git

$ cd comms/comms-server

$ go build -o comms-server ./cmd/server

$ ./comms-server setup

$ ./comms-server