Skip to content

End-to-end encrypted chat

Discord features with Signal security

ZippChat gives you servers, channels, roles, voice and direct messages, and encrypts them on your device so the server relays text it cannot read. Use the main service, or run your own instance for you and your friends.

Encrypted by default

New channels are secure: messages are encrypted with a rotating key only members' devices hold. DMs use X3DH and the Double Ratchet, the protocol design Signal published.

Encrypted voice

Every audio frame is encrypted on your device, so the media relay forwards calls it cannot hear, and a join fails rather than fall back to an unencrypted call. The call key comes from the server, so this protects calls from the relay, not from the operator.

Honest about the rest

Some things are not end-to-end encrypted: persistent channels you opt into, their media, voice keys, and the metadata a server needs to route messages. The encryption page lists all of it.

Yours to host

Run an instance on your own hardware. The client can sign in to any instance, and the specs are published so other clients and servers can be built against them.

Android

The Android app is a signed APK, downloaded from here: it is not in an app store yet. Android 8 or newer.

Phone Download
Most phones (64-bit ARM) zippchat-arm64-v8a.apk
Older 32-bit phones zippchat-armeabi-v7a.apk
Emulators, x86 tablets zippchat-x86_64.apk
  • Check the APK against SHA256SUMS before you install.
  • Every APK is signed with the same release key. Its certificate SHA-256 is 4bd1423d7a82cbb555105e74303e2ab356d874ece24443c8b6547a28dd419b63; apksigner verify --print-certs on the APK must print that value.

Desktop

On a computer you can just open the app in your browser. If you would rather have it in its own window, there are desktop builds:

Download Notes
Windows 10/11, x64 ZippChat_0.1.0_x64-setup.exe The web app in its own window (WebView2). The installer is not code-signed yet, so SmartScreen warns: More info → Run anyway. No notifications while the window is closed.
Linux, x86-64 zippchat-linux-x64.tar.gz A native build. Unpack it anywhere and run zippchat/zippchat. Needs GTK 3, libsecret, PulseAudio or PipeWire, libopus and libgbm, which desktop installs already have.

Linux in one command

curl -fsSL https://www.zippchat.app/install.sh | sh

The script installs the libraries ZippChat needs, downloads the newest release, checks it against SHA256SUMS, and adds ZippChat to your app menu. It installs into your home folder, so the app can update itself. It supports Debian and Ubuntu, Arch and CachyOS, Fedora and Nobara, and SteamOS, and the distros built on them. Add -s -- --input-group for push to talk while another window has focus, or -s -- --uninstall to remove it.

Check what you downloaded against SHA256SUMS (sha256sum -c SHA256SUMS on Linux, Get-FileHash in PowerShell). Both builds are early, so expect rough edges.

Build on it

ZippChat's protocols are documented in enough detail to write your own client or server: key agreement and the Double Ratchet, channel encryption modes, the REST API, push wakes and self-hosting. Start at the docs overview.