Simple end-to-end encrypted voice calls.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Kramer 9e8d17b16f Web: Fix stylesheet to handle long words in chat. 1 day ago
doc Doc: Update doc on security protocol. 4 months ago
picotalk-python Comments. 4 days ago
picotalk-web Web: Fix stylesheet to handle long words in chat. 1 day ago
.gitignore Initial commit. 9 months ago
COPYING Initial commit. 9 months ago
LICENSE Initial commit. 9 months ago Doc: Update doc on security protocol. 4 months ago


PicoTalk aims to be a simple and privacy oriented solution for group-calls. PicoTalk relies on a central server that is used for signalling and also routing and mixing of the audio signals. The goal is to provide true end-to-end encrypted group-calls such that the server does not have to be trusted. This is work-in-progress tough.

More on the protocol can be found here.

An example with a web user interface can be found here:

PicoTalk Python is the main implementation of picoTalk. This includes a server and client program written in Python.

PicoTalk Web is an alternative implementation of the client which can be run from a browser.

Install on Debian

Install the executables:

git clone [this repo]
cd [this repo]
cd picotalk-python
python3 develop --user

Python installs the executable scripts by default into $HOME/.local/bin. This folder must be in the PATH environment variable. If it is not in the PATH variable yet it can be added by appending the following line to .bashrc:

export PATH=$PATH:$HOME/.local/bin

Install prerequisites:

sudo apt install python3-pyaudio python3-numpy python3-scipy python3-aiohttp python3-nacl

For the server only the following is necessary

sudo apt install python3-numpy python3-nacl

Optionally install uvloop for higher performance:

sudo apt install python3-uvloop

Run the client

picotalk-client -s -r mySecretRoom

Run the server

picotalk-server # Use --uvloop to use uvloop.

PicoTalk Web

PicoTalk Web is a picoTalk client written in HTML and JavaScript that can be run from the browser.

The web client can be run by opening picotalk-web/static/index.html in a browser or, alternatively, serving the HTML/JavaScript content using a web server.

In contrast to other browser based voice call solutions this does not use WebRTC but simply WebSockets.

Installation instructions are here.