Wie ich mich mit Cursor AI aus dem Klammergriff der Hersteller befreit habe (Harvest Backup Tool)
- Schlomo Schapiro

- 19. Jan.
- 5 Min. Lesezeit
Aktualisiert: 20. Jan.

(Gemeinsame Veröffentlichung mit meinem persönlichen Blog unter schlomo.schapiro.org)
Nutzt ihr SaaS-Tools? Ich wäre echt überrascht, wenn nicht. Wie viele eurer SaaS-Tools bieten euch eine automatische Vollsicherung eurer eigenen Daten? Wahrscheinlich kaum welche oder gar keine. Wollt ihr eine Sicherung oder einen Export eurer eigenen Daten? Ja, wahrscheinlich schon (und ich will das auf jeden Fall!).
Früher wäre das Gespräch an dieser Stelle beendet gewesen. Der betreffende SaaS-Anbieter bietet keine automatische Sicherung oder keinen Export für unsere Daten, und damit hätte sich's. Der Grund für unsere Kapitulation angesichts dieser traurigen Tatsache war, dass die Erstellung eines Backup-Tools für jeden einzelnen SaaS-Anbieter, den wir nutzen, einfach viel zu teuer und nicht machbar war.
Heute, mit der freundlichen Hilfe von LLMs und Vibe-Coding, ist das Gespräch nicht vorbei, und wir können uns einfach selbst helfen. Viele SaaS-Angebote haben APIs und gewähren Low-Level-Zugriff auf unsere Daten, aber sie haben sich einfach nicht die Mühe gemacht, eine Backup- und Wiederherstellungsfunktion zu implementieren.
Für LLMs ist die Erstellung eines Tools zum Herunterladen aller Daten über die API auf der Grundlage der Dokumentation eines der einfacher zu lösenden Probleme. Vor allem, wenn die SaaS-Anwendung nicht allzu komplex und die Daten relativ einfach sind.
Die Erstellung eines Backup-Tools dauert nur ein paar Stunden Hintergrund-Vibe-Coding, was bedeutet, dass ich nur ab und zu mal reinschauen muss, während der Coding-Agent beschäftigt ist.
Warum SaaS-Anbieter keine Backup-Tools erstellen
Offen gesagt weiß ich es nicht, aber ich kann eine ganz einfache Theorie anbieten: Der Markt stellt derzeit keine hohen Anforderungen an Exit-Strategien, Datenhoheit und Backup-Tools bei der Auswahl von SaaS-Anbietern.
Funktionale Anforderungen übertrumpfen in der Regel alle fehlenden nicht-funktionalen Anforderungen. SaaS-Anbieter werden oft von Geschäftsbereichen und nicht von IT-Abteilungen ausgewählt, sodass all die langweiligen Dinge, die für einen ordnungsgemäßen Betrieb notwendig sind, vergessen, übersehen oder zurückgestellt werden. Außerdem misst man als SaaS-Anbieter seinen Erfolg an der Anzahl der Kunden, die man gewinnen und halten kann, und nicht an der Einfachheit der Migration zu einem anderen SaaS-Anbieter.
Das führt dazu, dass es für SaaS-Anbieter buchstäblich keinen oder nur einen sehr geringen geschäftlichen und marktwirtschaftlichen Anreiz gibt, uns die Mitnahme unserer Daten zu erleichtern, während es für den SaaS-Anbieter einen großen marktwirtschaftlichen Anreiz gibt, die Einbindung und den Import von Daten so einfach wie möglich zu gestalten.

Wenn du das hier liest und bei einem SaaS-Anbieter arbeitest, melde dich bitte bei mir und lass mich die wahren Gründe wissen. Ich werde diesen Text dann gerne entsprechend aktualisieren.
Ein Beispiel: Backup Harvest Time Tracking mit Cursor AI
Bei Tektit Consulting verwenden wir Harvest für die Zeiterfassung, eine SaaS-Anwendung. Harvest ist sehr typisch, da es keine Backup- oder Exportfunktion bietet, aber vollständigen Zugriff auf alle unsere Daten über eine API ermöglicht. Die API ist gut dokumentiert, auch wenn es keine offizielle Spezifikation gibt.
Zum Glück existiert bereits ein Open-Source-Projekt, das eine OpenAPI-Spezifikationsdatei für die Harvest-API bereitstellt. Die API bietet im Wesentlichen direkten CRUD-Zugriff auf die zugrunde liegenden Datentabellen, ohne dass dabei viel Geschäftslogik im Weg steht. Ich habe zwei Tage lang ein paar Stunden meiner Zeit investiert, um Cursor AI dazu zu motivieren, unser eigenes Backup-Tool github.com/tektit/getharvest-backup zu entwickeln.
Ich konnte das als Aufgabe im Hintergrund erledigen, sodass die Agenten arbeiten konnten, während ich mich um andere Sachen gekümmert habe. Ab und zu habe ich nachgeschaut, um es auszuprobieren und Anweisungen zu geben. Das Tool läuft jetzt als Docker-Container auf unserem Backup-Server und zieht jede Nacht Backups unserer Zeiterfassungsdaten.
Ein typischer Lauf sieht so aus:
docker run --rm -t \
-u $(id -u):$(id -g) \
-e HARVEST_PAT=your_personal_access_token \
-v $(pwd)/backup:/backup \
ghcr.io/tektit/getharvest-backup:latest
[20:20:13] INFO Starting backup of all Harvest accounts...[20:20:13] INFO Discovering Harvest accounts...
[20:20:13] INFO Found 2 Harvest account(s)
[20:20:13] INFO - Account 12345: Test Company
[20:20:13] INFO - Account 67890: Another Company
[20:20:13] INFO Backing up account 12345 (Test Company)...[20:20:13] INFO Completed backup for account 12345
[20:20:13] INFO Backing up account 67890 (Another Company)...[20:20:13] INFO Completed backup for account 67890
[20:20:13] INFO Backup completed successfully
[20:20:13] INFO ✓ Backup completed successfullyMehr Infos zur Nutzung stehen auf der Projekt-Homepage. Man braucht nur einen Harvest-Token, um loszulegen. Ehrlich gesagt, nach dieser kurzen Zeit wusste ich nicht mehr, was ich noch umsetzen sollte. Der Code hat sogar eine gute Testabdeckung und sah auf den ersten Blick „gut genug” aus. Ich habe die meiste Zeit damit verbracht, zu überprüfen, ob die Backup-Daten wirklich stimmen 😁
Die Wiederherstellung der Backup-Daten habe ich nicht implementiert, weil
die Daten einfache JSON-Dateien sind, die sogar manuell über einen PUT- oder POST-Befehl an die API wiederhergestellt werden können. Das heißt, dass die Wiederherstellung unserer Daten in Harvest super einfach und unkompliziert ist und keine spezielle Software erfordert, sondern nur ein einfaches Curl.
die Backup-Daten insofern vollständig sind, dass sie alle unsere Kunden, Projekte und Zeiterfassungsdaten enthalten. Sie haben zwar das spezifische Format der Harvest-API, sind aber so selbsterklärend, dass sie leicht in jedes andere Format konvertiert werden können und nicht von internen Harvest-Details abhängig sind. Das macht die Backup-Daten zukunftssicher und auch ohne Harvest nutzbar.
Wir können die Erstellung eines Wiederherstellungstools getrost auf den Zeitpunkt verschieben, an dem wir es tatsächlich brauchen. Momentan weiß ich noch nicht mal, in welchen Dienst (SaaS oder On-Premise) ich meine Daten wiederherstellen möchte.
Angesichts der Leistungsfähigkeit von LLMs und KI-basierter Programmierung halte ich es für Zeitverschwendung, jetzt schon ein Wiederherstellungstool für Harvest zu entwickeln. Stattdessen werden wir das Wiederherstellungstool erstellen, wenn wir das Problem der Wiederherstellung haben und wissen, wo wir unsere Zeit nach Harvest weiter erfassen wollen. Wahrscheinlich wird ein zukünftiges LLM noch besser darin sein, solchen Code zu schreiben, sodass es wiederum verschwenderisch wäre, dies jetzt zu tun, bevor wir es brauchen. Vorerst reicht es zu wissen, dass die Daten vollständig sind und auch ohne das Harvest-Tool nützlich sein können. Insgesamt war es sehr einfach, mit Cursor AI ein Backup-Tool für Harvest zu erstellen.
Fazit: SaaS-Backups leicht gemacht mit maßgeschneiderter Software
Zusammenfassend können wir eine bedeutende Veränderung in unserer Realität beobachten: Früher waren wir Opfer der Produktpolitik der SaaS-Anbieter und haben das Fehlen eines echten Backups einfach als notwendigen Preis akzeptiert. Jetzt können wir die Dinge selbst in die Hand nehmen, einfach das fehlende Backup-Tool erstellen und die volle Kontrolle über unsere Daten zurückgewinnen.
Der Aufwand für die Erstellung des fehlenden Tools war gering und kostengünstig. Das Risiko, alle unsere Zeiterfassungsdaten zu verlieren, die die Grundlage unserer Rechnungsstellung bilden, ist viel höher, und die Auswirkungen des Verlusts der Zeiterfassung eines ganzen Monats wären viel kostspieliger als die paar Stunden, die ich einmalig für die Erstellung eines Backup-Tools aufgewendet habe.
Dies reduziert das Verlustrisiko für unsere eigenen Daten erheblich und löst in diesem Beispiel den Konflikt zwischen der Nutzung der Vorteile von SaaS-Lösungen und der Beibehaltung der vollständigen Datenhoheit.
Willkommen im neuen Zeitalter von Wegwerf-Software, die echte Geschäftsprobleme zu einem günstigen Preis löst. Lasst uns alle die Kontrolle über unsere eigenen Daten zurückgewinnen und Backups als ersten Schritt zu einer besseren Datenhoheit nutzen. Mit diesem Ansatz können wir sicher sein, dass wir uns von einem Ausfall eines SaaS-Anbieters erholen und unseren Geschäftsbetrieb im Bedarfsfall schnell fortsetzen können.
Wir bei Tektit Consulting sind auf IT-Strategie, Compliance-Automatisierung und die Erreichung echter Souveränität spezialisiert. Wir helfen euch gerne dabei, eure eigene SaaS-Anbieterlandschaft zu bewerten und eure Datenhoheit oder SaaS-Ausstiegsstrategie umzusetzen. Wenn Tools fehlen, erstellen wir sie einfach als Open Source für euch, um die Welt für alle Nutzer besser zu machen.
(Translated with the help of AI and manual corrections)




Kommentare