TensorPM E2EE-Architekturdiagramm: Nutzergeräte verschlüsseln Projektinhalte lokal vor der Synchronisation. Lokale SQLite-Datenbanken enthalten Klartext auf dem Gerät; OS-Keychain speichert Geräte-Private-Keys und API-Keys; nur verschlüsselte Blobs verlassen das Gerät. Die TensorPM Cloud in Deutschland speichert PostgreSQL- und PowerSync-Daten mit verschlüsselten Projektdatensätzen, sichtbaren Routing-Metadaten, Workspace-Mitgliedschaften, versiegelten Key-Envelopes und optionalem verschlüsseltem Recovery-Payload. Sichtbar bleiben Metadaten wie IDs, Zeitstempel, Rollen und Workspace-Informationen. KI-Inferenz liegt außerhalb der Projektstorage-E2EE: BYOK sendet Prompts direkt an den gewählten Anbieter; Pro-Proxy sendet Prompts über TensorPM Proxy an Cloudflare Workers AI / Moonshot Kimi; Prompts müssen für Inferenz im Klartext vorliegen. Nicht geschützt sind kompromittierte Endgeräte, schwache Recovery-Passwörter und Traffic-Metadaten; geschützt sind Server-Datenbank-Dumps, Cloud-Provider-Lesezugriff, kompromittierte Operator-Accounts und Netzwerk-Mitschnitt von Projektinhalten.

Sicherheit & Ende-zu-Ende-Verschlüsselung

Version 1.2 – Stand: 3. Mai 2026

TensorPM ist local-first und bietet optional Cloud Sync. In Cloud- und Pro-Workspaces werden Projektinhalte auf Ihrem Gerät verschlüsselt, bevor sie unsere Server erreichen. Das Diagramm oben zeigt die Architektur; diese Seite beschreibt unsere Sicherheitszusagen und ihre Grenzen. Eine maschinenlesbare Fassung finden Sie unter tensorpm.com/SECURITY.md.

1. Zusammenfassung

Auf unseren Servern liegen Projektinhalte ausschließlich als Chiffrate. Sollte unsere Sync-Datenbank kompromittiert werden, fielen Angreifern nur verschlüsselte Blobs und Routing-Metadaten in die Hände – keine lesbaren Projekte, Action Items, Beschreibungen, Termine, Budgets oder KI-Zusammenfassungen.

Die zur Entschlüsselung nötigen Schlüssel verlassen Ihre Geräte nicht im Klartext. Aktuelle Recovery-Backups können E2E-Schlüsselmaterial enthalten, allerdings in einem verschlüsselten Paket, das für unsere Server unlesbar ist.

2. Was verschlüsselt wird

TensorPM verschlüsselt Projektinhalte vor jeder Synchronisation, darunter:

  • Projektnamen, Beschreibungen, Ziele, Scope, Abhängigkeiten, Zeitrahmen, Budget, Health, Anforderungen, Meilensteine und Erfolgskriterien
  • Texte, Beschreibungen, Status, Termine, Farben, Priorität, Komplexität, Impact und Dringlichkeit von Action Items
  • Kategorienamen, Projekteinstellungen, Aufwandserfassung, Budget-Tracking, Timer, Inhalte wiederkehrender Items sowie KI-generierte Dateizusammenfassungen

3. Welche Metadaten sichtbar bleiben

Einige Metadaten bleiben im Klartext, weil die Sync-Engine sie für Routing, Zusammenarbeit, Einladungen, Abrechnung und Konfliktauflösung benötigt:

  • Workspace-Name und -Beschreibung
  • Workspace-Mitglieder und ihre Rollen
  • stabile IDs für Workspaces, Projekte, Action Items sowie Display-IDs
  • Server-Zeitstempel und Routing-Werte des Sync-Protokolls

Damit kann der Server Datensätze zählen und weiterleiten – nicht aber lesen, worum es in ihnen geht.

4. Hosting und Subprozessoren

Verschlüsselte Daten, Metadaten, Sync-Traffic und Account-Verarbeitung laufen auf Infrastruktur der Hetzner Online GmbH in Nürnberg, Deutschland (EU). Die Verbindung zwischen Gerät und Server ist zusätzlich zur E2EE durch TLS 1.2+ geschützt.

Stripe (Abrechnung), SendGrid (transaktionale E-Mails) und Cloudflare Workers AI (Proxy-KI-Inferenz, nur Pro-Plan) liegen außerhalb der E2EE-Grenze und erhalten ausschließlich die für ihre jeweilige Funktion erforderlichen Daten. Cloudflare Workers AI läuft auf Cloudflares globalem Netzwerk; eine ausschließliche Verarbeitung in EU-Rechenzentren ist standardmäßig nicht garantiert. Details finden Sie in der Datenschutzerklärung und im AVV.

5. Auf Ihrem Gerät

Die primäre Arbeitskopie Ihrer Projekte liegt in einer lokalen SQLite-Datenbank. Diese ist für den angemeldeten Betriebssystem-Benutzer im Klartext lesbar – Festplattenverschlüsselung ist daher unerlässlich. Wir empfehlen FileVault (macOS), BitLocker (Windows) oder LUKS/dm-crypt (Linux).

Sensible lokale Daten wie der private Schlüssel des Geräts und KI-API-Keys werden, soweit verfügbar, über die safeStorage-API von Electron im Schlüsselbund des Betriebssystems abgelegt. E2EE schützt synchronisierte und in der Cloud gespeicherte Daten; sie schützt jedoch kein entsperrtes oder kompromittiertes Endgerät.

6. Kryptografie

TensorPM setzt auf etablierte Primitive aus libsodium:

Zweck Primitive
Datensatz-Verschlüsselung XChaCha20-Poly1305
Schlüssel-Envelopes zwischen Geräten X25519 Sealed Box
Passwortbasierte Recovery-Ableitung Argon2id (m=64 MiB, t=3, p=4)
Zufallswerte OS-CSPRNG via libsodium

Jeder verschlüsselte Datensatz verwendet eine frische Nonce und ist über Additional Authenticated Data (AAD) an Workspace, Tabelle und Primärschlüssel gebunden. Server-seitiges Vertauschen einzelner Zeilen schlägt dadurch bei der Authentifizierung fehl.

7. Schlüssel und Recovery-Backup

  • Geräte-Schlüsselpaar: pro Gerät erzeugt und lokal gespeichert. Der private Schlüssel verlässt das Gerät nie im Klartext.
  • Workspace-Schlüssel: symmetrischer Schlüssel zur Verschlüsselung aller Datensätze eines Workspaces. Er wird als versiegelter Envelope an die Geräte und Mitglieder verteilt und kann nur vom jeweiligen Zielgerät geöffnet werden.
  • Recovery-Backup: ein passwortverschlüsseltes Paket, das der Server als Chiffrat zusammen mit Salt und Argon2id-Parametern speichert. Es kann Workspace-Schlüssel und verschlüsseltes Geräte-Schlüsselmaterial enthalten. Bei einer Wiederherstellung importiert die App die Workspace-Schlüssel und legt für das neue Gerät ein frisches Schlüsselpaar an.

Eine Anmeldung per Passwort erstellt oder aktualisiert das Recovery-Backup automatisch, sofern E2E-Schlüssel vorhanden sind. Anmeldungen per Magic-Link oder Passkey können das Backup nicht aktualisieren, weil die Desktop-App in diesen Flows kein Passwort kennt. Ein starkes, einzigartiges Account-Passwort ist deshalb entscheidend für Ihre Recovery-Sicherheit.

8. Account-Passwort vs. Wiederherstellung

Ihr Account-Passwort dient der Authentifizierung gegenüber den TensorPM-Diensten. Auf dem Server wird es ausschließlich als Einweg-Hash gespeichert. Ein Passwort-Reset entschlüsselt oder re-verschlüsselt vorhandene E2EE-Inhalte nicht.

Verlieren Sie alle Geräte, ist eine Wiederherstellung nur möglich, wenn ein aktuelles passwortbasiertes Recovery-Backup existiert und Sie das damals verwendete Passwort noch kennen. Andernfalls kann TensorPM Ihre verschlüsselten Inhalte nicht wiederherstellen – das ist eine bewusste Eigenschaft von Ende-zu-Ende-Verschlüsselung.

9. Anmeldeverfahren

TensorPM unterstützt Anmeldung per Passwort, E-Mail-Magic-Link sowie Passkeys/WebAuthn auf den dafür geeigneten Plattformen. Eine dedizierte TOTP-2FA ist derzeit nicht verfügbar.

10. Bedrohungsmodell

Geschützt gegen: Server-Datenbank-Dumps, Mitschnitt des Netzwerkverkehrs, Lesezugriffe durch den Cloud-Anbieter, kompromittierte Operator- oder Support-Accounts sowie server-seitiges Manipulieren einzelner Zeilen.

Nicht geschützt gegen: Schadsoftware oder die Kompromittierung Ihres OS-Accounts, schwache Recovery-Passwörter, Traffic-Analyse auf Metadaten sowie historische Datensätze, die ein ehemaliges Workspace-Mitglied vor seiner Entfernung bereits entschlüsseln konnte. Die Entfernung eines Mitglieds stoppt zwar die Ausgabe neuer Envelopes, eine automatische Rotation des Workspace-Schlüssels nach dem Entzug ist aber derzeit nicht implementiert.

11. KI-Anbieter und BYOK

Im BYOK-Modus werden Prompts direkt von Ihrem Gerät an den gewählten Anbieter gesendet – mit Ihrem eigenen API-Key. Der TensorPM-Proxy ist in diesem Pfad nicht beteiligt.

Im TensorPM-Proxy-Modus werden Prompts über Cloudflare Workers AI an Moonshots Kimi K2.6 weitergeleitet. KI-Prompts müssen für die Inferenz im Klartext vorliegen; E2EE schützt Ihren gespeicherten Projektgraphen, nicht aber den Prompt, den ein KI-Modell verarbeiten soll. Wir speichern weder Prompts noch Antworten noch Trainingsdaten aus diesen Anfragen dauerhaft.

12. Datenportabilität und Löschung

  • Projekt-Export: Sie können entschlüsselte Projektdaten direkt aus der Desktop-App exportieren. Das Standardformat ist JSON (.json).
  • Diagnostik-Export: Support-Bundles sind separate ZIP-Dateien zur Fehleranalyse. Sie können App- und Versionsinformationen, bereinigte Workspace- und Sync-Statusdaten, Sync-Telemetrie, aktuelle App-Logs und Fehlerkontext enthalten. Detaillierte KI-Logs sind standardmäßig ausgeschlossen und nur bei ausdrücklicher Auswahl enthalten.
  • Löschung: Eine Account-Löschung können Sie unter info@tensorpm.com anfordern. Wir entfernen daraufhin Account, verschlüsselte Inhalts-Blobs, Envelopes, Recovery-Paket und Workspace-Metadaten aus der Sync-Infrastruktur – im Rahmen der in der Datenschutzerklärung und im AVV beschriebenen Backup-Aufbewahrung.
  • Lokale Kopie: Eine server-seitige Löschung berührt die lokalen Datenbanken auf Ihren Geräten nicht.

13. Was Sie tun sollten

  1. Aktivieren Sie auf jedem Gerät die Festplattenverschlüsselung.
  2. Verwenden Sie ein starkes, einzigartiges Account-Passwort und legen Sie es in einem Passwort-Manager ab.
  3. Halten Sie Ihr Recovery-Backup aktuell – es wird nur bei Passwort-Anmeldung erneuert, nicht bei Magic-Link- oder Passkey-Anmeldung.
  4. Widerrufen Sie nicht mehr genutzte Geräte in den Sicherheits-Einstellungen der App.
  5. Sperren Sie Ihren Rechner, wenn Sie ihn verlassen, und halten Sie TensorPM auf dem aktuellen Stand.

14. Was wir veröffentlichen

Auf dieser Seite legen wir die verwendeten Primitive, die Schlüsselhierarchie, die Grenze zwischen verschlüsselten und unverschlüsselten Daten, das Recovery-Modell sowie unser Bedrohungsmodell offen. Wir veröffentlichen keine internen Dateipfade, exploit-relevanten Implementierungsdetails, unveröffentlichten Krypto-Änderungen oder Incident-Response-Runbooks.

15. Sicherheitslücken melden

Bitte melden Sie Sicherheitslücken an info@tensorpm.com. Wir bestätigen den Eingang innerhalb von 72 Stunden und koordinieren eine verantwortungsvolle Offenlegung. Bitte reichen Sie Sicherheitsmeldungen nicht als öffentliche Bug-Reports oder GitHub-Issues ein.

16. Verwandte Dokumente