Local-First: Software, die deine Daten nicht aus der Hand gibt
Manche Daten sollten das Haus nie verlassen. Wie ich mir eine local-first Finanz-App gebaut habe — alles auf dem Gerät, ohne Login und ohne Cloud — und warum diese Bauweise für sensible Daten kein Rückschritt, sondern ein Vorteil ist.
Manche Daten sollten das Haus nie verlassen. Für die baut man Software „local-first“: Sie liegt auf deinem Gerät, funktioniert ohne Login und ohne Cloud. Für meine eigene Finanzverwaltung habe ich mir genau so eine Desktop-App gebaut — alle Buchungen, Kategorien und Budgets in einer lokalen Datenbank, kein Konto, kein Server. Dieser Beitrag erklärt, warum diese Bauweise für sensible Daten oft die bessere ist.
Was Local-First bedeutet
Local-First heißt: Die eigentliche Datenhaltung passiert auf deinem Gerät, nicht in der Cloud. Die App speichert alles in einer lokalen Datenbank im Anwendungsverzeichnis und braucht weder Anmeldung noch Internetverbindung, um zu funktionieren. Es gibt keinen fremden Server, der deine Daten „zur Sicherheit“ spiegelt.
Das ist der umgekehrte Ansatz zur üblichen Cloud-Software, bei der deine Daten auf den Servern eines Anbieters liegen und du sie dir über den Browser ausleihst. Beide Modelle haben ihre Berechtigung — aber für einen ganzen Bereich von Daten ist Local-First die klar passendere Antwort.
Warum gerade Finanzdaten dort hingehören
Bei Finanzdaten ist „liegt nur bei mir“ kein Kompromiss, sondern das Ziel. Drei Gründe sprechen für Local-First, sobald Daten sensibel sind:
- Datenschutz durch Bauweise — was nie hochgeladen wird, kann auch nicht bei einem Anbieter abfließen. DSGVO-Konformität ist bei local-first Software kein nachträglicher Aufsatz, sondern folgt aus der Architektur.
- Kein Anbieter-Risiko — kein Abo, das teurer wird, kein Dienst, der eingestellt wird, keine Migration, wenn eine Firma verkauft wird. Deine Daten und die App gehören dir.
- Volle Kontrolle — Sicherung heißt, eine Datei zu kopieren. Umzug heißt, sie mitzunehmen.
Dasselbe gilt für Gesundheits-, Mandanten- oder Personaldaten. Überall dort, wo „das darf nicht in fremde Hände“ der Ausgangspunkt ist, beginnt man am besten local-first.
Der schwierige Teil: fremde Daten sauber importieren
Der aufwändigste Teil einer Finanz-App ist nicht das Anzeigen, sondern das Einlesen. Jede Bank exportiert ihre Umsätze anders: anderes Trennzeichen, anderes Datumsformat, Beträge mit Komma oder Punkt, Ausgaben mal mit Minus, mal ohne. Ein starrer Import scheitert an der zweiten Bank.
Die Lösung sind wiederverwendbare Import-Profile. Beim Hochladen erkennt die App das Format automatisch; hinter den Kulissen merkt sich ein Profil Trennzeichen, Dezimaltrenner, Datumsformat, ob es eine Kopfzeile gibt, welche Spalte was bedeutet und wie Ausgaben vorzeichen-mäßig gemeint sind. So normalisieren sich völlig verschiedene Exporte auf dasselbe saubere Modell. Und wie bei jeder Software, die mit Geld rechnet, werden Beträge als ganzzahlige Cent gespeichert — nie als Kommazahl, die beim Addieren driftet.
Klare Trennung: Oberfläche vorn, Rust hinten
Technisch ist die App eine native Desktop-Anwendung mit einer sauberen Trennung: Die Oberfläche zeigt an und nimmt Eingaben entgegen, führt aber selbst nie eine Datenbankabfrage aus. Jeder Datenzugriff läuft über klar definierte Befehle an einen Rust-Kern, der als Einziger mit der lokalen Datenbank spricht.
Diese Grenze ist mehr als Ordnungsliebe. Sie hält die kritische Logik — Geld, Datenintegrität — an einer Stelle, in einer Sprache, die für Korrektheit und Tempo gebaut ist, und macht die Oberfläche austauschbar. Dass die App dabei nativ läuft und über eine reproduzierbare Umgebung gebaut wird (dazu mehr im Beitrag über NixOS für kleine Teams), zeigt: Local-First heißt nicht primitiv.
Für Betriebe
Nicht jede Anwendung gehört in die Cloud. Wenn du mit Daten arbeitest, die schlicht nicht abfließen dürfen, ist eine Desktop-App auf local-first Basis oft die ehrlichere Lösung als das nächste Cloud-Abo — dieselbe Datensparsamkeit, die auch meinen Ansatz bei RAG und Wissenssuche prägt.
Wenn du eine Anwendung im Kopf hast, bei der „die Daten bleiben bei mir“ die erste Bedingung ist: schreib mir. Ich sage dir ehrlich, ob Local-First der richtige Weg ist — oder wann eine Cloud-Lösung doch die bessere Wahl wäre.
Häufige Fragen
Was heißt „Local-First" eigentlich?
Deine Daten liegen zuerst und dauerhaft auf deinem eigenen Gerät, nicht auf einem fremden Server. Die App funktioniert ohne Login und ohne Internet; nichts wird in eine Cloud synchronisiert, außer du entscheidest dich ausdrücklich dafür. Der Normalfall ist: Die Daten bleiben, wo sie entstanden sind.
Ist eine lokale App nicht ein Rückschritt gegenüber Cloud-Software?
Für manche Daten ist sie das Gegenteil. Bei Finanz-, Gesundheits- oder Personaldaten ist „verlässt das Haus nie" ein Vorteil, kein Mangel: kein monatliches Abo, kein Risiko, dass ein Anbieter den Dienst einstellt oder die Preise verdreifacht, und Datenschutz schon durch die Bauweise statt durch ein Versprechen.
Wie kommen bestehende Daten in so eine App?
Über CSV-Import mit automatischer Formaterkennung. Weil jede Bank ihr eigenes Export-Format hat, bringen wiederverwendbare Import-Profile die unterschiedlichen Dateien auf ein einheitliches Modell — Trennzeichen, Datumsformat und Spalten werden einmal erkannt und dann automatisch angewendet.