Privacy Policy

Nexa Beep · Effective 2026-10-19 · Last updated 2026-10-12

Nexa Beep (the “Software”) is a local-network messenger for Windows, macOS, and Linux distributed by SosomLab (the “Company”). This Privacy Policy explains what data the Software handles, where it is stored, what leaves your device over the network, what the relay server operated by the Company can and cannot see, and what the Company receives when you apply for a commercial license.

Notice of revision (posted 2026-10-12 · effective 2026-10-19) This Policy has been revised to reflect changes in Software versions v0.3.0–v0.5.0. Main changes: (1) when multi-device identity is enabled, copies of messages you send, recent conversation history, and read state are delivered to your own other devices over encrypted sessions (Sections 2 and 3-4); (2) the conversation-history mapping files and the license file are stored in plain text (Section 2); (3) the information the Company receives when you apply for a commercial license and how it is handled (new Section 7); (4) your rights (Section 9). The scope of information handled by the relay server has not changed. The revision history is at the end of this page.

1. Summary

  • By default the Software communicates directly between devices on the same local network (LAN). No Company server is involved in this mode, and the Company does not automatically receive any data from the Software.
  • The Software contains no analytics, telemetry, advertising, or tracking. There is no account sign-up, and the Software never connects anywhere to check a license.
  • Every message and file is end-to-end encrypted (Noise_XX) between devices. Whatever path the data takes, only the participating endpoints can read it (including the multiple devices a peer has grouped together and your own other devices — Section 3-4).
  • The Software contacts the Company-operated server beepd.sosomlab.com only if you explicitly enable the relay feature (Section 4). That server cannot read your conversations and stores nothing to disk.
  • Message contents, received files, and contact details kept on your device are stored encrypted and can be deleted by you at any time. Some files — settings, the identity key, the conversation-history mapping files (peer public keys), and the license file — are plain text (Section 2).
  • If you enable multi-device identity (optional, off by default), parts of your conversation history are delivered, encrypted, to your own other devices (Section 3-4). Nothing is stored on a Company server.
  • The Company receives personal information from you only when you apply for a commercial license by emailing a request code, or when you contact us (Section 7).

2. Data Stored on Your Device

The Software creates files in a single data folder only. It uses the data/ folder next to the executable if that is writable (portable build, Windows installer); if the install location is replaced wholesale on upgrade (macOS app bundle, Homebrew, Linux packages) or is not writable, it uses your operating system’s user configuration folder. If neither is writable it falls back to .nexa-beep in your home folder. You can check the actual location with nexa-beep --whoami.

ItemContentsStorage
SettingsOptions you choose: theme, language, sorting, filters, window size, notifications, transfer limits, server addressPlain text (settings.cfg — contains nothing sensitive)
Identity keyThe device’s X25519 key pair. The fingerprint of its public key is the only identifier the Software uses for youPlain text (identity.key — it is the root that encrypts the other files and cannot wrap itself; Unix mode 0600)
User key · pairing passphrase (only if multi-device identity is enabled)The Ed25519 user key that groups your own PCs as one user, and the pairing passphrase known only to your own devicesEncrypted (user.key · Unix mode 0600)
Trust pinsPublic keys of peers you have met and their trust state (pinned, fingerprint-verified, blocked)Encrypted (trust.seg)
Conversation historyMessages and completed-transfer records for 1:1 and group chats (including lines received from your other devices if multi-device identity is enabled)Encrypted (history/*.seg segment files · Unix mode 0600)
Conversation-history mapping (v0.5.0+)The full public key (32 bytes) of each peer device that a history file belongs to (file names contain only the leading part of the fingerprint) — one per peer with historyPlain text (history/{fingerprint prefix}.id · Unix mode 0600). A public key is not secret, but anyone who can read these files can tell which peers this device has conversation history with. No message content is included
Quarantined received filesReceived files awaiting your approval (.beepq sealed envelopes)Encrypted
Profile contact detailsEmail address and phone number you enter in your profileEncrypted (profile.sec)
Profile image cacheYour avatar and avatars sent to you by peersEncrypted
Offline queueOutgoing messages held while the recipient is offlineEncrypted
Status log (optional, off by default)Status-bar text written to a daily filePlain text (only if enabled; contains status text only)
License file (only if a commercial license is installed)The file signed and issued by the Company: license ID, licensee name, tier, issue date and term, device code (hash)Plain text (license/nexa-beep.license · Unix mode 0600 · tampering is detected by its signature). An administrator may instead place it in a machine-wide location (e.g. %ProgramData%\nexa\nexa-beep on Windows)

Encryption uses ChaCha20-Poly1305 sealed envelopes (NBSE) with keys derived from the device identity key. Consequently, if identity.key is compromised, the encrypted files on the same device can be opened as well — safeguarding and backing up the key file is your responsibility, and the Software says so in its settings screen.

These files themselves are never copied off your device and are never uploaded to the relay server. However, if you enable multi-device identity, parts of your conversation history (copies of messages you send, recent history for a device that was offline, and read state) are delivered to your own other devices over encrypted sessions, and the receiving device re-encrypts them with its own key before storing them (Section 3-4). File contents, key files, and trust pins are not delivered this way.

Deleting the data folder removes all of that device’s data permanently. Deleting a single conversation discards that conversation’s data key (crypto-shredding), so its remaining bytes can no longer be decrypted. Deletion applies only to that device and is not propagated to other devices. If the same conversation remains on another of your devices grouped by multi-device identity, you must delete it there as well; history that remains may be delivered back through catch-up. Old data may also survive in SSD wear-levelling areas or in backups you have made; the Software does not guarantee physical erasure.

To start at login, the Software adds a user-level autostart entry (Windows HKCU\…\Run, macOS LaunchAgent, Linux XDG autostart). This is on by default and can be turned off in settings. The Software writes nothing else to the registry or system areas.

3. Data Sent on the Local Network (LAN)

3-1. Discovery packets

To find other users on the same network, the Software periodically sends discovery packets by UDP multicast/broadcast (default port 47100). These packets are not encrypted and contain only:

  • the device public key (fingerprint);
  • a display name — by default your hostname with anything that looks like a real name removed, or beep-{fingerprint} if that cannot be determined; you can change it at any time;
  • the session listening port;
  • a flag and revision number indicating whether a profile is available (the profile contents are not included);
  • if multi-device identity is enabled, a 16-byte hash tag derived from your handle and pairing passphrase (a hint for finding your own devices — the handle and passphrase themselves are never sent, and the tag cannot be reversed).

Email addresses, phone numbers, real names, bios, and messages are never placed in discovery packets. Because anyone on the same network can observe these packets, the fact that you are running the Software and your display name are not hidden within the LAN. Since a fixed public key is broadcast periodically, an observer on the same LAN could also re-identify the device over time.

3-2. Sessions

When you connect to a peer, the Software performs a Noise_XX handshake over TCP (default port 47200); every message, file, profile, and delivery/read receipt then travels only through that encrypted session. A network observer can see packet sizes and timing but not contents.

If a peer has grouped several devices with multi-device identity (v0.4.0+), the messages you send are delivered to all of that peer’s online devices, each over its own encrypted session, and may also reach the peer’s other devices through the peer’s own synchronization (Section 3-4). You cannot control which devices a peer has grouped together.

3-3. Profile disclosure (opt-in)

Your profile name, email, phone number, bio, and photo are each disclosed only if you switch them on individually (all off by default). Only the items you make public are sent, through the encrypted session, to peers you are connected to; for peers on the same LAN a quiet profile-exchange session is established automatically right after discovery. Turning an item off removes it from peers’ caches at the next announcement, but cannot erase what someone has already seen.

A profile received from a peer is merely “what that key claims”; the Software does not vouch for its accuracy.

3-4. Multi-device identity (optional · v0.2.15+)

When you enable multi-device identity in Settings › User, your own devices that share the handle (a short public name) and pairing passphrase you chose recognise each other as “my device” without approval or fingerprint comparison. The feature is off by default. When enabled:

  • The pairing passphrase is never sent to the server or to any peer. A PSK derived from it is used for a separate handshake (Noise XXpsk3) with your sibling devices, and membership is proven inside that session.
  • Your devices exchange the user key and a signed device list (which devices belong to the same user) inside the encrypted session only. When two devices meet for the first time, their user IDs merge towards the older one.
  • The handle is shown to connected peers on the user line of your profile card. It is only a label, not an identity; if a different user key uses the same handle, peers see a conflict marker.
  • If you lose a device and replace the user key, a succession certificate is sent to peers so that the old ID carries over to the new one. It contains no profile or message data.
  • Conversation sync (v0.4.0–v0.5.0) — devices of the same user exchange the following inside the encrypted session between sibling devices (Noise XXpsk3):
    • Sender copies: a copy of a message you send to a peer from one device (with that peer’s public key and a display-name hint) is handed to your other devices so it also appears in their conversation.
    • Catch-up: when one of your devices comes back online, it receives the conversation it missed from a sibling device. Text lines only (file contents are excluded), up to the most recent 200 lines per conversation (thread) and 1 MiB per session. Each line carries its text, time, originating device, and sender display name.
    • Read state: a “read up to here” marker for a conversation read on one device is sent to your other devices so their unread badges clear too.
    • This data travels only between your own devices; sync data arriving over anything other than a sibling session is discarded. If your devices are on different networks it may pass through the relay server, which only forwards end-to-end ciphertext and stores nothing (Section 4-2). The receiving device stores what it receives re-encrypted with its own key; history files themselves are never transferred.
    • Turning multi-device identity off, or revoking a device in the My Devices list, stops synchronization with that device, but content already delivered remains on each device (delete it on each device as described in Section 2).

4. Relay Server (Optional Feature)

Communicating with someone who is not on your LAN requires a relay server. This feature is enabled only when you set Settings › Server to Managed and press [Test] successfully. Until then the Software makes no Internet connections at all.

4-1. The official default server

The default server address in the app is beepd.sosomlab.com:47300 (TCP+UDP), operated by the Company. The server program, nexa-beepd, is open source in the same repository as the Software, and you may point the app at a server you host yourself or at any other server. The official server runs on a virtual machine provided by a cloud provider (Oracle Cloud Infrastructure).

4-2. What the server receives

When connected, the Software establishes a Noise-encrypted channel with the server and sends the following:

InformationContentsHow the server treats it
Rotating rendezvous IDsA 16-byte hash of your device public key and the UTC date (yesterday, today, tomorrow). The public key itself is never sent, and the hash cannot be reversedHeld in memory only while you are connected; gone when the connection closes
Pairing rendezvous IDs (only if multi-device identity is enabled)Three 16-byte values (yesterday, today, tomorrow) derived from your handle and pairing passphrase, used only as a meeting point for your own devices on other networks. The handle and passphrase themselves are never sentHeld in memory only while connected
Public IP address and portAs observed by the server on your connection; forwarded to the peer so that a direct connection (hole punching) can be attemptedHeld in memory only while connected
Channel open/close events and byte countsWhich two rendezvous IDs were connected, when, and how much they exchangedHandled in memory during relaying only
Ciphertext fragmentsOnly when hole punching fails and the server must carry the data itself. This is end-to-end ciphertext between the two devices; the server cannot open itForwarded immediately; never stored

The server stores nothing to disk. It is a pipe, not a buffer: data flows only while both parties are connected, and even when operational logging is turned on, only connection numbers, the first 4 bytes of rendezvous IDs, channel numbers, and byte counts are recorded. Message bodies, files, file names, profiles, and peers’ names or affiliations never reach the server.

Using the relay does mean, however, that the server learns the metadata “which rendezvous ID connected with which, and when”, along with your public IP address. It cannot see the contents, but this fact cannot be concealed, and the Software documents it openly.

4-3. Server user list and public card (opt-in)

While the relay is enabled, the setting “Show me to server users” (on by default once the relay is enabled; can be turned off) makes you and other users who have the same setting appear in each other’s lists simply by being connected to the server. For this the server receives, and relays only to other users who have the setting on:

  • your device public key (fingerprint);
  • a public card containing only the profile items you have made public (name, email, bio; at most 1 KiB). If nothing is public the card is empty.

The server does not interpret the card — it only checks its size — keeps it in memory only, and discards it when you disconnect. Turning the setting off stops your information from being relayed and also stops you from receiving other users’ lists (a mutual rule). Please be aware that via the public card, your name, email, and bio become visible to other users connected to the same server. You can change which items are public in your profile settings at any time.

4-4. Server identity verification

On first connection the Software pins the server’s public key; if that key ever changes, the Software refuses to connect and warns you. The official server’s pin is published in the project wiki so that you can compare it.

5. Handling of Received Files

Files sent to you are kept encrypted in quarantine until you approve them. The Software never executes a received file, never opens links automatically, and never extracts archives automatically. On Windows, quarantined files are scanned through the antivirus interface (AMSI) of whatever security product is installed on your PC; this scan takes place entirely on your machine. Only files you approve are materialized into your download folder, and they carry the operating system’s quarantine marker (Mark-of-the-Web / quarantine attribute).

6. Third-Party Services

The Software uses no third-party analytics, advertising, or crash-reporting services. It uses the operating system’s notification, tray, and autostart facilities, which are governed by each OS’s own policies. If you use a relay server hosted by someone else, that operator can see the information described in Section 4-2; the Company is not a party to that relationship. If you email a license request or an inquiry, that email passes through the email services used by you and by the Company, and those providers’ policies apply.

7. Information Processed When You Apply for a Commercial License (v0.3.0+)

Non-commercial use requires no license file; this section applies only to users who apply for a commercial license. The Software never connects anywhere to check a license and never sends a request code to the Company automatically. When you yourself email the request code created under Help › License… (or with nexa-beep --license request) to [email protected], the Company receives the following:

ItemContents
Information in the request codeDevice code (a 20-byte SHA-256 hash of the operating system’s machine identifier — the identifier itself is not included) · operating system type · app version · request date · the name and email address you entered (only if you entered them)
The email itselfThe sender’s email address and whatever you write in the message
  • Purpose: issuing the license file (your licensee name and device code are signed into the file), keeping issuance records, reissuing and handling device changes, and answering license inquiries. It is not used for any other purpose, such as marketing.
  • Retention: the Company keeps the issued license file and an issuance record (license ID, licensee name, email, part of the device code, product, issuance terms such as tier and term, notes) on systems it manages. They are kept for as long as needed to issue and manage the license, and are deleted without delay if you ask. Where applicable law requires records such as transaction records to be kept, they are kept for the period required.
  • Disclosure to third parties: the Company does not sell or provide this information to third parties (except where required by law).
  • If you do not send a request code, the Company receives none of this. You may also leave the name and email blank when creating the request code (the Company may then confirm the details needed for issuance by email).

8. Children

The Software is a general-purpose messenger and is not directed at children. The Company does not knowingly collect personal information from children.

9. Your Rights

  • Data on your devices: the data described in Sections 2–3 stays on your device under your control and can be removed as described in Section 2. The Company does not hold this data, so there is nothing on the Company’s side to access, correct, or delete. Content delivered to your other devices through multi-device identity is deleted on each device.
  • Official relay server: information held in memory while you are connected (Section 4) disappears as soon as you disconnect or turn the relay off.
  • License application information (Section 7): you may request access to, correction or deletion of, or suspension of processing of the information the Company holds about you. Contact us at the address below; we will act on your request without delay after verifying your identity. Once the issuance record is deleted, license support such as reissuing or device changes may no longer be possible (an already installed license file keeps working).

10. Contact

11. Changes to This Policy

If this Privacy Policy changes, the revised text and its effective date will be posted on this page. Material changes — in particular any broadening of what the relay server handles or any additional personal information processed by the Company — will be announced at least 7 days before they take effect.

Revision History

PostedEffectiveChanges
2026-10-122026-10-19Reflects Software v0.3.0–v0.5.0 — disclosure of conversation sync under multi-device identity (sender copies, catch-up, read state) · delivery to a peer’s multiple devices · conversation-history mapping files and license file (plain text) added to the storage table · data folder location corrected · new Section 7 on information processed for commercial license applications · expanded user rights. No change to how the relay server handles information