BitDM Vorabversion Pre-release QuellcodeSource HerunterladenDownload
Verschlüsselter Messenger Encrypted messenger

BitDM: Messenger ohne Telefonnummer BitDM: messenger without a phone number

BitDM will weder Nummer noch E-Mail oder Namen. Ihr tauscht eine Adresse oder einen QR-Code, und jede Nachricht ist Ende-zu-Ende verschlüsselt. Sind die Telefone nah beieinander, geht sie auch ohne Internet durch, per Bluetooth. BitDM doesn't ask for your number, e-mail address or name. You swap an address or a QR code, and every message is end-to-end encrypted. If the phones are close together, it also gets through over Bluetooth without internet.

  • KostenlosFree
  • QuelloffenOpen source
  • Ohne WerbungNo ads
Für Android herunterladenDownload for Android Andere GeräteOther devices

APK, Version 2.0.1, 51 MB, ab Android 9. Auch über F-Droid und Obtainium. APK, version 2.0.1, 51 MB, Android 9 or newer. Also via F-Droid and Obtainium.

Für Windows herunterladenDownload for Windows Andere GeräteOther devices

Installer, Version 2.0.1, 14 MB, x64. Braucht keine Adminrechte. Installer, version 2.0.1, 14 MB, x64. No admin rights needed.

Linux-Paket auf GitHubLinux package on GitHub Andere GeräteOther devices

Version 2.0.1, x64, braucht GTK 3, libsecret und einen entsperrten Schlüsselbund. Getestet bisher nur in einem Container. Version 2.0.1, x64, needs GTK 3, libsecret and an unlocked keyring. Only tested in a container so far.

Im Browser öffnenOpen in the browser Andere GeräteOther devices

Für das iPhone gibt es keine App. There is no iPhone app. Für den Mac gibt es keine App. There is no Mac app. Ohne Installation, aber im Browser fehlen Anhänge und Nahbereich. Nothing to install, but no attachments or nearby mode in the browser.

Ein Chat in der App A chat in the app Nachbau, Inhalt erfunden Replica, made-up content
UBLF…5DR5 Verschlüsselt · DetailsEncrypted · Details

Screenshot-Schutz aktiv · Ende-zu-Ende verschlüsseltScreenshot protection on · End-to-end encrypted

Wir sind an der Hütte. Wo seid ihr?We're at the hut. Where are you?

14:02

Noch eine halbe Stunde. Ab hier gibt es kaum Netz.Half an hour to go. Barely any signal from here on.

14:03

Wir sehen euch schon vom Fenster aus.We can already see you from the window.

DirektDirect14:29

Die Suppe steht auf dem Tisch.The soup is on the table.

DirektDirect14:29

HerunterladenDownload

Android

Dein GerätYour device

Version 2.0.1 · 51 MB · ab Android 9 Version 2.0.1 · 51 MB · Android 9 or newer

Beim Installieren warnt Android, weil Google das Zertifikat nicht kennt. Ob du die echte Datei hast, zeigen die Prüfwerte. Updates kommen von selbst, über unser eigenes Verzeichnis in F-Droid oder über Obtainium. Android warns you during install because Google doesn't know the certificate. The check values tell you whether the file is genuine. For automatic updates, add our own repository to F-Droid or use Obtainium.

F-Droid-VerzeichnisF-Droid repository
QR: https://bitdm.net/fdroid/repo?fingerprint=7C35B6517F5E4E2D35729C15EE9AC0839930E44C773D57ED60A959CD8F1D6B85

In F-Droid, Droid-ify oder Neo Store ein Repository hinzufügen: den Code scannen oder diese Adresse einfügen. In F-Droid, Droid-ify or Neo Store, add a repository by scanning the code or pasting this address.

https://bitdm.net/fdroid/repo?fingerprint=7C35B6517F5E4E2D35729C15EE9AC0839930E44C773D57ED60A959CD8F1D6B85

Wegen des Fingerabdrucks am Ende nimmt die App nur ein Verzeichnis an, das mit unserem Schlüssel signiert ist. Darin liegt dieselbe APK wie hier und auf GitHub; ist BitDM schon installiert, wechselst du ohne Neuinstallation. The fingerprint at the end means the app only accepts a repository signed with our key. It has the same APK as here and on GitHub, and if you already have BitDM, you can switch without reinstalling.

PrüfwerteCheck values
Diese DateiThis file
677230dd71c43520a50ba6404e9871e4705d9a98c29bc93b9ea864954dd1228e sha256sum bitdm-2.0.1.apk
Der Schlüssel, mit dem sie signiert ist The key it is signed with
e325b01c08a1a679b6aac20ac9ae3ee255591b46b37dd92717f97085acc22063 apksigner verify --print-certs bitdm-2.0.1.apk

Der erste Wert passt nur zu dieser Datei, der zweite auch zu allen künftigen, weil Android ein Update nur mit demselben Schlüssel annimmt. Ändert er sich, hast du eine andere App vor dir. The first value only fits this file; the second stays the same for every future one, because Android only accepts updates signed with the same key. If it changes, you're looking at a different app.

Windows

Dein GerätYour device

Version 2.0.1 · x64 · Installer 14 MB, Zip 17 MB Version 2.0.1 · x64 · installer 14 MB, zip 17 MB

Der Installer kommt ohne Adminrechte aus und richtet BitDM nur für deinen Benutzer ein. Beim ersten Start warnt Windows, weil die Datei nicht signiert ist (ein Zertifikat dafür kostet jedes Jahr Geld). Die Unterschiede zwischen PC und Telefon stehen weiter unten. The installer doesn't need admin rights and only sets BitDM up for your user account. Windows will warn you on first start because the file isn't signed (a certificate for that costs money every year). The differences between PC and phone are listed further down.

PrüfwerteCheck values
Installer
a79b6202ba9becfcdf58ce8a3e2516f7c81d7b713dc630a349a16146be1ba513 certutil -hashfile bitdm-windows-setup-2.0.1.exe SHA256
Zip
9c5e17c3d634a726bce34657b0fe531be2d362a4bace2960c4606ccb16c62305 certutil -hashfile bitdm-windows-2.0.1.zip SHA256

Jeder Wert passt nur zu seiner Datei. Ein Wert, der über alle Versionen gleich bleibt, braucht unter Windows eine Signatur. Each value only fits its own file. On Windows, a value that stays the same across versions would need a signature.

Linux

Dein GerätYour device

Version 2.0.1 · x64 · braucht GTK 3 und libsecret Version 2.0.1 · x64 · needs GTK 3 and libsecret

GitHub baut das Paket aus diesem Quellcode. Auspacken, ./bitdm starten; ohne entsperrten Schlüsselbund zeigt es eine Meldung mit „Erneut versuchen“. Getestet haben wir es bisher nur in einem Debian-Container. Zum Selbstbauen siehe docs/LINUX.md. GitHub builds the package from this source. Unpack it and run ./bitdm; if your keyring isn't unlocked, it shows a message with "Try again". We've only tested it in a Debian container so far. To build it yourself, see docs/LINUX.md.

Im BrowserIn the browser

Für dein GerätFor your device

Ohne InstallationNothing to install

Für das iPhone gibt es keine App. Die Web-App läuft in Safari. There is no iPhone app. The web app runs in Safari.

Für den Mac gibt es keine App. Die Web-App läuft in jedem Browser. There is no Mac app. The web app runs in any browser.

Nachrichten, Gruppen und Kontakte gehen, Anhänge, Sprachnachrichten und der Nahbereich nicht. Bei geschlossenem Tab kommt nichts an. Ohne App-Passwort ist deine Identität nach dem Neuladen weg, und du holst sie mit den zwölf Wörtern zurück. Messages, groups and contacts work; attachments, voice messages and nearby mode don't. Nothing comes in while the tab is closed. Without an app password your identity is gone after a reload, and you'll need the twelve words again.

Neu: Fassung 2.0.0New: version 2.0.0 Die Verschlüsselung rechnet jetzt Signals eigene Bibliothek, und Geräte lassen sich abmelden. 2.0.0 versteht sich nicht mit 1.9.x: Beide Seiten müssen aktualisieren. Bis dahin warten deine Nachrichten, und der Chat sagt dir, dass dein Kontakt noch aktualisieren muss. Signal's own library now does the encryption, and you can sign devices out. 2.0.0 doesn't talk to 1.9.x, so both sides need to update. Until then your messages wait, and the chat tells you that your contact still has to update.

VorabversionPre-release BitDM ist noch nicht unabhängig geprüft. Hängt deine Sicherheit an der Verschlüsselung, etwa als Journalistin oder unter Überwachung, nimm bis dahin Signal. Was BitDM nicht kann BitDM hasn't had an independent audit yet. If your safety depends on the encryption, for example as a journalist or under surveillance, use Signal until then. What BitDM can't do

Kein Google Play, keine App für iPhone oder Mac. No Google Play, no app for iPhone or Mac.

Wir sagen Bescheid, wenn eine neue Version da ist. Eine Liste führen wir nicht; die Adresse liegt in einem Postfach und sonst nirgends. Leave your e-mail to hear about new versions. We don't keep a mailing list; your address goes to one mailbox and nowhere else.

Modul · Adresse Module · address

Deine Identität passt in 56 Zeichen Your identity fits in 56 characters

Adresse · öffentlicher Schlüssel Address · public key Beispiel Example

Diese Zeichenkette ist der Schlüssel, ein Konto steht nicht dahinter. Die App erzeugt sie in einer Zehntelsekunde auf deinem Gerät und fragt dabei keinen Server. This string is the key; there's no account behind it. The app creates it on your device in a fraction of a second, without asking a server.

Die meisten Messenger wollen als Erstes deine Telefonnummer, BitDM will gar nichts. Beim ersten Start erzeugt die App ein Schlüsselpaar; die Adresse oben ist dessen öffentlicher Teil, lesbar kodiert und mit einer Prüfsumme gegen Vertipper.

Ein Server kann dir also keinen falschen Schlüssel unterschieben, denn dafür müsste er eine Adresse ändern, die du schon hast.

Verschlüsselt wird mit dem Signal-Protokoll, seit Fassung 2.0.0 über Signals eigene Bibliothek libsignal. Jede Nachricht bekommt ihren eigenen Schlüssel für AES mit 256 Bit. Weiter unten stehen alle Verfahren Zeile für Zeile.

Most messengers want your phone number first; BitDM doesn't ask for anything. On first launch the app generates a key pair. The address above is the public half, in a readable encoding with a checksum against typos.

A server can't slip you a fake key, since it would have to change an address you already have.

For encryption BitDM uses the Signal protocol, and since version 2.0.0 Signal's own library, libsignal. Every message gets its own 256-bit AES key. Further down you'll find each algorithm, line by line.

Modul · Sichtbarkeit Module · visibility

Was der Server sieht What the server sees

Ende-zu-Ende-Verschlüsselung verbirgt, was du schreibst. Dass du geschrieben hast, merkt der Server trotzdem. Was er sieht, steht darunter.

End-to-end encryption hides what you write, but the server still sees that you wrote. Below is what it can see.

Auf deinem Gerät On your device
„Wir sind an der Hütte. Wo seid ihr?“ “We're at the hut. Where are you?”
Im Speicher des Relays In the relay's storage
MwohBWtsemNtem5nYnFqbmZjaXlsd2txNTJlYmd5ZXJtMzNsY2U2cnBkbG1iN2p6YWg3c2hncXJlbGt2EiEF3pNcRq9yTfMoeGJ1aVdrTjhLcVp4RGZXbUxvUXlUZzAaMwohBW…
Modul · Ohne Netz Module · No network

Wenn es keinen Server gibt When there's no server

Sind zwei Telefone nah beieinander, findet BitDM das andere über Bluetooth und schickt die Nachricht direkt, ohne WLAN, Mobilfunkdaten oder Rechenzentrum. Solche Nachrichten sind mit Direkt markiert, wie im Chat oben.

If two phones are close together, BitDM finds the other over Bluetooth and sends the message directly, without Wi-Fi, mobile data or a data centre. Those messages are labelled Direct, as in the chat at the top.

Gemessen am 29. Juli 2026 mit zwei Geräten, beide im Flugmodus für Daten: 325 Byte in 1,35 Sekunden.

Measured on 29 July 2026 with two devices, both with data switched off: 325 bytes in 1.35 seconds.

Knifflig ist das Finden. Sendet ein Telefon seine Adresse aus, kennt sie jeder in Reichweite, und wer sie über Tage immer wieder auffängt, kann verfolgen, wo du unterwegs bist. The tricky part is finding each other. If a phone broadcast its address, everyone in range would learn it, and anyone who caught it again over several days could follow your movements.

BitDM sendet stattdessen Leuchtfeuer: sechs Byte je Kontakt, berechnet aus eurem gemeinsamen Geheimnis und der laufenden Viertelstunde. Dein Kontakt erkennt sie, weil er das Geheimnis kennt; für alle anderen ist es Rauschen, das sich alle fünfzehn Minuten ändert. BitDM sends out beacons instead: six bytes per contact, worked out from the secret you share and the current quarter hour. Your contact knows the secret and can match them; to anyone else they're noise that changes every fifteen minutes.

Die App zeigt nicht an, wer gerade in Reichweite ist. Du siehst nur an der Markierung einer Nachricht, auf welchem Weg sie kam. The app doesn't show who's in range. The label on a message only tells you how it got to you.

Die Nahbereich-Einstellungen: zwei Schalter und ein Kasten, der
                  sagt, was gerade gilt.
Es gibt zwei Schalter, und wenn einer allein nichts bewirkt, sagt die App das. There are two switches; if one does nothing on its own, the app says so.
Der eigene Ausweis: ein QR-Code und dieselbe Adresse in
                  vierzehn Blöcken zum Vorlesen.
Deine Adresse, also dein Schlüssel, als QR-Code und in Blöcken zum Vorlesen. Your address, which is your key, as a QR code and in blocks to read out.

Beide Geräte brauchen Android 12 oder neuer und Bluetooth 5. Bei einem ganz neuen Kontakt laufen mit der ersten Nachricht auch die Schlüssel über Funk, die Gegenseite muss also kurz in Reichweite sein. Anhänge lassen sich so nicht schicken. Both devices need Android 12 or newer and Bluetooth 5. For a brand-new contact, keys are exchanged over the air with the first message, so the other phone has to be in range for a moment. Attachments can't be sent this way.

Modul · Signalweg Module · signal path

Wie eine Nachricht entsteht How a message gets sent

Im Signal-Protokoll baut PQXDH die Sitzung auf (X3DH plus Kyber, gegen künftige Quantenrechner), und der Double Ratchet erneuert die Schlüssel mit jeder Nachricht. Wer heute einen Schlüssel erbeutet, kann damit nicht lesen, was du gestern geschrieben hast.

In the Signal protocol, PQXDH sets up the session (X3DH plus Kyber, against future quantum computers) and the Double Ratchet renews the keys with every message. A key stolen today can't decrypt what you wrote yesterday.

Schritt 1Step 1

Adresse eintragenAdd the address

Du fügst die 56 Zeichen deines Gegenübers ein. Bei einem Vertipper passt die Prüfsumme nicht, also wird nichts gesendet.

Paste your contact's 56 characters. With a typo the checksum won't match, so nothing gets sent.

Schritt 2Step 2

Sitzung aufbauenSet up a session

Die App holt ein Schlüsselpaket und rechnet daraus ein gemeinsames Geheimnis aus. Dein Gegenüber muss dafür nicht online sein.

The app fetches a key bundle and works out a shared secret from it, even if your contact is offline.

Schritt 3Step 3

Schlüssel weiterdrehenRatchet forward

Jede Nachricht bekommt einen neuen Schlüssel, und der alte ist danach unwiederbringlich weg.

Each message gets a fresh key, and the old one is thrown away for good.

Schritt 4Step 4

NachprüfenVerify

Ihr könnt eine 60-stellige Sicherheitsnummer vergleichen. Ist sie bei beiden gleich, sitzt niemand dazwischen.

You can both compare a 60-digit safety number. If it matches, nobody is sitting in between.

Modul · Wiederherstellung Module · recovery

Zwölf Wörter, einmal notiert Twelve words, written down once

Ohne Konto gibt es keinen Kundendienst, der dich wieder hereinlässt. Stattdessen bekommst du beim ersten Start zwölf Wörter. Nur mit ihnen kommst du zurück; einen anderen Weg haben auch wir nicht.

No account also means no support desk to let you back in. Instead you get twelve words on first launch. They're the only way back, and we don't have another one either.

01village
02mother
03food
04ghost
05jeans
06fish
07banner
08trust
09forest
10cupboard
11depend
12agree
Modul · Verfahren Module · primitives

Womit genau Exactly what it uses

Das Protokoll stammt von Signal, und seit Fassung 2.0.0 auch der Code dafür: libsignal, Signals eigene Bibliothek in Rust. Bis 1.9.x war es libsignal_protocol_dart, eine Dart-Portierung aus der Community. Ein unabhängiges Audit von BitDM gibt es noch nicht.

The protocol is Signal's, and since version 2.0.0 so is the code that runs it: libsignal, Signal's own library, written in Rust. Up to 1.9.x it was libsignal_protocol_dart, a community Dart port. BitDM hasn't had an independent audit yet.

SitzungsaufbauSession setup
PQXDH: X3DH über Curve25519 plus Kyber-1024. Geht auch, wenn dein Gegenüber offline ist; ohne Kyber kommt keine Sitzung zustande. PQXDH: X3DH over Curve25519 plus Kyber-1024. Works even if your contact is offline; without Kyber no session is set up.
Laufendes GesprächOngoing conversation
Double Ratchet. Jede Nachricht bekommt einen eigenen Schlüssel. Double Ratchet. Every message gets its own key.
Die Nachricht selbstThe message itself
AES mit 256 Bit Schlüssellänge im CBC-Betrieb, beglaubigt mit HMAC-SHA256 (diese Kombination stammt von Signal). Jeder Schlüssel ist 32 Byte lang und gilt für genau eine Nachricht. AES with a 256-bit key in CBC mode, authenticated with HMAC-SHA256 (Signal came up with this combination). Each key is 32 bytes long and used for exactly one message.
UnterschriftenSignatures
XEdDSA: Ed25519-Signaturen mit demselben Curve25519-Schlüssel, der auch die Adresse ist. XEdDSA: Ed25519 signatures using the same Curve25519 key that is also the address.
Länge verschleiernLength hiding
Jede Nachricht wird auf ein Vielfaches von 256 Byte aufgefüllt. Auf der Leitung sieht ein „ja“ deshalb aus wie ein „nein“, und ein kurzer Satz wie ein langer. Messages are padded to a multiple of 256 bytes, so on the wire a “yes” looks the same as a “no”, and a short sentence the same as a long one.
Aus den zwölf WörternFrom the twelve words
BIP39 (PBKDF2-HMAC-SHA512, 2048 Runden) macht daraus einen Seed, aus dem HKDF-SHA256 getrennte Schlüssel für Identität und Datenbank ableitet. Die Wörter selbst sind also das Original. BIP39 (PBKDF2-HMAC-SHA512, 2048 rounds) turns them into a seed, from which HKDF-SHA256 derives separate keys for identity and database. The words themselves are the original.
Die AdresseThe address
32 Byte öffentlicher Schlüssel plus 3 Byte SHA-256-Prüfsumme in Base32, zusammen 56 Zeichen. Wer deine Adresse hat, hat damit deinen Schlüssel. 32 bytes of public key plus a 3-byte SHA-256 checksum in Base32, 56 characters in total. If someone has your address, they have your key.
Modul · Gerätespeicher Module · device storage

Wenn das Telefon in fremde Hände fällt If the phone falls into the wrong hands

Ende-zu-Ende-Verschlüsselung schützt Nachrichten unterwegs. Auf dem Gerät übernehmen das diese Schichten.

End-to-end encryption covers messages in transit. On the device, these layers take over.

Die DatenbankThe database
Die ganze Datei ist mit ChaCha20-Poly1305 verschlüsselt (SQLite3MultipleCiphers). Wer sie in die Finger bekommt, sieht nicht einmal, wie viele Kontakte du hast. The whole file is encrypted with ChaCha20-Poly1305 (SQLite3MultipleCiphers). Someone who gets hold of it can't even tell how many contacts you have.
App-SperreApp lock
AES mit 256 Bit im GCM-Betrieb. Mit App-Passwort entsteht der Schlüssel über Argon2id mit 19 MiB Speicher und 2 Durchgängen, wie OWASP es empfiehlt. Jeder Rateversuch kostet so Speicher und Zeit. AES with a 256-bit key in GCM mode. With an app password, the key comes from Argon2id with 19 MiB of memory and 2 passes, as OWASP recommends. Each guess then costs memory as well as time.
Vier Wege hineinFour ways in
Fingerabdruck, Gerätesperre, App-Passwort oder ein Sicherheitsschlüssel per NFC oder Kabel (CTAP2 hmac-secret, etwa YubiKey). Ohne den Stick geht die App dann nicht auf, auch nicht mit dem richtigen Passwort. Fingerprint, device lock, app password, or a security key over NFC or cable (CTAP2 hmac-secret, e.g. YubiKey). Then the app won't open without the key, even with the right password.
Alles löschenWipe
Der Datenbankschlüssel stammt aus den zwölf Wörtern. Sind die gelöscht, kann niemand die Datei mehr lesen, wir auch nicht, selbst wenn die Bytes noch im Flash-Speicher liegen. The database key comes from the twelve words. Once they're deleted, nobody can read the file again, us included, even if the bytes are still in flash memory.
Unsichtbar in AufnahmenInvisible to capture
Ist der Screenshot-Schutz an, taucht das BitDM-Fenster in Bildschirmfotos, Aufnahmen und beim Teilen des Bildschirms nicht auf, auch nicht im Discord-Stream, in OBS oder in Teams. Auf Android bleibt die Aufnahme schwarz, auf Windows fehlt das Fenster darin. Eine Webseite im Browser kann das nicht. Turn on screenshot protection and the BitDM window won't show up in screenshots, screen recordings or screen sharing, including Discord streams, OBS and Teams. On Android the capture is black; on Windows the window isn't in it at all. A web page in a browser can't do this.
Panik-WortPanic word
Ein selbst gewähltes Wort oder ein Satz. Tippt jemand es statt des echten Passworts in die Sperre, ist sofort alles auf dem Gerät gelöscht, ohne Rückfrage und ohne sichtbare Meldung. Von außen lässt sich nicht erkennen, ob es überhaupt ein Panik-Wort gibt. A word or sentence you choose. If someone types it into the lock screen instead of the real password, everything on the device is wiped on the spot, with no confirmation or visible message. From the outside you can't tell if a panic word exists.
Löschen aus der FerneRemote wipe
Du wählst Vertrauenskontakte und legst fest, wie viele es braucht (etwa 2 von 3). Sie lösen die Löschung mit /wipe aus oder, unauffälliger, indem sie dir dein eigenes Codewort schicken, das du ihnen persönlich gesagt hast. Bei dir erscheint die Nachricht nicht. Kommen binnen 24 Stunden genug Anfragen, läuft ein Countdown von 10 Minuten; abbrechen kannst nur du, indem du entsperrst. Danach ist auf diesem Gerät alles weg, und mit den zwölf Wörtern holst du die Identität woanders zurück. Das geht nur, wenn das Telefon entsperrt und online ist; gesperrt kann es die Anfrage nicht lesen. You choose trusted contacts and how many it takes (say 2 of 3). They trigger the wipe with /wipe or, less obviously, by sending you your own code word, which you told them in person. The message doesn't show up on your side. If enough requests come in within 24 hours, a 10-minute countdown starts, and only you can stop it by unlocking. After that everything on this device is gone; the twelve words restore your identity elsewhere. It only works while the phone is unlocked and online, since a locked phone can't read the request.
Modul · Anhänge Module · attachments

Große Dateien, ohne großen Server Large files, without a large server

Bis zu 5 GB je Datei. Sie umgeht den Relay, der für kurze Nachrichten gebaut ist, und liegt verschlüsselt und in Stücken in einem eigenen Zwischenlager, das sie nach 14 Tagen von selbst löscht.

Up to 5 GB per file. It skips the relay, which is built for short messages, and sits encrypted and in pieces in separate temporary storage, where it's deleted automatically after 14 days.

Schritt 1Step 1

In Stücke teilenSplit into pieces

32 MiB je Stück. Bei drei Gigabyte über Mobilfunk reißt die Verbindung meistens irgendwann ab, und dann fehlt nur ein Stück statt der ganzen Datei.

32 MiB each. Over mobile data a three-gigabyte transfer usually drops at some point, and then you lose one piece rather than the whole file.

Schritt 2Step 2

Je Stück ein SchlüsselOne key per piece

AES mit 256 Bit im GCM-Betrieb, und jedes Stück bekommt einen eigenen Zufallsschlüssel. Bei einem Schlüssel für die ganze Datei müsste ein Zähler über alle Stücke, Abbrüche und Wiederaufnahmen hinweg stimmen, und schon ein Fehler dabei würde GCM brechen.

AES with a 256-bit key in GCM mode, and every piece gets its own random key. If one key covered the whole file, a counter would have to stay correct through every piece, abort and resume, and one mistake there would break GCM.

Schritt 3Step 3

Die Nummer mitbeglaubigenAuthenticate the piece number

Fälschen kann der Speicher nichts, vertauschen schon, etwa unter der Kennung von Stück 3 die Bytes von Stück 5 ausliefern. Deshalb steckt die Stücknummer im beglaubigten Zusatz, und ein vertauschtes Stück geht nicht auf.

The storage can't forge anything, but it could swap pieces, say by serving piece 5's bytes under piece 3's identifier. The piece number is therefore part of the authenticated data, and a swapped piece won't open.

Schritt 4Step 4

Schlüssel gehen andersKeys go another way

Wo die Stücke liegen und womit sie aufgehen, geht als normale Nachricht durch die Signal-Sitzung. Der Speicher sieht die Schlüssel nie und kennt nur Größe und Zeitpunkt.

Where the pieces are and which keys open them goes as a normal message through the Signal session. The storage never sees the keys and only knows size and time.

Modul · Desktop Module · desktop

Am PC fehlen drei Dinge Three things the PC version lacks

Einige Teile von BitDM stecken ganz im Android-Code und haben unter Windows kein Gegenstück: der Nahbereich über Bluetooth, der Weckdienst für Push und jede Sperre außer dem App-Passwort. Am PC fehlen sie deshalb ganz, statt angeboten zu werden und zu scheitern.

Some parts of BitDM are written entirely in Android code and have no Windows counterpart: the nearby exchange over Bluetooth, the push wake-up and every lock option except the app password. The PC version leaves them out rather than offering something that would fail.

Am PC bleibt die Verbindung offen, solange die App läuft, also braucht es dort weder Push noch einen Weckdienst von außen. Den Anhangknopf gab es am PC schon vorher, aber bis Fassung 1.9.1 öffnete er kein Auswahlfenster. Seit 2.0.0 öffnet er unter Windows und Linux den Dateidialog des Systems; im Browser ist er ausgegraut und sagt, warum. On the PC the connection stays open while the app is running, so it doesn't need push or any outside wake-up. The attach button was on the PC before, but up to version 1.9.1 it didn't open a file dialog. Since 2.0.0 it opens the system's file dialog on Windows and Linux; in the browser it's greyed out and says why.

Modul · Grenzen Module · limits

Was BitDM nicht kann What BitDM can't do

Wie auf einem Typenschild steht hier, was BitDM aushält und was nicht. Die Liste wächst mit der App mit.

Like the rating plate on a machine, this lists what BitDM can and can't handle. It grows as the app does.

MetadatenMetadata
Der Relay sieht, wer wann mit wem schreibt. Die Verschlüsselung ändert daran nichts. The relay sees who writes to whom and when. Encryption doesn't change that.
GeräteDevices
Bis zu fünf Geräte je Identität. Ein weiteres Gerät braucht die zwölf Wörter und einen Code von einem vorhandenen; abmelden geht unter Einstellungen › Meine ID › Geräte verwalten. Wer die zwölf Wörter kennt, kann allerdings alle Geräte abmelden und übernehmen. Up to five devices per identity. Adding another one takes the twelve words plus a code from a device you already have; you sign devices out under Settings › My ID › Manage devices. Anyone who knows your twelve words can sign out all your devices and take over, though.
UmfangScope
Einzelchats und Gruppen bis 20, mit Text, Sprachnachrichten und Anhängen bis 5 GB. Keine Anrufe. One-to-one chats and groups of up to 20, with text, voice messages and attachments up to 5 GB. No calls.
FotosPhotos
Vor dem Senden entfernt die App Ort, Kamera und Aufnahmezeit aus JPEG, PNG, WebP, HEIC und AVIF sowie aus MP4-, MOV- und 3GP-Videos; der Dateiname wird neutral. Andere Formate gehen unverändert hinaus. Before sending, the app strips location, camera and capture time from JPEG, PNG, WebP, HEIC and AVIF and from MP4, MOV and 3GP videos, and gives the file a neutral name. Other formats go out unchanged.
AussehenLook
Neun Themen, darunter Material mit der Akzentfarbe des Systems und drei Terminal-Themen. Sie gehen langsam über Chiffrezeichen ineinander über und wechseln auf Wunsch von allein. Nine themes, including Material with your system's accent colour and three terminal themes. They cross-fade slowly through cipher characters and can switch by themselves if you like.
VerlustLoss
Ohne die zwölf Wörter ist die Identität verloren, außer du hast sie vorher in Teilen an Vertrauenskontakte gegeben (etwa 2 von 3). Zurücksetzen oder per Mail wiederherstellen geht nicht. Lose the twelve words and you lose the identity, unless you split them among trusted contacts beforehand (say 2 of 3). There's no reset and no recovery by e-mail.
PrüfungAudit
Kein externes Sicherheitsaudit. Unsere eigene Prüfung am 25.09.2026 fand rund 80 Befunde, alle behoben (Fassung 1.8.1); sie ersetzt aber kein unabhängiges Audit. Schwachstellen bitte vertraulich an kontakt@bitdm.net. No external security audit. Our own review on 25.09.2026 turned up about 80 issues, all fixed (version 1.8.1), but that's no substitute for an independent audit. Please report vulnerabilities privately to kontakt@bitdm.net.
ReifeMaturity
Vorabversion. Zu haben hier, auf GitHub und im eigenen F-Droid-Verzeichnis, nicht aber im offiziellen F-Droid-Katalog oder in Google Play. Im Alltag erprobt ist es noch nicht. Pre-release. Download it here, on GitHub or from our own F-Droid repository. It isn't in the official F-Droid catalogue or on Google Play and hasn't been proven in daily use yet.
Modul · Nachprüfbarkeit Module · verifiability

Der Quellcode liegt offen The source is open

Der vollständige Quellcode (App, Server und Tests) steht unter AGPL-3.0 offen, damit du unsere Sicherheitsversprechen selbst nachprüfen kannst.

The complete source (app, server and tests) is open under AGPL-3.0, so you can check our security claims yourself.

AES-256

Schlüssellänge überall, wo AES vorkommt (Nachrichten, App-Sperre, Anhänge): 256 Bit oder 32 Byte, nachzulesen im Quelltext.

Key length wherever AES is used (messages, app lock, attachments): 256 bits, or 32 bytes, as the source shows.

AGPL-3.0

Quelloffen. Wer die App oder den Relay weitergibt oder als Dienst betreibt, muss den Quellcode mitliefern.

Open source. If you distribute the app or the relay, or run it as a service, you must share the source.

24

Offizielle BIP39-Testvektoren, mit denen die Ableitung aus den zwölf Wörtern getestet ist.

Official BIP39 test vectors that the twelve-word derivation is tested against.

56

Zeichen je Adresse, mit Prüfsumme. Jeder einzelne Vertipper fällt auf.

Characters per address, with a checksum, so a single typo won't go unnoticed.

0

Anfragen an Dritte. Weder die App noch diese Seite lädt Schriften oder Zählpixel nach.

Third-party requests. Neither the app nor this page loads outside fonts or trackers.

256

Byte je Block. Jede Nachricht wird auf volle Blöcke aufgefüllt, und auf der Leitung sieht ein „ja“ aus wie ein Absatz.

Bytes per block. Every message is padded to whole blocks, so on the wire a “yes” looks like a paragraph.

5 GB

Höchstgröße eines Anhangs, verschickt in 32-MiB-Stücken mit je eigenem Schlüssel.

Maximum attachment size, sent in 32 MiB pieces that each have their own key.

Modul · Fragen Module · questions

Häufige Fragen Frequently asked questions

Was ist BitDM?What is BitDM?

Ein kostenloser, quelloffener Messenger mit Ende-zu-Ende-Verschlüsselung. Du brauchst weder Telefonnummer noch E-Mail oder Benutzernamen; deine Adresse ist dein öffentlicher Schlüssel.

A free, open-source messenger with end-to-end encryption. You don't need a phone number, e-mail address or username; your address is your public key.

Gibt es einen Messenger ohne Telefonnummer?Is there a messenger that works without a phone number?

Ja. BitDM fragt nie nach Nummer, E-Mail oder Namen und lädt kein Adressbuch hoch. Kontakte fügst du über ihre Adresse oder einen QR-Code hinzu.

Yes. BitDM never asks for your number, e-mail or name, and it doesn't upload your address book. You add contacts by their address or a QR code.

Ist BitDM eine Alternative zu WhatsApp, Signal oder Threema?Is BitDM an alternative to WhatsApp, Signal or Threema?

Für den Alltag ja. Es nutzt das Signal-Protokoll wie Signal und WhatsApp und seit Fassung 2.0.0 auch Signals eigene Bibliothek libsignal. BitDM ist eine Vorabversion und noch nicht unabhängig geprüft. Signal und WhatsApp wollen deine Telefonnummer, BitDM nicht; anders als Threema ist BitDM kostenlos, und App und Server sind beide quelloffen.

For everyday use, yes. It uses the Signal protocol, like Signal and WhatsApp, and since version 2.0.0 also Signal's own library, libsignal. BitDM is a pre-release and hasn't been independently audited. Signal and WhatsApp need your phone number and BitDM doesn't; compared with Threema, BitDM is free, and both app and server are open source.

Was kostet BitDM?How much does BitDM cost?

Nichts. Keine Werbung, kein Tracking, kein Abo.

Nothing. No ads, no tracking, no subscription.

Wie sicher ist BitDM?How secure is BitDM?

Nachrichten laufen über das Signal-Protokoll (PQXDH mit Curve25519 und Kyber-1024, Double Ratchet, AES-256), seit Fassung 2.0.0 mit Signals eigener Bibliothek libsignal. Anhänge über AES-256-GCM, auch gespeichert auf dem Gerät. Ein unabhängiges Sicherheitsaudit von BitDM gibt es noch nicht, aber jeder kann im offenen Quellcode nachsehen.

Messages use the Signal protocol (PQXDH with Curve25519 and Kyber-1024, Double Ratchet, AES-256), and since version 2.0.0 Signal's own library, libsignal. Attachments use AES-256-GCM, including when stored on the device. There's no independent security audit of BitDM yet, but the source is open for anyone to check.

Was sieht der Server?What can the server see?

Keinen Inhalt und keine Namen. Er sieht aber, welche Adresse wann an welche schreibt, die ungefähre Größe und deine IP-Adresse. Tor verbirgt die IP-Adresse, nicht aber, wer an wen schreibt. Ganz am Server vorbei geht nur der Nahbereich über Bluetooth.

No content and no names. It does see which address writes to which and when, the rough size and your IP address. Tor hides your IP address but not who writes to whom. Only nearby mode over Bluetooth skips the server entirely.

Funktioniert BitDM ohne Internet?Does BitDM work without internet?

Ja, zwischen Telefonen in der Nähe über Bluetooth (Android 12 oder neuer). Mit „Nur in der Nähe“ spricht die App gar keinen Server an.

Yes, between nearby phones over Bluetooth (Android 12 or newer). With “Nearby only” turned on, the app doesn't contact any server.

Auf welchen Geräten läuft BitDM?Which devices does BitDM run on?

Android, Windows, Linux und im Browser unter bitdm.net/app. Für iPhone und Mac gibt es noch keine Version.

Android, Windows, Linux and in the browser at bitdm.net/app. There's no iPhone or Mac version yet.

Was passiert, wenn mein Telefon weg ist?What happens if I lose my phone?

Mit deinen zwölf Wörtern holst du deine Identität auf ein neues Gerät zurück. Hast du kein anderes Gerät mehr, meldest du dort alle alten ab: Das verlorene Telefon bekommt danach nichts mehr und kommt beim Relay nicht wieder hinein. Das kann allerdings auch, wer deine zwölf Wörter kennt. Wurde das Telefon entsperrt mitgenommen oder lagen die Wörter herum, hilft nur eine neue Identität.

Your twelve words restore your identity on a new device. If you have no other device left, sign out all the old ones there: the lost phone gets nothing after that and can't get back onto the relay. Anyone who knows your twelve words can do the same, though. If the phone was stolen unlocked or the words were lying around, only a new identity helps.

Sieht man meine Chats, wenn ich den Bildschirm teile?Can others see my chats when I share my screen?

Nicht mit eingeschaltetem Screenshot-Schutz. Dann fehlt das BitDM-Fenster in Bildschirmfotos, Aufnahmen und Streams, auch in Discord und OBS (Android und Windows). Im Browser geht das technisch nicht.

Not with screenshot protection on. The BitDM window then won't appear in screenshots, recordings or streams, Discord and OBS included (Android and Windows). In the browser it's technically impossible.

Und wenn mich jemand zwingt, die App zu öffnen?What if someone forces me to unlock the app?

Leg ein Panik-Wort fest. Am Sperrbildschirm statt des Passworts getippt, löscht es still alles, und die App sieht aus wie frisch installiert.

Set a panic word. Type it on the lock screen instead of your password and the app quietly wipes everything, then looks freshly installed.

Ist BitDM Open Source?Is BitDM open source?

Ja. App, Server und Tests liegen unter AGPL-3.0 auf GitHub: github.com/Henner4746/BitDM.

Yes. App, server and tests are on GitHub under AGPL-3.0: github.com/Henner4746/BitDM.

Für wen ist BitDM?Who is BitDM for?

Für alle, die privat schreiben wollen, ohne ihre Telefonnummer herauszugeben, etwa Familien, Freundeskreise oder Teams. Hängt deine Sicherheit davon ab, dass die Verschlüsselung hält, zum Beispiel als Journalistin oder unter Überwachung, dann nimm Signal, bis BitDM unabhängig geprüft ist. BitDM ist nur ein Messenger, keine Handelsplattform und kein Abo-Dienst.

Anyone who wants to write privately without handing out a phone number, such as families, friends or teams. If your safety depends on the encryption holding, for example as a journalist or under surveillance, use Signal until BitDM has had an independent audit. BitDM is only a messenger, not a commerce platform or a subscription service.

Hat BitDM etwas mit BiT DMS, BITE oder Bitmanagement zu tun?Is BitDM related to BiT DMS, BITE or Bitmanagement?

Nein. BitDM ist ein verschlüsselter Messenger aus Deutschland. BiT DMS ist eine amerikanische Händler-Software, BITE ein deutscher Anbieter für Bewerbermanagement, Bitmanagement macht 3D-Software und Bite Investments Software für Vermögensverwaltung. Die Namen ähneln sich, aber die Unternehmen haben nichts miteinander zu tun.

No. BitDM is an encrypted messenger from Germany. BiT DMS is American dealer-management software, BITE a German recruiting-software provider, Bitmanagement makes 3D software and Bite Investments software for wealth management. The names look alike, but the companies aren't related.

Wer steckt hinter BitDM?Who is behind BitDM?

BitDM ist ein unabhängiges Open-Source-Projekt aus Deutschland. Der gesamte Quellcode (App, Server und Tests) liegt unter AGPL-3.0 offen auf github.com/Henner4746/BitDM.

BitDM is an independent open-source project from Germany. All of its source code (app, server and tests) is public under AGPL-3.0 at github.com/Henner4746/BitDM.