How does the desktop app / the web client work?
Desktop app and web client work the same way. In both cases, an end-to-end encrypted connection is established between the computer and the mobile device. Synchronized messages are kept in volatile memory only. As soon as you end the session on your computer (e.g., by closing the desktop app / web client or by explicitly stopping or deleting the session), the messages are gone. The desktop app and the web client merely act as an extension of the mobile app and hence meet Threema’s high security standard.
The technical details are documented here.
- Download the latest version of the desktop app for Windows from the Download page (preferably using a browser other than Microsoft Edge; e.g., Firefox)
- Open the downloaded file
To chat from the computer, you can either use the desktop app or the web client (“Threema Web”).
In both cases, you need the Threema mobile app (for Android or iOS), and your mobile device must be connected to the Internet.
- On your computer, either download and open the desktop app or open the web client (with a supported browser)
- In the mobile app, select “Desktop/Web,” and activate the scanner:
- Android: Main menu > “Desktop/Web” > "Initiate new Session" / QR code symbol
- iOS: “Settings” > “Desktop/Web” > camera icon in the top right corner
Hint: To avoid having to scan the QR code each time you (re)start the desktop app / web client, set a session password in the browser before scanning.
Both the desktop app and the web client allow you to use Threema on a desktop computer. You need the mobile app (for Android or iOS) in both cases, and your mobile device must be connected to the Internet.
Learn how to use the desktop app and the web client →
The desktop app is available for macOS, Windows, and Linux. The web client can be used in most web browsers. In terms of features, there’s no difference between desktop app and web client. Since they are based on the same architecture, they also share the following characteristics:
- Complete synchronization: By scanning a QR code, computer and mobile device are connected at once, and all conversations are fully accessible on the desktop.
- Security and data restraint: All communication between phone and computer is fully end-to-end encrypted. After the session is terminated, all synchronized messages are immediately deleted on the desktop.
- Open Source: Like the mobile apps, the desktop app and the web client are open source and use open standards. It’s also possible to host the web client on your own server.
In terms of security, the desktop app offers slight advantages. For one thing, there’s no way for browser plugins to introduce vulnerabilities. For another, it would be even more difficult for attackers to manipulate the app code since it isn’t loaded from a server each session but permanently stored on the user’s end.
For detailed technical information in regard to security, please refer to the Cryptography Whitepaper.
The following browsers are supported:
|Threema for Android||Threema for iOS|
- Open System Preferences (e.g., via the Apple menu in the top left corner)
- Select “Notifications,” find “Threema,” and click on it
- Enable “Allow Notifications from Threema” (and define how you would like the notifications to appear)
Please note, that these settings can only be changed after you have received at least one message with the desktop app.
To learn more about notifications on macOS, please refer to this Apple article.
- Navigate to Start > Settings > System > Notifications
- In “Notifications from apps and other senders,” activate “Threema”
To learn more about notifications on Windows, please refer to this Microsoft article.
In order for the web client to display desktop notifications, the respective permission must be granted in the browser. If this permission was denied initially, it can be granted later as follows:
- Close the web client
- Insert “chrome://settings/content” in the URL bar, and press Enter
- Under “Notifications”, click “Manage exceptions”
- Change the Behavior of “https://web.threema.ch/” from “Block” to “Allow”
- Open Threema Web
- Close the web client
- Insert “about:preferences#privacy” in the URL bar, and press Enter
- Under “Notifications”, click “Choose…”
- First, select “https://web.threema.ch/”; then, click “Remove Site“ and “Save Changes”
- Open Threema Web, and grant permission to send notifications
- Close the web client
- Insert “opera://settings” in the URL bar, and press Enter
- First, click on “Websites”; then, under “Notifications”, click “Manage exceptions…”
- Change the Behavior of “https://web.threema.ch/” from “Block” to “Allow”
- Open the web client
The desktop app and the web client currently provide the following features:
- Full access to all contacts, media and chats, including past conversations
- Send/receive text messages, pictures and media
- Send/receive files (send files using drag and drop)
- Send/receive emoji
- Play animated GIFs
- Agree/disagree feature
- Add contacts
- Manage groups and distribution lists
- Set a session password
These are the main characteristics and advantages of Threema’s desktop app / web client:
- It allows you to use Threema on the desktop without compromising security
- It reduces the digital footprint to the minimum by establishing a direct connection between desktop and mobile device (Android)
- No mirroring of the user’s message database – neither on a server nor on the desktop
- The web-client is platform-independent
- Open source
- WebRTC, a tried and tested open standard for direct communication between two devices (Android)
- SaltyRTC ensures a secure connection between browser and mobile device (Android)
The source code is of the desktop app / web client is available on GitHub.
You can also host the web client on your own server.
If establishing a connection to the desktop app or the web client freezes at 60%, it’s not possible to connect computer and mobile device using WebRTC.
If you use the desktop app, please make sure you are using the latest version.
If you use the web client, make sure you use a supported browser, checkt that no browser plugin (such as an ad blocker) is disabling WebRTC, and reload the web client.
If you are behind a (corporate) firewall or are using a VPN, Deep Packet Inspection might block WebRTC.
To use the desktop app or the web client without having to scan the QR code each time, you can set a session password.
Enter a session password in the desktop app or the web client before scanning the displayed QR code with your mobile device. To use the desktop app or the web client the next time on the same computer, you can simply enter this password (instead of scanning the QR code again).
With Android devices, it’s also possible to use Threema if your mobile device isn’t present (provided it’s connected to the Internet and a session password has already been set on the computer). On iOS, the mobile device needs to be unlocked, and the Threema app must be running in the foreground (cf. this FAQ entry).
The different sessions are listed in the mobile app, where you can remove and rename them.
If sessions are not saved despite using a session password, browser settings might prevent the data necessary for restoring sessions from being stored locally.
Please adjust your browser settings as follows:
Chromium / Google Chrome
- Enter “chrome://settings/content/cookies” in the URL bar, and press Enter
- Deactivate “Always clear cookies when windows are closed”
- Restart Chromium / Google Chrome
- Enter “about:preferences#privacy” in the URL bar, and press Enter
- If, in the “History” section, “Never remember history” is set, change this setting to “Use custom settings for history”
- Click the “Exceptions” button next to “Accept cookies from sites”
- As “Address of website”, enter “https://web.threema.ch/”, and click “Allow” and then “Save Changes”
- If (in the “History” section) “Clear history when Firefox closes” is activated, click the “Settings” button; if “Cookies” is checked, uncheck it and confirm by clicking “OK”
- Restart Firefox
The connection between the desktop app / the web client and the mobile device is usually stable. If you use an Android device and the connection is interrupted on a regular basis, please connect your computer and your mobile device to the same local network, if possible. Please check also if you are using the latest app version, and update the Threema, if necessary.
On Huawei and Xiaomi devices, the OS closes the connection between the web browser and the Threema app. To prevent this from happening, please perform the following steps:
- Summon the Task Manager (by pressing the menu button on your device)
- Find Threema; Xiaomi: drag Threema downwards until the padlock icon appears
- Tap the padlock icon (the padlock icon will then turn into a closed padlock)
Please note: When using a Xiaomi device, you need to perform these steps again after a restart.
Should the problem persist, please run WebRTC Diagnostics, and send in the result:
- In Threema, open the main menu and navigate to Settings > About Threema > Troubleshooting > WebRTC Diagnostics, and tap Start
- Wait until the test is completed, and tap “Copy to Clipboard”
- Send the copied text along with a short description of the problem to the Threema ID *SUPPORT
We will then analyze the problem and get back to you as soon as we can.
Open the task manager, navigate to Threema, and tap the lock icon (which will close the lock).
Android 12 and later: To deactivate battery optimization for Threema, please proceed as follows:
- Open the system settings
- Go to “Battery”
- Scroll to “Threema”
- Activate the “Allow all background activity” option
For connection issues with iOS devices related to the desktop app or the web client, please read this FAQ entry.
As of version 1.2, the rpm package of Threema for desktop is signed. In order to check the signature during the installation and update process, the public key used for the signature must be imported.
In the terminal, the key can be imported by running
rpm --import rpm-signing-key.pub. The signature can be verified by running
rpm --checksig -v Threema-Latest.rpm.
If the key has not yet been imported, the error message
Header V4 RSA/SHA512 Signature, key ID c4e29d69: NOKEY appears.
To function properly, the desktop app and the web client (“Threema Web”) either need an active connection to your iPhone/iPad or a way to wake up your mobile device. Due to restrictions on Apple’s part, it is, unfortunately, no longer possible for the desktop app / the web client to wake up the app and re-establish the connection in case it is lost.
For this reason, your device will not lock automatically while the Threema app is in the foreground and connected to the desktop app / web client.
If you open another app or manually lock your mobile device, the connection to the desktop app / web client will be lost after 30 seconds. On the computer, a message will appear asking you to open Threema again on your mobile device. The connection will be restored as soon as the Threema app is running in the foreground again.
With Threema 4.6 for iOS and earlier app versions, it was possible to use the desktop app / the web client even when your device was locked or the app was not running in the foreground. This mode of operation is no longer supported by Apple.
Please note that the current solution is a temporary workaround to deal with the iOS restrictions, and it will become obsolete once the multi-device functionality is available.
Android: If this symptom occurs, either push notifications aren’t working properly, or there is a problem concerning background activity. In other words, mobile devices cut the connection to the app in the background after a while. Please follow the troubleshooting instructions for Android (Samsung, Huawei, Xiaomi, Sony, OnePlus, Gigaset, Ulefone Armor, Doogee, etc.).
iOS: If you’re experiencing issues in relation to the connection of the web client / the desktop app and the mobile device, please refer to this FAQ entry. Should the problem persist, push notifications might not be working properly. In this case, please follow the troubleshooting instructions for iOS.