termal.in

Sicherheit bei Termalin

Termalin ist ein SSH-Client: Er verwahrt die sensibelsten Zugangsdaten, die du besitzt. Diese Seite erklärt – in klaren Worten – was unsere Server speichern, was sie nie lesen können und warum du ihnen nicht viel vertrauen musst.

Ende-zu-Ende-Verschlüsselung, konkret

Alles Wesentliche wird auf deinem Gerät verschlüsselt, bevor es irgendwohin gesendet wird – mit einem Schlüssel, der aus deinem Master-Passwort abgeleitet ist (PBKDF2-HMAC-SHA256, 600.000 Iterationen → AES-256-GCM). Das Master-Passwort verlässt dein Gerät nie. Wir können deine Daten nicht lesen und nicht für dich zurücksetzen – das ist so gewollt, kein Fehler. Deine Absicherung liegt bei dir: Lege optional einen Wiederherstellungscode fest, dann kommst du wieder hinein, falls du das Passwort je vergisst; lässt du ihn weg, bedeutet ein vergessenes Passwort, dass die Daten verloren sind. So oder so bleibt die Macht zur Wiederherstellung bei dir, nie bei uns.

Was unsere Server sehen

DatenKann der Server lesen?
Deine Hosts, SSH-Schlüssel, Passwörter, Snippets (Synchronisierung)Nein – nur verschlüsselter Blob
Terminal-Sitzungsaufzeichnungen (Inhalte)Nein – nur verschlüsselter Blob
Dein Master-PasswortWird nie gesendet
Konto-E-Mail + PasswortE-Mail ja; Passwort als Argon2-Hash gespeichert
Titel und Host-Bezeichnung der AufzeichnungNein – mit deinem Master-Passwort verschlüsselt, wie die Aufzeichnung
Aufzeichnungs-Metadaten (Dauer, Größe, ob ein KI-Agent gehandelt hat)Ja – genutzt für Listen & Kontingente
Tarif, Gerätenamen, ZeitstempelJa
Web-Terminal-Sitzungen (das Web-Kabinett)Laufen live durch unseren Server; werden nicht gespeichert. Host, Port und Benutzername werden protokolliert
Befehle, die KI-Apps über den gehosteten MCP-Endpoint ausführenJa – der Befehlstext steht in deinem Aktivitätsprotokoll; seine Ausgabe wird nur aufbewahrt, wenn du das einschaltest, verschlüsselt mit einem Schlüssel, den nur du hast
Servermetriken und Alarme von Connector-ServernJa – nötig, um Diagramme zu zeichnen und Alarme auszulösen (siehe die Datenschutzerklärung, auf Englisch)
Salt zur SchlüsselableitungJa – ein Salt ist kein Geheimnis; damit kann das Web-Kabinett deinen Schlüssel in deinem Browser ableiten

Updates lassen sich nicht fälschen

Automatische Updates werden mit einem Offline-Ed25519-Schlüssel signiert; der passende öffentliche Schlüssel steckt in der App. Bevor sie etwas installiert, prüft die App die Signatur des Release-Manifests und die SHA-256-Prüfsumme des Installers dagegen. Unser eigener Server ist hier keine vertrauenswürdige Instanz: Selbst ein vollständig kompromittierter Update-Server (oder eine Umleitung über DNS/hosts) kann Updates zurückhalten – er kann aber keines einschleusen.

Die App authentifiziert den Server, nicht nur TLS

Bevor die App deine Konto-Zugangsdaten irgendwohin sendet, fordert sie den Server mit einer zufälligen Nonce heraus; der Server muss sie mit seinem Identitätsschlüssel signieren, geprüft gegen einen in der App eingebetteten öffentlichen Schlüssel. Ein gefälschtes Backend – erreicht über eine hosts-Datei oder eine DNS-Umleitung oder einen Rechner, der einem zusätzlichen TLS-Zertifikat vertraut – kann diese Signatur nicht erzeugen und sieht daher nie dein Passwort.

Keine Geheimnisse im Binary

Die Desktop-App bettet nur öffentliche Schlüssel ein. Ein Blick in die Dateien der App bringt nichts Brauchbares. Alles Kostenpflichtige wird serverseitig durchgesetzt.

Das Web-Kabinett, ehrlich gesagt

Das Web-Kabinett entschlüsselt Aufzeichnungen in deinem Browser mit deinem Master-Passwort – das Passwort verlässt die Seite nie. Der ehrliche Vorbehalt, den jedes Web-E2E-Produkt teilt: Der Server liefert den Code dieser Seite aus, ein kompromittierter Server könnte also eine veränderte Seite ausliefern. Die Desktop-App mit ihren signierten Updates bleibt der Weg mit dem höchsten Vertrauen; das Web-Kabinett ist für den Komfort.

Auf deinem Rechner

  • SSH-Host-Schlüssel werden bei der ersten Nutzung angeheftet (TOFU) in ~/.termalin/known_hosts.
  • Dein termal.in-Konto unterstützt Zwei-Faktor-Authentifizierung (TOTP mit Backup-Codes) und Passkeys – die Desktop-App kann sich über den Browser anmelden, sodass das Passwort die App nie berührt.
  • Aufzeichnungen speichern die Ausgabe des Terminals und Ereignismarker – nie rohe Tastatureingaben. Ein Passwort, das an einem verdeckten Prompt (sudo und Ähnliches) eingegeben wird, wird nie angezeigt, sodass es nie in einer Aufzeichnung landet; alles, was das Terminal ausgibt, gehört zur Aufnahme.
  • „Master-Passwort merken" (optional, standardmäßig aus) wird durch den Schlüsselspeicher deines Betriebssystems geschützt – Windows DPAPI, die macOS-Keychain oder den Linux Secret Service – und ist an deinen Betriebssystem-Benutzer gebunden.

Infrastruktur

Das Backend läuft in Docker hinter Cloudflare, mit TLS 1.2+ (Let's-Encrypt-Zertifikate). Die Datenbank ist nur vom localhost des Hosts aus erreichbar – nie aus dem Internet – und Backups sind verschlüsselt. Wir erheben so wenig wie möglich: keine Analytics-SDKs, keine Werbe-Tracker, und wir verkaufen keine Daten.

Compliance & Roadmap

Wir sagen dir lieber genau, wo wir stehen, als mehr anzudeuten, als wir getan haben:

BereichStatus
AES-256-GCM-Tresore, PBKDF2-HMAC-SHA256, Ed25519-signierte UpdatesAusgeliefert
Datenminimierung + vollständige Konto-/Datenlöschung auf Anfrage (DSGVO-Haltung)Ausgeliefert
Unabhängiger Penetrationstest durch DritteGeplant vor dem GA
SOC 2Auf der Roadmap – frag nach, wo es steht

Eine Schwachstelle melden

Schreib an security@termal.in (siehe unsere security.txt), mit dem, was du gefunden hast, wie man es reproduziert und welche Auswirkung du vermutest. Wir bestätigen den Eingang innerhalb von 3 Werktagen und sagen dir, wie wir entschieden haben – auch dann, wenn wir entscheiden, dass es kein Problem ist, und warum.

Bitte teste nur gegen dein eigenes Konto, höre auf, sobald du das Problem nachgewiesen hast (keine Datenexfiltration, keine Persistenz, kein Denial of Service, keine Dritt- oder Nutzerdaten), und gib uns ein angemessenes Zeitfenster vor einer Veröffentlichung. Bleibst du in diesem Rahmen, verfolgen wir dich nicht dafür.

Wir zahlen keine Bug-Bounties. Termalin ist ein kleines Projekt ohne Einnahmen, es gibt kein Budget für Prämien; das sagen wir lieber vorab, als dass jemand ein Wochenende auf gut Glück investiert. Was wir bieten: eine Nennung in den Danksagungen unserer security.txt unter dem Namen und Link deiner Wahl, eine schriftliche Referenz, die deinen Bericht beschreibt, und eine Pro-Lizenz für ein paar Monate. Ist der Fund schwerwiegend, sagen wir dir außerdem, wann der Fix ausgeliefert wird.

Danksagungen

Unser Dank gilt den Forschern, die Probleme verantwortungsvoll gemeldet und uns geholfen haben, Termalin sicherer zu machen:

  • MD Rabbi Hossain – Härtung der OAuth-Client-Registrierung im MCP-Autorisierungsablauf (Sept. 2026).