DocsReference
Privacy and technical details
What the server does and doesn’t do, where your data is kept, network requirements and technical values.
Where your recordings are kept
Your recordings are not stored on any server. The sound is first written to the computer of the person recording, then, when the recording ends, moved directly to the host’s computer and merged there.
Mixapod contains no usage statistics or ad trackers.
What the server does
Mixapod’s server (mixapod.heworx.com) only brings people together:
| Job | Description |
|---|---|
| Sessions | Links the invite code to the session and keeps track of who is in the session |
| Connection setup | Passes between two computers the information they need to connect directly |
| Shared clock | Provides time information so the recording starts and stops at the same moment for everyone |
| Contacts and calls | Relays the online status of people who have added each other, and calls |
| Mixapod numbers | Keeps track of which number belongs to which computer |
| Messages | Holds end-to-end encrypted messages until the other person receives them, and passes them on; can’t read them |
| Relay | Passes encrypted traffic on networks that can’t connect directly |
| Updates | Provides new version information and the installer |
Online status, missed call notifications (24 hours) and call limit counters are kept only in the server’s memory; they are erased when the server restarts. Encrypted messages not yet delivered, and “delivered” notices, are kept on the server’s disk so a restart doesn’t lose them; they are deleted as soon as the other computer receives them, after 30 days at the latest. Display names and session codes are written to the server log.
What the server sees
To set up calls and sessions the server sees the following; it never sees sound, recordings or files:
- who is in which session, display names, whether someone is muted, the session title, when recording starts and stops,
- who called whom, Mixapod numbers and status messages,
- for messages: who wrote to whom and when, the name the sender goes by and the size of the sealed envelope; it can’t see the text,
- for Who can call me and online visibility: the numbers in your contacts and the numbers you have blocked.
The connection to the server is encrypted with HTTPS / WSS; nobody on the network can read this information.
Sound and files travel encrypted
Live call audio, soundpad sounds and recording files are encrypted by WebRTC: audio with DTLS-SRTP, files with DTLS. The encryption keys are created on the two computers; the server doesn’t see them. Even when a direct connection can’t be made and the relay server is used, the server only passes encrypted packets along; it can’t see the content and doesn’t store it.
The two computers send each other their key fingerprints through the Mixapod server. If someone stepped in on the server and swapped them, you could tell: the lock on each person’s card in the lobby shows a 20-digit safety code computed from both fingerprints. If you both see the same code, nobody is in between. The code has 20 digits because a short one could be faked by generating new keys until it matched.
So that two computers can find each other, Mixapod uses Google’s public STUN server in addition to its own server. The STUN server only sees your computer’s public IP address; it sees no sound or content.
Messages are end-to-end encrypted
On first use every computer creates two P-256 key pairs: one to open the messages sent to it, one to sign the ones it sends. The server keeps only the public keys next to the number; the secret keys stay on your computer, in Windows’ encrypted storage.
Each message is encrypted with AES-256-GCM using a one-time key (ECDH and HKDF-SHA256) and signed with the sender’s key. The recipient’s computer only accepts a message after checking the signature and that it really comes from that number and is meant for it. If the server tried to step in by swapping public keys, the 30-digit safety number would differ on the two sides.
Information kept for numbers
For each number, the server keeps only the following: the number, a hash of the secret key on your computer (not the key itself), a hash of the recovery code, the time the number was issued and last seen, and your computer’s public keys for messages. The secret key stays only on your computer.
Live stream
The YouTube live stream does not pass through the Mixapod server: the picture and sound are prepared on the host’s computer and go straight to YouTube over RTMPS. The stream key is kept only on that computer, in Windows’ encrypted storage. To send the stream, Mixapod includes a small copy of FFmpeg (licensed under the LGPL 2.1).
Voices from text
When you make a voice in the Studio, the text you type and the voice you choose go with your own key straight to ElevenLabs (api.elevenlabs.io) or OpenAI (api.openai.com); they don’t pass through the Mixapod server. When you save a key, it is checked once with a free request (the voice or model list). Keys are kept only on this computer, in Windows’ encrypted storage; they are never shown again and never written to the log. Recordings made from the microphone in the Studio are never sent anywhere.
Vertical clip
When you make a clip with captions, the sound of that clip (90 seconds at most) is turned into a small file and sent only to OpenAI, which returns the words with the moment each one starts; the temporary file is deleted straight after. With captions off, no sound leaves your computer. The video itself is made on your computer and written into the Klipler folder inside the recording's folder.
Files kept on your computer
| What | Where |
|---|---|
| Recordings and merged files | Documents\Mixapod |
| Settings | %APPDATA%\Mixapod\settings.json |
| Contacts and calls | %APPDATA%\Mixapod\contacts.json, calls.json |
| Messages | %APPDATA%\Mixapod\messages.json |
| Message keys (secret half encrypted) | %APPDATA%\Mixapod\mailkeys.json |
| Soundpad settings, sounds and icons | %APPDATA%\Mixapod\pads.json, pads\ |
| Preamp settings and your presets | %APPDATA%\Mixapod\preamp.json |
| Secret key of your Mixapod number | %APPDATA%\Mixapod\identity.json |
| YouTube stream key (encrypted) and cover picture | %APPDATA%\Mixapod\live.json |
| Voice generation keys (encrypted) | %APPDATA%\Mixapod\tts.json |
| Voices and microphone recordings made in the Studio | studio\ inside the recording’s folder |
| Vertical clips | Klipler\ inside the recording’s folder |
| Log | %APPDATA%\Mixapod\logs\main.log |
| Downloaded updates | Temporary folder, mixapod-update |
There are no accounts; no e-mail address, phone number or password is asked for.
Network requirements
| Connection | Port | What for |
|---|---|---|
mixapod.heworx.com | 443 (HTTPS / WSS) | Sessions, shared clock, contacts, numbers, messages, updates |
| Direct WebRTC | UDP, variable | Live audio and file transfer |
| Relay (TURN) | 3478 UDP/TCP, 5349 TLS | When a direct connection can’t be made |
| YouTube (only while streaming) | 443 (RTMPS) | The host’s stream, straight to YouTube |
Most home and office networks need no extra setup. On corporate networks where UDP is blocked, the connection is made through the relay.
Technical values
| Value | |
|---|---|
| Recording | WAV, 48 kHz, 24-bit, mono, per person |
| Session | 1 host + up to 4 guests |
| Recording start | On the shared clock, at the end of a 3-second countdown |
| Seat kept after a drop | 10 minutes |
| File transfer | 64 KB chunks, resumes where it left off, SHA-256 verification |
| Speed correction | Up to ±1000 ppm |
| Voice balancing | −20 LUFS per person (ITU-R BS.1770) |
| Mix | Stereo, −16 LUFS, limiter −1 dBFS (5 ms lookahead) |
| Output | Stereo WAV 48 kHz 24-bit + MP3 192 kbps |
| Production | MP3 128 / 96 / 56 kbps, WAV; 44.1 / 48 kHz |
| Preamp latency | 119 samples (2.5 ms), compensated in the recording |
| VU meter | IEC 60268-17 ballistics, 0 VU = −18 dBFS |
| Call ring time | 60 seconds; an invite to an offline contact waits 10 minutes |
| Update check | 8 seconds after launch, then every 4 hours |
| Live stream | 1280×720 30 fps H.264 (~2.5 Mbps) + AAC 160 kbps, RTMPS |
