Cloud Sync (PowerSync)

TensorPM ist offline-first. Cloud-Sync ist optional und workspace-basiert.

Lokaler vs Cloud-Workspace

  • Lokaler Workspace: Daten bleiben auf dem Gerät
  • Cloud-Workspace: Daten synchronisieren über Geräte und Teammitglieder

Cloud-Workspaces sind Ende-zu-Ende verschlüsselt (Transport und Workspace-Inhalt). Alle sensiblen Projektinhalte werden mit XChaCha20-Poly1305 (256-Bit-Schlüssel) auf dem Gerät verschlüsselt, bevor sie es verlassen. Workspace-Schlüssel werden über X25519 Sealed Envelopes verteilt. Unsere Server sehen niemals Klartext. Siehe Verschlüsselung & Sicherheit für vollständige technische Details.

Wann Sync aktiv ist

Sync wird aktiv, wenn alle Voraussetzungen erfüllt sind:

  • du bist in einem Cloud-Workspace
  • du bist authentifiziert
  • Workspace-Zugriff ist gültig (Abo oder Seat-basierter Zugriff)

Free-User können in Shared Workspaces synchronisieren, wenn ein Seat zugewiesen wurde.

Sync-Status-Labels in der App

Der Statusindikator kann zeigen:

  • Local
  • Live
  • Log in
  • Upgrade
  • No access
  • Keyring
  • Offline
  • No network
  • Error
  • Pending

Während connecting/syncing können Spinner-Zustände ohne Text auftreten.

Mapping für deaktivierte Sync-Gründe

Häufige deaktivierte Gründe hinter den Labels:

  • nicht authentifiziert -> Log in
  • kein Subscription-/Seat-Anspruch -> Upgrade
  • Workspace-Zugriff entzogen -> No access
  • Secure Storage für E2E-Keys nicht verfügbar -> Keyring
  • Netzausfall -> No network

Workspace-E2E-Zustände

Im Workspace-Management gibt es zusätzlich E2E-Zwischenzustände:

  • E2E Setup...
  • E2E Pending
  • E2E Encrypted

Diese zeigen den Fortschritt bei Key-Bootstrap und Key-Sharing. Während des Setups erzeugt das Gerät eine kryptographische Identität. Der Workspace-Ersteller erzeugt den initialen Workspace-Schlüssel direkt; weitere Geräte empfangen versiegelte Workspace-Key-Umschläge von bereits autorisierten Geräten.

Architektur

TensorPM schreibt zuerst lokal und synchronisiert danach im Hintergrund. Das hält die App responsiv und offline nutzbar.

Sync-Diagnostik im Popover

Das Sync-Popover kann enthalten:

  • relative und exakte Zeitangaben für letzten Sync/Upload/Download
  • Warnhinweise bei ausstehender Verschlüsselungsinitialisierung
  • Retry-Aktion für fehlgeschlagene Uploads
  • Aktion zum Neustart des Sync-Service
  • Export-Aktion für Diagnose-Bundle
  • sichtbare Sync-Issue-Liste mit Dismiss-Aktionen

Konfliktverhalten

Bei gleichzeitigen Feldänderungen gilt Last-Write-Wins.

Praktische Hinweise:

  • dieselben Felder nicht parallel auf mehreren Geräten bearbeiten
  • vor Offline-Wechsel auf Zweitgeräten kurz auf Sync-Beruhigung warten

Shared Workspaces und Seats

Shared Workspaces unterstützen Einladungen und Rollen. Cloud/Pro-Nutzer arbeiten direkt zusammen. Free-Nutzer können über Team-Seats teilnehmen.

Wenn Sync nicht verfügbar ist

Häufige Ursachen:

  • nicht eingeloggt
  • kein Cloud/Pro-Anspruch und kein Seat-Zugriff
  • Workspace-Zugriff entzogen
  • sicheres Key-Storage auf dem Gerät nicht verfügbar
  • temporärer Netzausfall

Verschlüsselungsarchitektur

Cloud Sync verwendet Zero-Knowledge Ende-zu-Ende-Verschlüsselung:

  • Alle sensiblen Workspace-Inhalte werden clientseitig mit XChaCha20-Poly1305 (AEAD, 256-Bit-Schlüssel) verschlüsselt
  • Jedes Gerät hat ein eigenes X25519-Schlüsselpaar; Workspace-Schlüssel werden über Sealed Envelopes verteilt
  • Server speichern nur Chiffretext und können die Daten nicht entschlüsseln
  • Optionale passwortbasierte Escrow-Wiederherstellung nutzt Argon2id-Schlüsselableitung
  • Wenn alle Geräte und Wiederherstellungsmethoden verloren gehen, können verschlüsselte Daten nicht wiederhergestellt werden

Für Algorithmen, Schlüsselverwaltung, Datenflussdiagramme und Sicherheitseigenschaften siehe Verschlüsselung & Sicherheit.

Nächste Schritte