Set up your XMPP account.

A pseudonym can separate this account from your public identity. It does not hide your network connection or protect a compromised device.

Choose a client for your device.

Select your platform for installation and security notes. The details below come from official client documentation. NKNW has not independently tested these clients.

AndroidConversations

Conversations is an Android XMPP client with built-in OMEMO and file sharing.

CONTENT ENCRYPTION
OMEMO supported
FILES
File sharing supported
CONNECTION
Direct XMPP connection
SOURCE
Official documentation
REVIEWED

Turn on OMEMO in the conversation and verify every device before sending sensitive content.

iPhone / iPadMonal

Monal is a native iOS client with OMEMO, HTTP file upload and push notifications.

CONTENT ENCRYPTION
OMEMO supported
FILES
Confirm file encryption
BACKGROUND
Push notifications
SOURCE
Official documentation
REVIEWED

Push delivery and lock-screen previews can reveal that a message arrived and may expose its text.

WindowsGajim

Gajim is a desktop XMPP client with built-in OMEMO and file sharing.

CONTENT ENCRYPTION
OMEMO built in
FILES
Confirm file encryption
INSTALLATION
Official installer
SOURCE
Official documentation
REVIEWED

A successful sign-in does not mean a conversation is encrypted. Check each conversation separately.

macOSGajim

Gajim provides macOS installers for Apple silicon and Intel Macs.

CONTENT ENCRYPTION
OMEMO built in
FILES
Confirm file encryption
INSTALLATION
Apple silicon / Intel
SOURCE
Official documentation
REVIEWED

A successful sign-in does not mean a conversation is encrypted. Check each conversation separately.

LinuxGajim

Gajim is available through Flatpak and several Linux distribution packages.

CONTENT ENCRYPTION
OMEMO built in
FILES
Confirm file encryption
INSTALLATION
Flatpak / packages
SOURCE
Official documentation
REVIEWED

Distribution packages can lag behind the current release. Check that your installed version is still maintained.

Alternative: Dino (opens in a new tab)A Linux alternative with OMEMO and HTTP file upload.

Looking for another client? View the XMPP client directory (opens in a new tab).

Secure the connection.

Complete these checks before sending sensitive information.

  1. 01

    Sign in with the full address

    Enter the complete address, such as yourname@nknw.chat. Allow the client to discover the server through DNS.

  2. 02

    Stop at certificate warnings

    Do not accept an invalid certificate or override the server name. Leave the connection if the client reports a TLS error.

  3. 03

    Turn on OMEMO for the conversation

    Signing in does not encrypt a conversation by itself. Check the encryption state in the conversation where you intend to send the message.

  4. 04

    Verify every active device

    Compare fingerprints or security codes through a separate trusted channel. Review the device list when it changes.

  5. 05

    Test with non-sensitive content

    Send a short test message and a harmless file. Confirm the encryption state before sharing anything sensitive.

  6. 06

    Contact NKNW

    Write to one of the JIDs below and share only the information needed for that first message. Community rooms require approval.

Prepare files before sending them.

File encryption and metadata removal solve different problems.

ENCRYPTION
Before attaching a file, confirm that OMEMO is active and that your client encrypts file transfers in that conversation.
METADATA
EXIF, PDF properties and video metadata may reveal details to the recipient. Encryption does not remove them.
UPLOAD
The upload service necessarily handles the connection, file size and capability URL used to retrieve the encrypted file.

If metadata is a concern, clean the file locally and send the cleaned copy.

Open the local metadata cleaner (opens in a new tab)

Test the connection first.

Send a non-sensitive test message and file through a verified OMEMO conversation. If both arrive as expected, contact one of the JIDs below.

Know what OMEMO protects.

When both clients support it and it is active, OMEMO can encrypt the content of a conversation. It does not hide routing data or secure either device.

01CONTENT
OMEMO can encrypt message content

A compatible client can use OMEMO to encrypt message content end to end. Confirm that it is active in the conversation and includes every intended device.

02IDENTITY
A separate identity reduces easy links

Use a username, avatar and biography that you have not used elsewhere. Contacts, writing style and repeated details can still reveal who you are.

03METADATA
Routing data remains visible

The server receives your source IP address and processes account and routing data to deliver messages. Other XMPP servers and network observers may see additional metadata along the route.

04DEVICES
OMEMO cannot secure your device

An unlocked, infected or monitored device can expose decrypted messages. Notification previews, screenshots and unencrypted backups can create more copies.

05VERIFICATION
Verify who owns each key

For a high-risk conversation, compare fingerprints or security codes through a separate trusted channel. Encryption alone does not prove who controls the device at the other end.

Check the encryption state before sending sensitive content.

Account security, device compromise, unsafe files and network observation require separate controls. Read the full security guide.

Rules for using the service

Moderation addresses threats, harassment, doxxing, malware, spam and deliberate disruption. Agreement with NKNW is not required.

  • Do not threaten people or advocate political violence.
  • Do not harass, stalk, doxx or pressure anyone to reveal an identity.
  • Do not distribute malware, send spam or deliberately disrupt the service.
  • Challenge claims directly and say when you are uncertain.
  • Correct significant errors openly and remember that every username belongs to a person.

The same rules apply to everyone.

Ready to connect?

Save the password, check the encryption state and disclose only what the conversation requires.