Skip to main content

Soft Delete & Rollback

Bei jeder Automatisierung stellt sich eine zentrale Sicherheitsfrage: Was passiert, wenn ein Agent oder ein Skript versehentlich wichtige Daten löscht? Auf etg24 lautet die Antwort nicht „Datenverlust und zeitraubendes Einspielen alter Datenbanksicherungen“, sondern ein standardisierter, sekundenschneller Wiederherstellungs-Workflow.

Wie Soft Delete funktioniert

Wenn ein API-Request oder ein MCP-Tool einen Kontakt, eine Einheit oder ein Dokument löscht, wird der Datensatz nicht physisch aus der Datenbank entfernt. Stattdessen setzt etg24 auf ein durchgängiges Soft-Delete-Verfahren:

  • Der Datensatz verbleibt unverändert in PostgreSQL.
  • Ein Zeitstempel deletedAt sowie das Flag isDeleted werden gesetzt.
  • Verknüpfungen und Fremdschlüssel-Beziehungen bleiben intakt.

In der JSON-Struktur wird ein archivierter Datensatz transparent abgebildet:

{
"id": "cnt_456789ab-cdef-0123-4567-89abcdef0123",
"firstName": "Max",
"lastName": "Mustermann",
"deletedAt": "2026-03-24T11:15:00.000Z",
"isDeleted": true
}

Standard-Abfragen (Queries) filtern soft-gelöschte Einträge automatisch aus. Im normalen Verwaltungsalltag und in der Benutzeroberfläche tauchen gelöschte Einträge nicht mehr auf, was Verwirrung ausschließt.

Notfall-Leitfaden: Fehlerhafte Agenten-Aktionen rückgängig machen

Sollte ein automatisierter Prozess oder ein KI-Modell fehlerhafte Löschungen vornehmen, greift ein klarer vierstufiger Wiederherstellungsprozess:

Schritt 1: Vorfall im Audit-Trail identifizieren

Prüfe das Änderungsprotokoll:

  • Welcher Agent hat die Löschung ausgelöst?
  • Welche konkreten Datensatz-IDs sind betroffen?
  • Wann genau erfolgte der Aufruf?

Schritt 2: Sofortige Schadenseindämmung

Deaktiviere den API-Key des betreffenden Agenten in den Portaleinstellungen. Die Sperre greift innerhalb von Sekunden auf allen Servern und verhindert weitere unerwünschte Schreibvorgänge.

Schritt 3: Gezieltes Rollback per Restore-Command

Da die Datensätze nicht zerstört wurden, ist kein riskanter Datenbank-Reset nötig. Du rufst einfach das entsprechende Restore-Kommando auf:

Terminal window
curl -s -X POST "https://api.etg24.de/propertymanagement/v2/command/contacts.restore" \
-H "Authorization: Bearer ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id": "cnt_456789ab-cdef-0123-4567-89abcdef0123"}'

Das Restore-Kommando entfernt die deletedAt-Markierung, reaktiviert den Eintrag sofort und protokolliert den Wiederherstellungsvorgang revisionssicher im Audit-Log.

Schritt 4: Ursachenbehebung und Wiederaufnahme

Nachdem die Daten wiederhergestellt sind, analysierst du den Fehler im Prompt oder Code deines Agenten, passt ggf. die Scopes an und nimmst den Betrieb sicher wieder auf.

Schadensbegrenzung durch strikte Scopes

Soft Delete entfaltet seine volle Stärke im Zusammenspiel mit Berechtigungs-Scopes:

  • Reguläre Schreib-Keys (zum Erstellen und Bearbeiten von Daten) besitzen standardmäßig keine Löschberechtigung.
  • Destruktive Operationen erfordern eine gesonderte delete-Berechtigung.
  • Selbst wenn ein Schlüssel mit Löschrechten kompromittiert wird, bleibt der Schaden begrenzt: Da jede Löschung reversibel ist, können versehentlich entfernte Daten jederzeit vollständig wiederhergestellt werden.