Resistro Cloud

Ein Backup, das nie zurückgespielt wurde, ist eine Behauptung.

resistro sichert deine selbst betriebene PostgreSQL-Datenbank verschlüsselt mit deinem Schlüssel in Deutschland, spielt sie regelmäßig zurück und legt für jeden Test einen Nachweis: Datum, Ziel, Ergebnis.

Den Nachweis legst du vor, wenn ein Prüfer, eine Versicherung oder NIS2 (§ 30 BSIG, seit 6. Dezember 2025) den Wiederherstellungsdrill verlangt. resistro ist der Nachweis, kein Zertifikat und keine Rechtsberatung. Pflichtig ist, wer unter NIS2 fällt — sinnvoll ist der Drill auch ohne Pflicht.

Cloud-Dienst ab 9 € im Monat. Dieselbe Engine als Enterprise-Konsole auf deiner Infrastruktur — die Konsole ist eine Teilmenge der CLI, keine CLI-Parität.

Der erste Wiederherstellungstest ist die Probe. Ein Verkaufsgespräch brauchst du dafür nicht.

Neu

Resistro Enterprise: dieselbe Backup-Baseline, in eurer Infrastruktur

Zusätzlich zu Resistro Cloud: eine Management Console für Datenbank-Backups, die ihr selbst in eurer eigenen Infrastruktur installiert und betreibt. IdP-Anbindung (OIDC, SAML, SCIM), BYOK/KMS-Verschlüsselung, Air-Gap-Modus und eingebautes Alerting. CLI bleibt Open Source, Cloud bleibt SaaS — Enterprise schließt das Portfolio.

Engine-Grenze

Was jede Engine heute bekommt

Postgres ist der Produktanker. MySQL/MariaDB sind begrenzte Logical-Dump-Pfade, keine PITR- oder physische Backup-Parität.

Engine
Backup heute
Restore-Nachweis
PITR heute
Nicht abgedeckt
PostgreSQL
Logisch, täglich (Solo/Starter), stündlich (Business/Pro)
Täglicher Check + Drills
E2E auf Staging verifiziert (WAL-Streaming)
Harte RTO/RPO; Real-Size-PITR
MySQL/MariaDB
Anfrage-only, logisch
Kein Paritätsversprechen
Nein
PITR, physisch, Parität
Open-Source-Engine-Nachweis

Die CLI war zuerst. Cloud ergänzt Agent, Monitoring und Nachweise.

Resistro begann als Open-Source-CLI und Engine, nicht als SaaS-Dashboard. Resistro Cloud ergänzt die Betriebsebene für kleine Postgres-Setups: Setup-Prüfung, Agent-Anbindung, Monitoring, Restore-Drills und Nachweise. MySQL/MariaDB bleiben Anfrage- und Grenzfälle ohne Paritätsversprechen.

  • Apache-2.0-Source: UUXO/resistro
  • Postgres-first Backup- und Restore-Pfad
  • Prometheus-Exporter, Textfile-Metriken und Alerting-Hooks
  • MySQL/MariaDB nur Anfrage-only ohne Paritätsversprechen
  • Operator-gestützter Restore auf CLI- und Agent-Basis
Dogfooding

Wir betreiben unsere eigene Produktionsdatenbank auf Resistro Cloud.

Die Community-Plattform hinter unserem Amateurfunk-Projekt 11m-band.de speichert ihre Live-PostgreSQL-Datenbank als gewöhnlichen Resistro-Cloud-Tenant — über denselben Produktpfad, den wir verkaufen, nicht über ein separates internes Setup. Die Backups laufen im Stundentakt, überwacht auf stille Ausfälle, mit demselben Agent, derselben Verschlüsselung und demselben Standard-Speicherpfad über Hetzner-Rechenzentren in Deutschland/EU, den jeder Kunde bekommt. Wenn der Restore-Pfad bräche, würden wir es als Erste merken.

  • Live-PostgreSQL einer echten Produktions-App, keine Demo-Datenbank
  • Als gewöhnlicher Resistro-Cloud-Tenant betrieben, kein separates internes Setup
  • Stündlicher Backup-Takt, überwacht auf stille Ausfälle
  • Gleiche Verschlüsselung und gleicher Standard-Speicherpfad über Hetzner-Rechenzentren in Deutschland/EU wie für jeden Kunden
Nachweis-Beispiel

Was ein Restore-Drill erzeugt

Ein kundengesteuerter Restore-Drill erzeugt einen datierten Ergebnisdatensatz und ein Restore-Nachweis-PDF: gewähltes Backup, Restore-Ziel, Ergebnis und Operator-Notizen. Das ist ein Nachweis für den getesteten Restore-Pfad, keine rechtliche Zertifizierung oder SLA-Zusage.

  • Backup und Restore-Ziel dokumentiert
  • Restore-Ergebnis und Prüfungen erfasst
  • PDF für interne Prüfung oder Kundennachweis gepackt
Trust-Modell lesen
Dogfooding — unsere eigene Produktionsdatenbank

Die letzten Restore-Drill-Läufe, unbearbeitet

Wir betreiben Resistro Cloud produktiv gegen unsere eigene Control-Plane-Datenbank — nicht gegen Kundendaten. Die Tabelle unten zeigt die letzten automatisierten Restore-Drills, direkt aus der Pipeline gezogen. Kein Ergebnis wird kuratiert oder entfernt.

# Datum Status RTO Engine Format Größe Prüfungen
1 11:52 UTC passed 2.308s postgresql chunked <1GB – – – – ✓ ✓
2 11:48 UTC passed 2.354s postgresql chunked <1GB – – – – ✓ ✓
3 09:45 UTC passed 1.414s postgresql chunked <1GB – – – ✓ ✓ ✓
4 09:45 UTC passed 2.417s postgresql chunked <1GB – – – ✓ ✓ ✓
5 03:13 UTC passed 2.721s postgresql chunked <1GB – – – ✓ ✓ ✓
6 09:45 UTC passed 1.458s postgresql chunked <1GB – – – ✓ ✓ ✓
7 09:45 UTC passed 2.292s postgresql chunked <1GB – – – ✓ ✓ ✓
8 07:13 UTC passed 2.708s postgresql chunked <1GB – – – ✓ ✓ ✓
9 11:13 UTC passed 2.648s postgresql chunked <1GB – – – ✓ ✓ ✓
10 09:45 UTC passed 1.519s postgresql chunked <1GB – – – ✓ ✓ ✓
11 09:45 UTC passed 2.32s postgresql chunked <1GB – – – ✓ ✓ ✓
12 14:13 UTC passed 2.538s postgresql chunked <1GB – – – ✓ ✓ ✓
13 09:45 UTC passed 1.416s postgresql chunked <1GB – – – ✓ ✓ ✓
14 09:45 UTC passed 2.333s postgresql chunked <1GB – – – ✓ ✓ ✓
15 18:13 UTC passed 2.803s postgresql chunked <1GB – – – ✓ ✓ ✓
16 09:45 UTC passed 2.266s postgresql chunked <1GB – – – ✓ ✓ ✓
17 09:45 UTC passed 1.422s postgresql chunked <1GB – – – ✓ ✓ ✓
18 22:13 UTC passed 2.676s postgresql chunked <1GB – – – ✓ ✓ ✓
19 09:45 UTC passed 2.214s postgresql chunked <1GB – – – ✓ ✓ ✓
20 09:45 UTC passed 1.445s postgresql chunked <1GB – – – ✓ ✓ ✓
21 01:13 UTC passed 2.635s postgresql chunked <1GB – – – ✓ ✓ ✓
22 09:45 UTC passed 1.43s postgresql chunked <1GB – – – ✓ ✓ ✓
23 09:45 UTC passed 2.191s postgresql chunked <1GB – – – ✓ ✓ ✓
24 04:13 UTC passed 2.862s postgresql chunked <1GB – – – ✓ ✓ ✓
25 09:45 UTC passed 1.421s postgresql chunked <1GB – – – ✓ ✓ ✓
26 09:45 UTC passed 2.295s postgresql chunked <1GB – – – ✓ ✓ ✓
27 08:13 UTC passed 2.691s postgresql chunked <1GB – – – ✓ ✓ ✓
28 12:13 UTC passed 2.743s postgresql chunked <1GB – – – ✓ ✓ ✓
29 09:45 UTC passed 1.539s postgresql chunked <1GB – – – ✓ ✓ ✓
30 09:45 UTC passed 2.34s postgresql chunked <1GB – – – ✓ ✓ ✓

Für kleine selbst verwaltete Postgres-Setups. Nicht für jeden Datenbank-Stack.

Passt für

  • Du betreibst ein kleines selbst verwaltetes Postgres-Setup, typisch 1 bis 10 Datenbanken.
  • Ein tägliches Backup in Solo und Starter — oder stündlich ab Business — reicht für dein Setup aus.
  • Du brauchst Restore-Nachweise, hast aber kein eigenes Backup-Ops-Team.
  • Du brauchst Restore-Nachweise, die du intern oder gegenüber Kunden erklären kannst.

Benötigt

  • Ein erreichbarer Linux-Host, auf dem der Resistro-Cloud-Agent laufen kann.
  • Einen selbst verwalteten Verschlüsselungsschlüssel auf Kundenseite.
  • Operator-gestütztes Restore-Handling statt eines Self-Service-Restore-Portals.

Nicht für

  • Du brauchst harte Uptime- oder Support-Garantien, Service-Credits oder eine feste Restore-Zeit.
  • Du brauchst gehosteten oder verwalteten Datenbankbetrieb (Managed MySQL/MariaDB, RDS, Supabase) oder vollautomatisches Self-Service-Restore.

Unsicher? Trust-Modell lesen · zu ernst für Self-Serve? Mandat auf renz-it-consult.de.

Agent allein reicht nicht? Setup-Sprint und Drill als Mandat — fester Scope, fester Preis: renz-it-consult.de.

Versprechen

Was Resistro heute konkret zusagt

Backup-Baseline

Agent-gestützte Baseline

Software, Agent-Anbindung und Monitoring statt Managed-Retainer-Versprechen.

Postgres-Baseline

Tägliche Backups in Solo und Starter, stündlich ab Business. Der Agent fragt in jedem Tarif mit 1h-Standardintervall nach Arbeit; wie oft tatsächlich gesichert wird, entscheidet der Tarif.

MySQL/MariaDB

Anfrage-only für selbst verwaltete Datenbanken; kein Paritäts-, PITR- oder physisches Backup-Versprechen.

Restore-Nachweis

Postgres-PITR-Grenze

PITR ist nachgewiesen, aber kein aktuelles Produktversprechen, keine laufende Garantie und keine harte RTO/RPO-Zusage.

Restore-Tests

Restore-Tests als laufende Betriebsprüfung des definierten Restore-Pfads.

Restore-Drills

Kundengesteuerte Drills mit Restore-Nachweis-PDF und operator-gestütztem Ergebnis.

Sicherheit & Speicher

Zero-Knowledge

AES-256-GCM client-seitig vor dem Upload; der Server erhält nur einen SHA-256-Hash des Schlüssels, nie Schlüssel oder Klartextdaten.

Standard-Speicherpfad

Hetzner-Rechenzentren in Deutschland/EU; Backups werden verschlüsselt gespeichert. Rechtliche Rollen, Subprozessoren und Transfers sind im Datenschutzpaket zu prüfen.

Monitoring

Stale-Backup

Alarmierung nach rund einem Tag; aktueller Monitoring-Schwellwert: 28h.

Health-Smoke

Täglicher `/healthz`-Smoke-Test für öffentliche Produktpfade.

Roadmap

Was bewusst noch kein Versprechen ist

Diese Punkte sind bewusst als Roadmap markiert. Sie sind kein heutiges Betriebsversprechen, aber sie zeigen, welche Evaluierungsfragen Resistro als Nächstes schließen muss.

Roadmap

BYOK / kundeneigene Schlüsselverwaltung

Heute bleiben Backup-Schlüssel auf Kundenseite. Der nächste Enterprise-Schritt ist ein sauberer BYOK-Flow mit prüfbarer Schlüsselrotation, Key-Status und klarer Verantwortung bei Schlüsselverlust.

Roadmap

SOC 2 Type II

SOC 2 Type II ist für Enterprise-Einkauf und regulierte Kunden der belastbare Nachweis für laufende Kontrollen. Resistro behandelt SOC 2 Type II als Roadmap-Punkt, nicht als vorhandene Zertifizierung.

FAQ

Harte Fragen, enge Antworten

Für wen ist Resistro Cloud?

Resistro Cloud ist für kleine self-managed Postgres-Setups, typisch 1 bis 10 Datenbanken: Solo-Devs, kleine Agenturen und kleine SaaS auf eigenem Linux-Host. Ein tägliches Backup in Solo oder Starter — oder stündlich ab Business — reicht, Restore-Nachweis zählt, kein eigenes Backup-Ops.

Was ist heute explizit abgedeckt?

Eine Postgres-Backup-Baseline mit tarifabhängiger Kadenz — täglich in Solo und Starter, stündlich ab Business — AES-GCM-Verschlüsselung, Schlüssel auf Kundenseite, Standard-Speicherpfad über Hetzner-Rechenzentren in Deutschland/EU, ein täglicher Restore-Pfad-Check, Stale-Backup-Alarmierung nach rund einem Tag mit aktuellem 28h-Monitoring-Schwellwert und ein täglicher `/healthz`-Smoke-Test. MySQL/MariaDB ist Anfrage-only ohne Paritätsversprechen.

Bedeutet der tägliche Restore-Test, dass meine Datenbank jeden Tag vollständig validiert wird?

Nein. Der tägliche Restore-Test ist eine Betriebsprüfung des definierten Restore-Pfads. Er stellt sicher, dass der Restore-Mechanismus nicht stillschweigend bricht, bedeutet aber nicht, dass jede Kundendatenbank täglich einzeln in einem vollständigen Notfallszenario validiert wird.

Ist Point-in-Time-Recovery verfügbar?

PITR ist für Postgres nachgewiesen, aber kein aktuelles Produktversprechen. Es gibt keine laufende PITR-Garantie, keine real-size-Zusage und keine harte RTO/RPO. MySQL/MariaDB-PITR ist nicht abgedeckt.

Warum ist Hetzner-EU anders als AWS Frankfurt?

Der Speicherort allein ist nicht die ganze Jurisdiktionsfrage. Der Standard-Speicherpfad nutzt Hetzner-Rechenzentren in Deutschland/EU; Backups werden verschlüsselt gespeichert. AVV/TOMs, Subprozessoren und Drittlandtransfers sind vor Kundeneinsatz im Datenschutzpaket zu prüfen. Das ist keine Rechtsberatung und keine Zusage zu Behördenzugriffs- oder Drittlandrisiken.

Was ist das Ziel-RPO?

Es richtet sich nach dem Tarif: rund ein Tag in Solo und Starter, rund eine Stunde ab Business. Der Agent fragt in jedem Tarif mit 1h-Standardintervall nach Backup-Arbeit, aber der aktive Tarif entscheidet, wie oft ein Backup angenommen wird. Der Zielwert ergibt sich aus dieser Kadenz und ist keine harte Garantie.

Wie funktioniert der Restore?

Der Restore ist manuell und operator-gestützt. Es gibt keinen Self-Service-Button. Kunden können auf Anfrage Restore-Drills auslösen, um den Restore-Pfad zu überprüfen, und ein Restore-Nachweis-PDF herunterladen.

Was zeigt das Restore-Nachweis-PDF?

Das Restore-Nachweis-PDF dokumentiert Zeitpunkt, Scope und Ergebnis eines konkreten Restore-Drills. Es ist ein strukturierter Nachweis für den getesteten Restore-Pfad, keine rechtliche Zertifizierung und kein Compliance-Zertifikat.

Gibt es eine Support-Garantie oder eine feste Restore-Zeit?

Nein. Es gibt keine Support-Garantie, keine Uptime-Garantie, kein Service-Credit-Modell und keine feste RTO-Verpflichtung.

Wie erkennt Resistro Backup-Ausfälle?

Resistro verwendet Heartbeat- und Prometheus-basiertes Monitoring. Der aktuelle Stale-Backup-Alarm-Schwellwert liegt bei 28 Stunden ohne erfolgreichen Backup-Status.

Was bedeutet Schlüssel auf Kundenseite in der Praxis?

Backup-Daten werden mit AES-GCM verschlüsselt und der Schlüssel bleibt auf der Kundenseite. Das ist das vollständige Versprechen — einschließlich der Tatsache, dass kein Schlüssel-Recovery möglich ist, wenn der Kunde den Schlüssel verliert.

Welche Setups liegen außerhalb des vorgesehenen Umfangs?

Gehostete oder verwaltete Datenbankplattformen wie Managed MySQL/MariaDB, RDS oder Supabase, Anforderungen außerhalb des definierten kleinen Postgres-ICP und jede MySQL/MariaDB-Anforderung jenseits begrenzter Logical Dumps. MySQL/MariaDB-heavy ist kein gleichwertiger Hauptfit.

Bedeutet der tägliche `/healthz`-Smoke-Test vollständiges Plattform-Monitoring?

Nein. Er prüft die grundlegende Erreichbarkeit zentraler öffentlicher Produktpfade, keine vollständige Uptime- oder End-to-End-Garantie.

Warum ist die Kommunikation so eng?

Weil Resistro Cloud nur das verkauft, was heute eng belegbar ist: begrenzte Versprechen, Restore-Verifikation und klare Grenzen statt breiter Sicherheitsrhetorik oder implizierter Garantien.

Ist Enterprise eine andere Engine?

Nein. Dieselbe resistro-Engine. Andere Betriebsform: Die Management Console und die Backups laufen in eurer eigenen Infrastruktur statt bei uns. Die Console ist dabei bewusst eine Teilmenge der CLI: sie löst Backup, Restore-Test, Drill und PITR-Restore aus und ist sonst nur lesend.

Ersetzt Enterprise die Cloud?

Nein. Cloud bleibt der SaaS-Pfad. Enterprise ist für Teams, die die Management Console selbst betreiben und Backups nicht in den SaaS-Speicher legen wollen oder dürfen.

In 14 Tagen dein erster bestandener Restore-Drill.

14 Tage testen, ohne Kreditkarte: Agent anbinden, Backup laufen lassen, Restore-Drill auslösen. Am Ende hast du ein Nachweis-PDF mit Datum, Ziel und Ergebnis — oder du weißt, dass dein altes Backup-Theater nicht hält. Passt für selbst verwaltete Postgres-Setups, typisch 1 bis 10 Datenbanken; nicht für Managed-DB-Plattformen mit hartem Uptime-/Support-SLA.