Sicherheit im Klartext
Wie funktioniert PriChat?
Sicherheit ist bei PriChat kein Zusatz, sondern das Fundament. Hier siehst du in Ruhe, wie deine Nachrichten geschützt sind, was der Server wirklich speichert, wie du deinen Zugang zusätzlich absicherst, woran du Manipulation erkennst und was im Notfall passiert.
PriChat ist ein Ende-zu-Ende-verschlüsselter Messenger. Das heißt: Nur du und dein Gegenüber könnt eure Nachrichten lesen, sonst niemand, auch wir als Betreiber nicht. Du brauchst keine Telefonnummer, nur einen frei gewählten Benutzernamen, und du kannst direkt im Browser oder als installierte App loslegen.
Klingt erstmal wie bei anderen auch. Der Unterschied steckt darin, wie es aufgebaut ist. Schauen wir es uns Schritt für Schritt an.
/01Dein Schlüssel
Dein Schlüssel entsteht aus deinem Passwort
Wenn du dich anmeldest, wird aus deinem Passwort direkt auf deinem Gerät ein starker Schlüssel berechnet (AES-256). Das passiert mit einem absichtlich langsamen Verfahren (PBKDF2, 600.000 Runden), damit Passwort-Raten teuer wird. Dieser Schlüssel lebt nur im Arbeitsspeicher und wird nie gespeichert.
Für den Login zum Server wird getrennt davon ein zweiter Wert abgeleitet, mit einem anderen Salt. Nur dieser Login-Token geht zum Server, und auch nur als argon2id-Hash. Dein Passwort und dein Datenschlüssel bleiben bei dir. Deshalb kann der Server deine lokalen Daten technisch gar nicht entschlüsseln.
/02Nachrichten
Wie eine Nachricht verschlüsselt wird
PriChat nutzt dasselbe erprobte Verfahren wie Signal: einen X3DH-Handschlag, um einen gemeinsamen Schlüssel aufzubauen, und danach den Double Ratchet, der für jede einzelne Nachricht einen neuen Schlüssel erzeugt. Das nennt man Forward Secrecy: Selbst wenn ein Schlüssel mal auffliegt, bleiben die alten Nachrichten geschützt.
Die öffentlichen Schlüssel tauschen die Geräte über den Server aus, private Schlüssel niemals. Nur falls dein Gegenüber noch keine modernen Schlüssel hinterlegt hat, greift ein einfacherer Notpfad. Gruppenchats sind übrigens keine eigene Technik: Dieselbe Nachricht wird einzeln für jedes Mitglied verschlüsselt, der Server erfährt nie, dass sie zu einer Gruppe gehört.
/03Der Server
Was der Server sieht, und was nicht
Das ist der ehrlichste Teil. Ein Server muss ein Minimum wissen, um Nachrichten zuzustellen. Aber Inhalte gehören nicht dazu. Links steht, was wirklich auf dem Server liegt, rechts, was garantiert nie dort ankommt.
Auf dem Server
- Benutzername
- Login-Hash, nicht das Passwort
- öffentliche Schlüssel
- verschlüsselte Nachrichten, bis sie zugestellt sind
- wenige Metadaten (Online-Status, Kontaktliste als Chiffrat)
Niemals auf dem Server
- deine Nachrichten im Klartext
- wer mit wem befreundet ist, als lesbare Verbindung
- der Absender einer Nachricht im Klartext
- der Absender einer Freundschaftsanfrage im Klartext
- dein privater Schlüssel
- dein Passwort
Ein Punkt ist uns dabei besonders wichtig, und er ist neu: Auch dein soziales Umfeld bleibt privat. Deine Kontaktliste liegt nur als verschlüsseltes Paket auf dem Server, und selbst der Absender einer Freundschaftsanfrage wird anonym gegen den Schlüssel des Empfängers verschlüsselt. In der Datenbank steht also keine Klartext-Verbindung „X will mit Y befreundet sein“.
Und damit du siehst, dass das keine Marketing-Behauptung ist: So sehen die Daten in der Datenbank tatsächlich aus. Eine unzugestellte Nachricht liegt nur als Chiffretext-Block im Feld content (erkennbar am Präfix DR: oder ENC:), nie als lesbarer Text. Dein Passwort steht dort als argon2id-Hash, deine Kontakte als verschlüsseltes Paket.
| id | from | to | content | timestamp |
|---|---|---|---|---|
| 3f2a… | (leer) | bob | DR:eyJoIjp7… | 2026-07-10T12:00:00Z |
| username | password_hash | crypto_salt | contacts_blob |
|---|---|---|---|
| alice | $argon2id$v=19$… | 9f3c… | ENC:AAEC… |
Dir fällt bestimmt die leere from-Spalte auf, und das ist Absicht. Wer eine Nachricht geschickt hat, steht nirgends im Klartext: Der Absender reist verschlüsselt im Feld content mit und lässt sich nur vom Empfänger selbst herausfinden. Der Server sieht einzig, in welchen Briefkasten (to) etwas gelegt wurde, damit er es zustellen kann, nie, von wem es kam.
Zugestellte Nachrichten werden sofort aus dieser Tabelle gelöscht, spätestens nach 14 Tagen, falls dein Gerät lange offline war. Der Server hebt also keinen Nachrichtenverlauf auf. Das ist gleich beim nächsten Punkt wichtig.
/04Dein Zugang
Deinen Zugang mehrfach absichern
Die Verschlüsselung schützt deine Nachrichten unterwegs. Aber es gibt noch eine zweite Front: dein Gerät und dein Konto selbst. Dafür kannst du zusätzlich zum Passwort mehrere Schlösser vorlegen, alle optional, alle sofort in den Einstellungen anschaltbar.
Zwei-Faktor (2FA). Du hinterlegst eine Authenticator-App (per QR-Code, ganz normaler TOTP-Standard). Ist 2FA an, verlangt der Server beim Anmelden zusätzlich den 6-stelligen Code. Selbst wer dein Passwort kennt, kommt ohne dieses zweite Gerät nicht hinein.
Passkey und Biometrie. Statt jedes Mal dein Passwort zu tippen, entsperrst du die App per Face ID, Fingerabdruck oder Geräte-PIN. Technisch steckt mehr dahinter, als es aussieht: Dein Datenschlüssel wird nicht einfach gespeichert, sondern mit einem Geheimnis aus dem Sicherheits-Chip deines Geräts verschlüsselt eingewickelt. Dieses Geheimnis verlässt den Chip nie. Der Server bekommt davon nur einen undurchschaubaren Block zu sehen, es gibt also auch hier keinen Zweitschlüssel bei uns.
App-Sperre. Mit einem Tipp sperrst du die App. Dabei wird dein Schlüssel sofort aus dem Arbeitsspeicher gelöscht, danach ist ohne Passwort, Passkey oder Wiederherstellungs-Phrase nichts mehr lesbar. Auf Wunsch sperrt sich die App auch von selbst, nach 5, 15 oder 30 Minuten ohne Aktivität.
Ehrlich eingeordnet: 2FA und Passkey schützen den Zugang zu deinem Konto und deinem Gerät. Die Ende-zu-Ende-Verschlüsselung deiner Nachrichten läuft davon unabhängig immer.
/05Vertrauen prüfen
So merkst du, wenn jemand mitlesen will
Verschlüsselung ist nur so gut wie die Gewissheit, dass du wirklich mit der richtigen Person redest und nicht mit jemandem, der sich dazwischengeschmuggelt hat. Genau dafür gibt es zwei sichtbare Kontrollen.
Sicherheitsnummern. Zu jedem Kontakt gibt es eine Zahl, die sich aus euren beiden Schlüsseln ergibt. Sie ist auf beiden Geräten identisch, solange niemand dazwischenfunkt. Vergleicht ihr sie einmal (vorlesen, per Foto, egal wie), habt ihr Gewissheit. Verifizierte Kontakte werden dauerhaft mit einem Häkchen markiert.
Warnung bei Schlüsselwechsel. Den ersten Schlüssel eines Kontakts merkt sich die App automatisch. Taucht später ein anderer auf, etwa weil jemand versucht, sich dazwischenzuschalten, bekommst du eine Warnung, statt still weiterzuschreiben. Das schützt dich auch bei Kontakten, deren Nummer du nie ausdrücklich verglichen hast.
Warnung bei neuem Login. Meldet sich ein unbekanntes Gerät an deinem Konto an, während ein vertrautes gerade aktiv ist, erscheint dort eine Warnung mit IP, Gerät und Uhrzeit. Du kannst die Freigabe des neuen Geräts dann verweigern.
/06Notfall
Der Notfall-Knopf
Manchmal geht es nicht um Angreifer im Netz, sondern um die Situation direkt vor dir: ein kontrolliertes Handy, eine erzwungene Herausgabe, ein verlorenes Gerät. Für diese Fälle gibt es die Notfall-Löschung.
Ein Griff wischt auf deinem Gerät die lokalen Nachrichten und Schlüssel der Kontakte, die du vorher ausgewählt hast, und meldet dich ab. In den Einstellungen legst du fest, welche Kontakte betroffen sind, ob deren Kontakteinträge gleich mit verschwinden und ob vorher noch einmal nachgefragt wird oder es sofort passiert.
Die Notfall-Löschung wirkt lokal auf deinem Gerät und meldet dich ab, sie löscht dein Konto nicht und holt keine Nachrichten beim Gegenüber zurück. Später kannst du dich wieder anmelden. Wenn du das Konto ganz auflösen willst, gibt es dafür getrennt die vollständige Kontolöschung.
/07Gerätewechsel
Neues Gerät: registrieren auf A, einloggen auf B
Angenommen, du hast dich auf dem Handy registriert und meldest dich später am Laptop an. Was passiert dann? Kurz gesagt: Du meldest dich einfach mit Benutzername und Passwort an, und dein Schlüssel wird auf dem neuen Gerät frisch berechnet.
- Auf dem neuen Gerät anmelden
Du gibst nur Benutzername und Passwort ein, mehr nicht.
- Der Server schickt deinen Salt
Über /auth/salt kommt der öffentliche Zufallswert, mit dem dein Schlüssel berechnet wird.
- Dein Schlüssel wird neu berechnet
Aus Passwort und Salt entsteht lokal derselbe AES-Schlüssel wie auf dem alten Gerät.
- Login wird geprüft
Über /auth/login prüft der Server den Login-Token, optional mit Zwei-Faktor-Code.
- Gleiche Identität, gleiche Sicherheitsnummer
Deine Messaging-Identität wird deterministisch abgeleitet, deine Sicherheitsnummer bleibt stabil.
Deine alte Chat-Historie wandert NICHT automatisch mit. Sie liegt nur verschlüsselt auf deinem alten Gerät, und der Server hebt keine Verläufe auf. Auf dem neuen Gerät startest du mit leerem Verlauf und bekommst nur neue Nachrichten ab dem Login. Deine Kontakte können über ein verschlüsseltes Server-Paket zurückkommen, die alten Nachrichten selbst nicht.
Ein Detail noch: Aus Sicherheitsgründen ist immer nur ein Gerät gleichzeitig aktiv. Meldest du dich am Laptop an, während das Handy noch online ist, wirst du gebeten, dich dort zuerst abzumelden.
/08Wiederherstellung
Passwort vergessen? Die Wörter-Phrase
Bei der Registrierung bekommst du eine Phrase aus 12 Wörtern. Bewahre sie gut auf, denn sie ist dein Notschlüssel. Mit ihr kannst du deine Messaging-Identität und deine Schlüssel wiederherstellen und dir ein neues Passwort setzen. Die Wörter verlassen dabei nie deinen Browser, der Server kennt sie nicht.
Auch hier ehrlich: Die Phrase bringt deine Schlüssel und deine Identität zurück, nicht deinen alten Nachrichtenverlauf. Den gibt es serverseitig schlicht nicht, deshalb kann ihn auch keine Wiederherstellung zaubern.
/09Grenzen
Ehrlich: die Grenzen
Kein System ist perfekt, und ich sage dir lieber offen, wo die Kanten sind:
- Der einfache Notpfad (wenn das Gegenüber keine modernen Schlüssel hat) und die Signalisierung von Anrufen haben keine Forward Secrecy. Für zwei aktuelle Geräte läuft immer der moderne Double Ratchet.
- Support-Anfragen sind bewusst nicht Ende-zu-Ende-verschlüsselt, weil sie an den Betreiber gehen, wie bei einem normalen Helpdesk.
- Profil- und Gruppenbilder liegen als Metadaten auf dem Server, nicht Ende-zu-Ende. Wer das nicht möchte, lässt sie leer.