Eine ausgestellte Rechnung lässt sich in kontura nicht mehr ändern. Eine Hash-Kette verbindet alle Rechnungen deiner Organisation, sodass jede nachträgliche Änderung beim nächsten Export auffällt. Bei einem defekten Datenträger, einem gelöschten Server oder einem Bedienfehler hilft die Kette aber nicht weiter, dann brauchen wir eine unabhängige Kopie. Seit dem 28. Oktober 2026 sichern wir die Datenbank so, wie es die Datenschutzerklärung und der AVV beschreiben.
Jede Nacht eine verschlüsselte Kopie
Jede Nacht um 02:30 Uhr erstellt der Server eine vollständige Sicherung der Datenbank. Darin stecken deine Rechnungen samt PDF und XML, deine Kunden, Zahlungen und das Ereignisprotokoll.
Verschlüsselt wird, während die Sicherung entsteht, eine unverschlüsselte Fassung landet nie auf der Festplatte. Wir verwenden dafür das Werkzeug age mit einem Schlüsselpaar. Auf dem Server liegt nur der öffentliche Schlüssel, und mit dem lässt sich verschlüsseln, aber nicht entschlüsseln. Wer den Server übernimmt, kann die Sicherungen darauf also trotzdem nicht lesen.
Beim Entschlüsseln prüft age außerdem, ob die Datei unverändert ist, und lehnt eine beschädigte oder manipulierte Sicherung ab.
Zwei Orte, zwei Anbieter
Die verschlüsselte Datei bleibt sieben Tage auf unserem Server bei Ionos in Deutschland. Von dort holen wir sie am schnellsten zurück, etwa nach einem Fehler bei einem Update.
Eine zweite Kopie geht an Scaleway in Paris, also an einen anderen Anbieter in einem anderen Rechenzentrum. Die brauchen wir, wenn der Server oder unser Zugang bei Ionos ganz verloren geht. Scaleway bekommt nur die verschlüsselte Datei und hat keinen Schlüssel dafür.
Dort ist jede Kopie 30 Tage lang gegen Löschen und Überschreiben gesperrt (Object Lock im Compliance-Modus). Vorher kann sie niemand entfernen, auch wir nicht als Inhaber des Kontos. Der Zugang, mit dem unser Server hochlädt, darf außerdem nur schreiben und lesen. Wer den Server übernimmt oder einen falschen Befehl absetzt, kommt an die Kopien in Paris nicht heran.
Wie lange eine Sicherung existiert
In den Sicherungen stecken personenbezogene Daten, deshalb behalten wir sie nur so lange, wie wir sie zum Wiederherstellen brauchen. Auf dem Server löscht jeder erfolgreiche Lauf die Kopien, die älter als sieben Tage sind, nach spätestens neun Tagen ist eine Kopie also weg. Bei Scaleway läuft die Sperre nach 30 Tagen ab, und eine Regel des Speichers löscht die Kopie bis spätestens Tag 35.
Das betrifft auch dein Konto, wenn du es löschst. Nach Ablauf des Abrufzeitraums entfernen wir deine Organisation aus der Datenbank, in älteren Sicherungen bleibt sie bis zu deren Ablauf, also höchstens 35 Tage. Spielen wir in dieser Zeit eine Sicherung ein, löschen wir alle inzwischen beendeten Organisationen erneut, bevor kontura wieder startet.
Der Schlüssel liegt offline
Den privaten Schlüssel, mit dem sich die Sicherungen entschlüsseln lassen, haben wir auf einem eigenen Rechner erzeugt und nicht auf dem Server. Auf dem Server, bei Scaleway, im Quellcode oder in unserer Build-Umgebung war er nie gespeichert. Er liegt offline an zwei Orten, die voneinander getrennt sind: Ohne den Schlüssel wäre jede Sicherung wertlos, und wer ihn stiehlt, kann alle lesen.
Wiederherstellungsproben
Ob sich eine Sicherung wirklich einspielen lässt, sieht man erst beim Einspielen. Deshalb proben wir die Wiederherstellung jedes Quartal (im Januar, April, Juli und Oktober) und zusätzlich nach jeder Änderung an der Sicherung oder einem größeren Datenbank-Update.
Wir laden dafür die neueste Kopie aus Paris herunter, was nebenbei zeigt, dass sie dort ankommt. Auf einem eigenen Rechner spielen wir sie in eine Wegwerf-Datenbank ein, die keinen Netzzugang hat und ihre Daten nur im Arbeitsspeicher hält. Ein Skript prüft dann für jede Organisation die vollständige Hash-Kette, so wie es auch jeder Export tut. Zum Schluss vergleichen wir das Ende der Kette mit einem frischen Export aus dem laufenden Betrieb; stimmen beide überein, ist die Probe bestanden. Jede Probe kommt mit der gemessenen Dauer der Wiederherstellung in ein Protokoll.
Die erste Probe haben wir bestanden, die nächste ist im Januar 2027.
Scheitert in einer Nacht die Sicherung oder das Hochladen nach Paris, gilt der ganze Lauf als fehlgeschlagen und löscht auch keine älteren Kopien. So verschwinden nicht ausgerechnet die letzten, die funktionieren.
Was das für dich bedeutet
Fällt unser Server aus, stellen wir den Stand der letzten Nacht wieder her. Verloren ist dann höchstens, was du seit der letzten Sicherung erfasst hast, also die Arbeit eines Tages. Gehen dabei personenbezogene Daten verloren, sagen wir dir Bescheid.
Für die gesetzliche Aufbewahrung taugen unsere Sicherungen nicht. Rechnungen musst du je nach Art bis zu acht Jahre aufbewahren (§ 147 AO), die Sicherungen reichen nur wenige Wochen zurück. Exportiere dafür unter „Archiv & Export“ mit „Archiv exportieren“ alle Jahre und lege die Datei selbst ab, zum Beispiel einmal im Quartal und zum Jahresende. Im Export stecken alle Rechnungen als PDF und XML, die Zahlungen, das Protokoll und die vollständige Hash-Kette. kontura prüft die Kette vor der Ausgabe, damit du kein beschädigtes Archiv ablegst.
Quellen
- Datenschutzerklärung, Abschnitt 13: Speicherdauer der Sicherungskopien.
- Auftragsverarbeitungsvertrag, § 9 Abs. 2: Löschung der Kopien in Sicherungen nach Vertragsende.
- § 147 AO: Ordnungsvorschriften für die Aufbewahrung von Unterlagen.
Häufige Fragen
Wie viele Daten können bei einem Ausfall verloren gehen?
Wir sichern einmal täglich. Fällt der Server aus, stellen wir den Stand der letzten Nacht wieder her. Verloren ist dann höchstens die Arbeit eines Tages, die du nach der letzten Sicherung erfasst hast.
Kann Scaleway meine Rechnungen lesen?
Nein. Scaleway erhält die Sicherungen nur verschlüsselt. Der Schlüssel zum Entschlüsseln liegt weder bei Scaleway noch auf unserem Server.
Ersetzen die Backups meine eigene Aufbewahrung?
Nein. Die Sicherungen sorgen dafür, dass wir einen aktuellen Stand wiederherstellen können. Für die gesetzliche Aufbewahrung deiner Rechnungen solltest du das Archiv regelmäßig exportieren und selbst ablegen.