[{"data":1,"prerenderedAt":795},["ShallowReactive",2],{"blog-de-supabase-point-in-time-recovery":3,"blog-index-de":445},{"id":4,"title":5,"body":6,"category":402,"cover":403,"coverAlt":404,"description":405,"draft":406,"extension":407,"faq":408,"image":423,"keywords":424,"meta":432,"navigation":433,"ogTitle":434,"path":435,"published":436,"seo":437,"stem":438,"tldr":439,"updated":436,"__hash__":444},"blog_de\u002Fblog\u002Fsupabase-point-in-time-recovery.md","Supabase Point-in-Time Recovery: Kosten und Grenzen",{"type":7,"value":8,"toc":388},"minimark",[9,13,16,19,24,27,30,33,44,48,51,54,98,101,109,112,116,119,127,130,136,143,147,150,157,166,170,173,176,184,188,191,194,199,202,205,209,212,291,294,298,320,324,327,332,364,372,380],[10,11,12],"p",{},"Du bist auf dem Supabase Pro-Tarif, etwas ist zu einer Zeit schiefgegangen, die\ndu aufschreiben könntest, und das Backup von gestern Nacht ist älter als der\nFehler. Irgendwo im Dashboard gibt es einen Schalter namens Point in Time\nRecovery mit einem Preis daneben, und die Frage ist, ob dieser Preis kauft, was\ndu glaubst.",[10,14,15],{},"Hier ist der Teil, den jede Übersicht plattbügelt: Point-in-Time Recovery und\nein Backup, das du selbst hältst, sind zwei verschiedene Produkte, und das erste\neinzuschalten ändert nichts an dem, wofür das zweite da ist. Beide stehen im\nDashboard unter Backups, und das ist der größte Teil der Verwirrung.",[10,17,18],{},"Es hilft, sich das eine als Aufzeichnung und das andere als Foto vorzustellen.\nEin tägliches Backup ist ein Foto: ein Bild pro Tag, zu einer festen Stunde\naufgenommen, und du kannst es aus dem Gebäude tragen. Point-in-Time Recovery ist\ndie Kamera des Gebäudes selbst, die durchgehend läuft und dich auf jedem Bild\nanhalten lässt. Die Bänder liegen im Keller und reichen eine Woche zurück.",[20,21,23],"h2",{"id":22},"was-ist-point-in-time-recovery-bei-supabase","Was ist Point-in-Time Recovery bei Supabase?",[10,25,26],{},"Es ist ein Weg, deine Datenbank auf einen bestimmten Moment zurückzusetzen statt\nauf ein bestimmtes Backup.",[10,28,29],{},"Supabase baut es aus zwei Dingen, die zusammenlaufen. Das erste ist ein\nphysisches Backup, ein täglich gezogener Abzug der Datenbankdateien. Das zweite\nist die Archivierung des Write Ahead Log: Postgres führt eine laufende\nAufzeichnung jeder Änderung, die es vornimmt, und Supabase kopiert diese Dateien\nim Abstand von zwei Minuten weg, oder sofort, sobald eine eine Größenschwelle\nüberschreitet. Eine Wiederherstellung lädt den Abzug und spielt danach das Log\nvorwärts ab, bis es den Moment erreicht, nach dem du gefragt hast.",[10,31,32],{},"Aus diesem Mechanismus kommt die Genauigkeit. Supabase beschreibt das Ergebnis\nals Granularität bis hinunter zu Sekunden, mit einem schlechtesten Fall, den sie\nals Recovery Point Objective von zwei Minuten angeben, also im Klartext das\nMeiste, was du am Ende des gewählten Moments verlieren könntest.",[10,34,35,36,43],{},"Ihre\n",[37,38,42],"a",{"href":39,"rel":40},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fplatform\u002Fbackups",[41],"nofollow","Backup-Dokumentation"," ist\ndie Seite, auf der die aktuelle Form von alldem steht. Alles Weitere hier hängt\nan Zahlen, die Supabase gehören.",[20,45,47],{"id":46},"was-kostet-supabase-point-in-time-recovery","Was kostet Supabase Point-in-Time Recovery?",[10,49,50],{},"$100 im Monat für ein Fenster von sieben Tagen, zusätzlich zum Pro-Tarif, der\nfür sich allein $25 im Monat kostet.",[10,52,53],{},"Supabase rechnet die Zusatzoption stundenweise ab und verkauft drei\nFenstergrößen:",[55,56,57,70],"table",{},[58,59,60],"thead",{},[61,62,63,67],"tr",{},[64,65,66],"th",{},"Wiederherstellungsfenster",[64,68,69],{},"Was Supabase verlangt",[71,72,73,82,90],"tbody",{},[61,74,75,79],{},[76,77,78],"td",{},"7 Tage",[76,80,81],{},"$0.137 pro Stunde, etwa $100 pro Monat",[61,83,84,87],{},[76,85,86],{},"14 Tage",[76,88,89],{},"$0.274 pro Stunde",[61,91,92,95],{},[76,93,94],{},"28 Tage",[76,96,97],{},"$0.55 pro Stunde",[10,99,100],{},"Es gibt einen zweiten Posten auf der Rechnung, und der ist es, der die Leute\nüberrascht. Point-in-Time Recovery verlangt mindestens die Compute-Instanz\nSmall. Ein Pro-Projekt läuft standardmäßig auf Micro, und die $10 an\nCompute-Guthaben im Tarif decken das vollständig ab; Small liegt bei etwa $15 im\nMonat, das Guthaben deckt deine Compute-Kosten also nicht mehr und der Rest\ntaucht auf deiner Rechnung auf. Die Zusatzoption ist damit etwas teurer als die\nZahl, die danebensteht.",[10,102,103,104,108],{},"Verfügbar ist sie auf Pro, Team und Enterprise. Im Gratis-Tarif gibt es nichts,\nwozu man sie hinzufügen könnte, denn\n",[37,105,107],{"href":106},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","der Gratis-Tarif legt überhaupt keine automatischen Backups an",".",[10,110,111],{},"Prüfe beide Zahlen an dem Tag, an dem du entscheidest, auf Supabases eigener\nPreisseite und nicht auf dieser. Sie gehören Supabase, und diese Seite merkt es\nnicht, wenn sie sich ändern.",[20,113,115],{"id":114},"wann-lohnt-sich-point-in-time-recovery","Wann lohnt sich Point-in-Time Recovery?",[10,117,118],{},"Wenn du die Minute benennen kannst, und wenn die Arbeit auf beiden Seiten davon\nzählt.",[10,120,121,122,126],{},"Eine Migration lief um 14:32 und nahm eine Spalte mit. Ein Skript, das du\nmittags gestartet hast, schrieb den falschen Wert in jede Zeile. Ein\n",[37,123,125],{"href":124},"\u002Fblog\u002Fai-agent-deleted-my-database","KI-Agent bekam Schreibzugriff und benutzte ihn",".\nIn allen drei Fällen weißt du wann, und dieses Wann ist die ganze Eingabe. Du\nwählst 14:31, und die Datenbank kommt so zurück, wie sie eine Minute vor dem\nSchaden stand.",[10,128,129],{},"Der Teil, der Geld kostet, ist der Rest dieses Vormittags. Die Kopie von\nMitternacht zurückzuspielen entfernt auch jede Anmeldung, jede Bestellung und\njede Nachricht, die deine Nutzer seit Mitternacht erzeugt haben. Einen Fehler\nrückgängig zu machen heißt dann, einen zweiten, kleineren Verlust hinzunehmen.\nMit Point-in-Time Recovery bleibt die Arbeit des Vormittags stehen.",[131,132],"diagram",{"alt":133,"caption":134,"src":135},"Zwei Zeitlinien tragen denselben Fehler, mit einem Kreuz markiert. Auf der oberen lässt eine durchgehende Reihe kleiner Striche eine Markierung direkt vor dem Fehler stehen, und die Klammer dazwischen ist kurz. Auf der unteren steht die Markierung auf dem letzten von fünf weit auseinanderliegenden Dokumenten, und die Klammer bis zum Fehler ist um ein Mehrfaches länger.","Derselbe Unfall auf zwei Zeitlinien. Die Klammer ist das, was du neu eintippst.","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fto-the-second-or-to-the-night-1600x560.png",[10,137,138,139,108],{},"Während du im Dashboard darüber nachdenkst, was schiefgehen könnte, lohnt sich\nauch die Frage, was deine App einem Fremden bereits zeigt. Unser kostenloser\nScan liest deine Live-Seite von außen und sagt dir, was er sieht. Er dauert etwa\n20 Sekunden und braucht kein Konto: ",[37,140,142],{"href":141},"\u002Fsecurity-scanner","App scannen",[20,144,146],{"id":145},"was-point-in-time-recovery-nicht-erreicht","Was Point-in-Time Recovery nicht erreicht",[10,148,149],{},"Zwei Dinge: einen Fehler, den du erst nach dem Fenster bemerkst, und das Konto,\nin dem die ganze Einrichtung liegt.",[10,151,152,156],{},[153,154,155],"strong",{},"Ein Fehler, den du spät bemerkst."," Das Fenster wandert mit dem heutigen Tag,\nein Fenster von sieben Tagen sind also immer die letzten sieben Tage und nie\neine feste Woche. Für eine Löschung ist das großzügig, denn die meldet sich\nüblicherweise innerhalb von Minuten. Bei der leisen Sorte hilft es überhaupt\nnicht: ein Formular, das seit vorletztem Dienstag den falschen Wert speichert,\neine Spalte, die bei einer Migration verschwand, die niemand genau las, ein\nFeld, das ein Skript seit einem Monat überschreibt. So etwas kommt heraus, wenn\nein Kunde schreibt, und ein schreibender Kunde ist selten innerhalb von sieben\nTagen nach der Ursache.",[10,158,159,162,163,108],{},[153,160,161],{},"Das Konto, in dem die Wiederherstellung liegt."," Die Abzüge und das\narchivierte Log liegen in deinem Supabase-Projekt, und genau das macht sie\nschnell und macht sie zu einem Klick. Es heißt auch, dass ein gesperrtes\nProjekt, eine abgelaufene Karte oder ein Login, an das du nicht mehr kommst, die\nWiederherstellung zusammen mit dem mitnimmt, wofür sie da war. Das ist ein\nfairer Tausch und kein Mangel, und es ist der Grund, warum\n",[37,164,165],{"href":106},"eine Kopie im eigenen Konto nur das halbe Sicherheitsnetz ist",[20,167,169],{"id":168},"deckt-point-in-time-recovery-meine-storage-dateien-ab","Deckt Point-in-Time Recovery meine Storage-Dateien ab?",[10,171,172],{},"Nein. Supabase schreibt selbst, dass Datenbank-Backups keine Objekte enthalten,\ndie du über die Storage-API ablegst, und Point-in-Time Recovery ist eine\nFunktion der Datenbank.",[10,174,175],{},"Jeder Avatar, jedes hochgeladene PDF und jedes Produktbild deiner Nutzer liegt\nin Storage, und das ist ein eigener Dienst. Deine Datenbank hält den Pfad zu\njeder Datei und von deren Inhalt nichts. Eine auf Dienstag zurückgespulte\nDatenbank zeigt also auf das, was heute in deinen Buckets liegt, und eine am\nMittwoch gelöschte Datei ist nach einer einwandfrei gelaufenen Wiederherstellung\nweiterhin gelöscht.",[10,177,178,179,183],{},"Was du auf dieser Seite auch entscheidest, deine Dateien brauchen ihre eigene\nAntwort.\n",[37,180,182],{"href":181},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","Drei Wege, eine Supabase-Datenbank zu sichern","\nzeigt, wo jeder Weg sie liegen lässt.",[20,185,187],{"id":186},"kann-ein-fremdes-werkzeug-mir-point-in-time-recovery-geben","Kann ein fremdes Werkzeug mir Point-in-Time Recovery geben?",[10,189,190],{},"Nein, und das ist die eine Behauptung zu diesem Thema, die genaues Hinsehen\nlohnt, weil sie wie ein Funktionsvergleich klingt und ein Unterschied der\nKategorie ist.",[10,192,193],{},"Point-in-Time Recovery spielt das Write Ahead Log ab, und dieses Log ist eine\nDatei auf der Platte, auf der deine Datenbank läuft. Es zu lesen heißt, auf\ndieser Maschine zu stehen. Jedes externe Backup-Werkzeug, unseres eingeschlossen,\nverbindet sich mit deiner Datenbank so, wie deine App es tut, fragt sie nach\nihrem Inhalt und schreibt die Antwort auf. Heraus kommt ein logischer Dump: eine\nvollständige, tragbare Kopie von allem, was zum Zeitpunkt des Dumps in der\nDatenbank stand.",[131,195],{"alt":196,"caption":197,"src":198},"Eine gestrichelte Grenze um eine Datenbank. Darin speist eine durchgehende Reihe kleiner Striche eine gespeicherte Datei. Eine gestrichelte Linie, die diese Reihe nach außen tragen will, ist durchgestrichen. Eine zweite Linie verlässt die Datenbank, überquert die Grenze und kommt als gespeicherte Datei an, die durch eine Lupe zurückgelesen und abgehakt wird.","Ein Werkzeug außerhalb der Grenze kann die Datenbank nach ihrem Inhalt fragen. Das laufende Log hinter der Grenze ist nichts, was man ihm reichen kann.","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fthe-log-stays-inside-1600x600.png",[10,200,201],{},"Ein Dump ist wieder das Foto. Du kannst ihn überallhin mitnehmen, ihn in ein\nbrandneues Projekt auf einem anderen Konto laden und ihn mit gewöhnlichen\nPostgres-Werkzeugen lesen, die noch nie von Supabase gehört haben. Was du nicht\nkannst, ist zwischen zwei Dumps anhalten, denn dazwischen lief keine\nAufzeichnung.",[10,203,204],{},"Also die ehrliche Fassung des Vergleichs. Wenn du auf 14:31 landen musst, kauf\ndie Zusatzoption von Supabase; niemand außerhalb der Plattform kann dir das\nverkaufen. Ein Anbieter, der Point-in-Time Recovery über eine Verbindung\nbewirbt, beschreibt einen Zeitplan, und eine Frage trennt die beiden: Landet\nseine Wiederherstellung auf einer Minute, die du eintippst, oder auf dem letzten\nLauf seiner Kopie?",[20,206,208],{"id":207},"point-in-time-recovery-oder-eine-kopie-die-du-hältst","Point-in-Time Recovery oder eine Kopie, die du hältst?",[10,210,211],{},"Frage, gegen welches Unglück du dich versicherst, denn diese beiden beantworten\nverschiedene.",[55,213,214,226],{},[58,215,216],{},[61,217,218,220,223],{},[64,219],{},[64,221,222],{},"Point-in-Time Recovery",[64,224,225],{},"Eine Kopie, die du hältst",[71,227,228,239,250,259,269,280],{},[61,229,230,233,236],{},[76,231,232],{},"Setzt dich auf eine benannte Minute",[76,234,235],{},"Ja",[76,237,238],{},"Auf den Zeitpunkt eines Laufs",[61,240,241,244,247],{},[76,242,243],{},"Reicht über das Fenster hinaus",[76,245,246],{},"Nein",[76,248,249],{},"So weit, wie du Kopien aufhebst",[61,251,252,255,257],{},[76,253,254],{},"Übersteht den Verlust des Kontos",[76,256,246],{},[76,258,235],{},[61,260,261,264,266],{},[76,262,263],{},"Enthält Storage-Dateien",[76,265,246],{},[76,267,268],{},"Nur wenn die Kopie sie mitnehmen sollte",[61,270,271,274,277],{},[76,272,273],{},"Wo es liegt",[76,275,276],{},"In deinem Projekt",[76,278,279],{},"Wo immer du es hinlegst",[61,281,282,285,288],{},[76,283,284],{},"Was es kostet",[76,286,287],{},"Ab $100 im Monat, dazu die Compute-Kosten",[76,289,290],{},"Von Hand kostenlos, oder ein Abo",[10,292,293],{},"Die meisten Apps mit echten Kunden wollen beides, und die Reihenfolge ist das,\nworüber man bewusst entscheidet. Eine Kopie, die du hältst, ist die, die alles\nübersteht, das Konto eingeschlossen, also ist sie die erste, die man einrichtet.\nDie Zusatzoption kauft man, sobald man ausgerechnet hat, dass ein verlorener\nVormittag an Bestellungen mehr kostet als sie.",[20,295,297],{"id":296},"was-du-diese-woche-tun-kannst","Was du diese Woche tun kannst",[299,300,301],"key-takeaways",{},[302,303,304,308,311,314,317],"ul",{},[305,306,307],"li",{},"Finde heraus, ob die Zusatzoption schon eingeschaltet ist, unter Database und dann Backups in deinem Supabase-Dashboard. Man kann durchaus dafür bezahlen, ohne es zu wissen.",[305,309,310],{},"Schreib auf, wie lange ein leiser Fehler in deiner App unbemerkt liegen könnte. Ist diese Zahl größer als sieben Tage, kauft dir ein breiteres Fenster weniger, als es aussieht.",[305,312,313],{},"Richte eine Kopie deiner Datenbank ein, die außerhalb deines Supabase-Kontos liegt, auf welchem Weg auch immer. Point-in-Time Recovery erledigt diese Aufgabe nicht und versucht es auch nicht.",[305,315,316],{},"Sichere deine Storage-Dateien getrennt, denn keine Datenbank-Wiederherstellung auf irgendeinem Tarif enthält sie.",[305,318,319],{},"Spiel einmal etwas in ein Wegwerf-Projekt zurück, damit das erste Lesen einer dieser Kopien nicht mitten in einem Vorfall passiert.",[20,321,323],{"id":322},"wo-reeve-care-hineinpasst","Wo Reeve Care hineinpasst",[10,325,326],{},"Care ist die Kopie, die du hältst, für dich eingerichtet, mit einer\nWiederherstellung, die du drückst statt zusammenbaust.",[131,328],{"alt":329,"caption":330,"src":331},"Ein Reeve-Care-Feld mit zwei Reihen. In der ersten verlassen eine Datenbank und ein Bild einen gestrichelten Kontoumriss als gespeicherte Datei, die verschlossen, durch eine Lupe zurückgelesen und abgehakt wird. In der zweiten verlässt zuerst eine Kopie des aktuellen Stands das Konto, mit Eins beziffert, und dann reist die gewählte Kopie aus einer Karte mit einer Schaltfläche zurück hinein, mit Zwei beziffert.","Die Kopien stehen außerhalb des Kontos, aus dem sie kamen. Eine zurückzuspielen beginnt damit, eine weitere zu ziehen.","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcare-copy-out-and-button-back-1600x560.png",[302,333,334,340,346,352,358],{},[305,335,336,339],{},[153,337,338],{},"Kopien laufen nach einem Zeitplan, den du dir nicht merken musst",", auf den höheren Tarifen alle sechs Stunden, und ein fehlgeschlagener Lauf schickt dir eine E-Mail statt Schweigen.",[305,341,342,345],{},[153,343,344],{},"Jede Kopie liegt außerhalb deines Supabase-Kontos."," Verschlüsselt, auf Speicher, den wir halten, damit ein gesperrtes Projekt oder ein verlorenes Login deine Backups nicht mitnimmt.",[305,347,348,351],{},[153,349,350],{},"Jede Kopie wird zurückgelesen, bevor sie zählt."," Das Datum in deinem Dashboard ist die letzte Kopie, die diese Prüfung bestanden hat, nie der letzte Versuch.",[305,353,354,357],{},[153,355,356],{},"Die Wiederherstellung ist eine Schaltfläche",", und sie zieht vorher einen Abzug des aktuellen Stands, damit auch sie ein Rückgängig hat.",[305,359,360,363],{},[153,361,362],{},"Die Dateien, die deine Nutzer hochgeladen haben, werden ebenfalls kopiert",", sobald du deine Storage-Buckets verbindest. Das ist ein zweiter Schlüssel, getrennt erfragt, denn der Schlüssel, den Supabase für Storage ausgibt, kann schreiben und nicht nur lesen, und wir fragen lieber nach, statt ihn mit einem zu bündeln, der das nicht kann.",[10,365,366,367,371],{},"Care und die Zusatzoption ergänzen einander, und so sind sie auch bepreist. Care\nbeginnt bei €49 im Monat für eine App, gegenüber $100 für die Zusatzoption, und\nviele Apps sollten das Erste haben, bevor sie über das Zweite nachdenken.\nUnsere sind Listenpreise, und die ",[37,368,370],{"href":369},"\u002Fpricing","Preisseite"," liegt manchmal unter\nder Zahl hier und nie darüber. Jede Supabase-Zahl auf dieser Seite ist von deren\neigenen Seiten zitiert, nie umgerechnet und nie geschätzt.",[10,373,374,375,379],{},"Wie eine Kopie gezogen, geprüft und zurückgespielt wird, ist Schritt für Schritt\nauf der ",[37,376,378],{"href":377},"\u002Fsupabase-backups","Seite zu Supabase-Backups"," aufgezeichnet.",[10,381,382,383,387],{},"Bevor du diesen Tab schließt, rechne die Zahl aus, um die sich diese ganze\nEntscheidung dreht: wie lange ein Fehler in deiner App liegen könnte, bevor ihn\njemand bemerkt. Unter sieben Tagen kauft dir die Zusatzoption echte Genauigkeit\nan dem Tag, an dem du sie brauchst. Länger als das, und ein breiteres Fenster\nist nicht der richtige Ort für das Geld, denn was weiter zurückreicht, ist eine\neigene Kopie. Die ",[37,384,386],{"href":385},"\u002Fchecklist","10-Minuten-Sicherheitscheckliste"," deckt Backups\nzusammen mit allem anderen ab, was bei einer gestarteten App einen Blick wert\nist.",{"title":389,"searchDepth":390,"depth":390,"links":391},"",3,[392,394,395,396,397,398,399,400,401],{"id":22,"depth":393,"text":23},2,{"id":46,"depth":393,"text":47},{"id":114,"depth":393,"text":115},{"id":145,"depth":393,"text":146},{"id":168,"depth":393,"text":169},{"id":186,"depth":393,"text":187},{"id":207,"depth":393,"text":208},{"id":296,"depth":393,"text":297},{"id":322,"depth":393,"text":323},"Backups","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcover-1200x630.png","Eine Datenbank neben einer Zeitlinie, mit einer Markierung auf einem Punkt innerhalb des aufgezeichneten Abschnitts.","Supabase Point-in-Time Recovery spult deine Datenbank auf jede Sekunde der letzten Woche zurück. $100 im Monat zusätzlich zu Pro, und nur die Datenbank.",false,"md",[409,411,414,417,420],{"q":47,"a":410},"Supabase verlangt $100 im Monat für ein Wiederherstellungsfenster von sieben Tagen, zusätzlich zu deinem Pro-Tarif. Es gibt einen zweiten Posten, den die Schlagzahl auslässt: Die Zusatzoption verlangt mindestens die Compute-Instanz Small, die bei etwa $15 im Monat liegt, und ein Pro-Projekt läuft standardmäßig auf der kleineren Instanz Micro. Lies beide Zahlen an dem Tag, an dem du entscheidest, auf deren Preisseite nach, denn sie gehören Supabase und dürfen sich ändern.",{"q":412,"a":413},"Ist Point-in-Time Recovery im Supabase Pro-Tarif enthalten?","Nein. Pro enthält tägliche Backups, die sieben Tage zurückreichen, und Point-in-Time Recovery ist eine kostenpflichtige Zusatzoption obendrauf. Supabase bietet sie auf den Tarifen Pro, Team und Enterprise an. Der Gratis-Tarif hat überhaupt keine automatischen Backups, also gibt es dort nichts, wozu man sie hinzufügen könnte.",{"q":415,"a":416},"Kann ein Backup-Werkzeug von außen mir Point-in-Time Recovery geben?","Nein, und ein Werkzeug, das etwas anderes nahelegt, beschreibt etwas anderes. Point-in-Time Recovery spielt das Write Ahead Log ab, eine Datei auf der Platte, auf der deine Datenbank läuft, und deshalb kann nur die Plattform sie lesen, die diese Platte betreibt. Jedes externe Werkzeug verbindet sich so, wie deine App es tut, und fragt die Datenbank nach ihrem Inhalt. Heraus kommt eine tragbare Kopie eines Moments. Diese Kopie ist wirklich nützlich, und sie ist ein anderes Ding.",{"q":418,"a":419},"Sichert Point-in-Time Recovery meine Supabase-Storage-Dateien?","Nein. Supabase schreibt unmissverständlich, dass Datenbank-Backups keine Objekte enthalten, die du über die Storage-API ablegst, und Point-in-Time Recovery ist eine Funktion der Datenbank. Jeder Avatar, jedes PDF und jedes Bild, das deine Nutzer hochgeladen haben, liegt in einem eigenen Dienst, und eine auf Dienstag zurückgespulte Datenbank lässt diese Dateien genau so, wie sie heute sind. Sie zu sichern ist eine eigene Aufgabe, welchen Weg du auch wählst.",{"q":421,"a":422},"Wie weit zurück reicht Supabase Point-in-Time Recovery?","So weit wie das Fenster, das du bezahlst, und keinen Tag weiter. Supabase verkauft die Aufbewahrung in drei Größen: sieben Tage, vierzehn Tage und achtundzwanzig Tage, zu $0.137, $0.274 und $0.55 pro Stunde. Das Fenster wandert mit dem heutigen Tag, jede vergangene Stunde schiebt also die älteste Stunde am anderen Ende hinaus. Ein Fehler von vor fünf Wochen liegt außerhalb aller drei.","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcard-800x500.png",[425,426,427,428,429,430,431],"point in time recovery supabase","supabase pitr","supabase pitr kosten","supabase wiederherstellung auf einen zeitpunkt","supabase pitr oder tägliche backups","supabase wal archivierung","brauche ich pitr supabase",{},true,"Was Supabase Point-in-Time Recovery kostet","\u002Fblog\u002Fsupabase-point-in-time-recovery","2026-09-13",{"title":5,"description":405},"blog\u002Fsupabase-point-in-time-recovery",[440,441,442,443],"Supabase Point-in-Time Recovery setzt deine Datenbank auf einen Moment zurück, den du benennst, statt auf die Kopie von gestern Nacht. Es ist eine Zusatzoption ab dem Pro-Tarif.","Es kostet $100 im Monat für ein Fenster von sieben Tagen, und beim Einschalten wandert dein Projekt auf eine größere Compute-Instanz, die getrennt abgerechnet wird.","Kein Backup-Werkzeug von außen kann dasselbe anbieten. Point-in-Time Recovery baut auf dem Schreibprotokoll der Datenbank auf, das nur die Plattform lesen kann, auf deren Platte es liegt.","Es deckt deine Datenbank ab. Deine Storage-Dateien liegen außerhalb davon, und ein Fehler, den du erst nach dem Fenster bemerkst, ebenfalls.","ToNyxcuVeqoRzvl9EXSxEmpHmfnTH7GDhPtlFiYQHLg",[446,453,459,465,471,477,483,489,495,501,507,513,519,525,531,537,542,548,554,560,566,572,578,584,590,596,602,608,614,615,621,627,633,639,645,651,657,663,669,675,681,687,693,699,705,711,717,723,729,735,741,747,752,758,763,769,774,780,785,790],{"path":447,"title":448,"description":449,"published":450,"category":451,"image":452,"draft":406},"\u002Fblog\u002Fbase44-security-scan","Base44 Security Scan: das, was nur er sehen kann","Der Base44 Security Scan prüft sieben Arten von Problemen von innen. Hier ist die Hälfte, die er liest und sonst niemand, und die Hälfte, die er nie ansieht.","2026-10-10","Sicherheitsgrundlagen","\u002Fblog\u002Fbase44-security-scan\u002Fcard-800x500.png",{"path":454,"title":455,"description":456,"published":457,"category":451,"image":458,"draft":406},"\u002Fblog\u002Fapi-key-leaked-what-to-do","Dein API-Key wurde geleakt. Die richtige Reihenfolge","Ein API-Key wurde geleakt und du weißt nicht, was zuerst zu tun ist. Nicht jeder Key im Frontend ist ein Leck, und die Reihenfolge zählt mehr als das Tempo.","2026-10-09","\u002Fblog\u002Fapi-key-leaked-what-to-do\u002Fcard-800x500.png",{"path":460,"title":461,"description":462,"published":463,"category":451,"image":464,"draft":406},"\u002Fblog\u002Finfinite-recursion-in-policy-for-relation","\"Infinite recursion detected in policy\" ohne RLS abzuschalten","\"Infinite recursion detected in policy for relation\" heißt: Deine Policy hat die Tabelle gefragt, die sie schützt. So brichst du den Kreis.","2026-10-08","\u002Fblog\u002Finfinite-recursion-in-policy-for-relation\u002Fcard-800x500.png",{"path":466,"title":467,"description":468,"published":469,"category":451,"image":470,"draft":406},"\u002Fblog\u002Fno-api-key-found-in-request","\"No API key found in request\" in Supabase, und die falsche Lösung","\"No API key found in request\" heißt, deine Supabase-Anfrage kam ohne Schlüssel an. Die meisten Antworten zeigen stattdessen auf deine Datenbankregeln.","2026-10-07","\u002Fblog\u002Fno-api-key-found-in-request\u002Fcard-800x500.png",{"path":472,"title":473,"description":474,"published":475,"category":451,"image":476,"draft":406},"\u002Fblog\u002Fis-base44-safe","Ist Base44 sicher? Was 5.442 echte Base44-Apps zeigten","Ist Base44 sicher? Wir haben 5.442 laufende Base44-Apps mit neun Checks geprüft. Fast alle bekamen ein B, aus Gründen, die der Inhaber nie gewählt hat.","2026-10-06","\u002Fblog\u002Fis-base44-safe\u002Fcard-800x500.png",{"path":478,"title":479,"description":480,"published":481,"category":451,"image":482,"draft":406},"\u002Fblog\u002Fmove-a-secret-to-an-edge-function","API-Schlüssel verstecken: ab in eine Supabase Edge Function","Einen API-Schlüssel verstecken heißt, ihn aus dem Browser zu nehmen. Eine Supabase Edge Function ist der kleinste Ort dafür, und zwei Schritte zählen mehr.","2026-10-05","\u002Fblog\u002Fmove-a-secret-to-an-edge-function\u002Fcard-800x500.png",{"path":484,"title":485,"description":486,"published":487,"category":451,"image":488,"draft":406},"\u002Fblog\u002Fenv-file-exposed-on-your-server","Ist deine .env-Datei öffentlich? Zwölf Pfade zum Prüfen","Ist deine .env-Datei auf deinem eigenen Webserver öffentlich? Zwölf Adressen sagen es dir, und ein Treffer heißt: alles darin ist längst öffentlich.","2026-10-04","\u002Fblog\u002Fenv-file-exposed-on-your-server\u002Fcard-800x500.png",{"path":490,"title":491,"description":492,"published":493,"category":451,"image":494,"draft":406},"\u002Fblog\u002Fis-v0-safe","v0-Sicherheit: alle 1.790 gescannten v0-Apps bekamen ein A","v0-Sicherheit, gemessen an 1.790 laufenden v0-Apps: Jede bekam ein A. Nur 17 nannten eine Datenbank, und genau das misst das A vor allem.","2026-10-03","\u002Fblog\u002Fis-v0-safe\u002Fcard-800x500.png",{"path":496,"title":497,"description":498,"published":499,"category":451,"image":500,"draft":406},"\u002Fblog\u002Fis-bolt-safe","Ist Bolt sicher? Was 1.123 echte Bolt-Apps zeigten","Ist Bolt sicher? Wir haben 1.123 laufende Bolt-Apps mit neun Checks geprüft. Das Hosting war sauber. Die Funde waren Schlüssel und offene Tabellen in den Apps.","2026-10-02","\u002Fblog\u002Fis-bolt-safe\u002Fcard-800x500.png",{"path":502,"title":503,"description":504,"published":505,"category":451,"image":506,"draft":406},"\u002Fblog\u002Fis-supabase-down-or-your-app","Ist Supabase down oder liegt es an deiner App? So erkennst du es","Ist Supabase down oder liegt es an deiner App? Ein pausiertes Projekt, eine volle Datenbank und ein eigener Fehler sehen gleich aus. Vier Prüfungen helfen.","2026-10-01","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fcard-800x500.png",{"path":508,"title":509,"description":510,"published":511,"category":451,"image":512,"draft":406},"\u002Fblog\u002Fdoes-supabase-encrypt-my-data","Verschlüsselt Supabase meine Daten? Ja. Wovor das schützt","Verschlüsselt Supabase Daten? Ja: AES-256 im Ruhezustand, TLS bei der Übertragung, SOC 2 und ISO 27001. Was jedes abdeckt und welches Leck keines stoppt.","2026-09-30","\u002Fblog\u002Fdoes-supabase-encrypt-my-data\u002Fcard-800x500.png",{"path":514,"title":515,"description":516,"published":517,"category":451,"image":518,"draft":406},"\u002Fblog\u002Fsupabase-free-plan-limits","Supabase Gratis-Tarif: die Limits und was an jedem passiert","Die Limits des Supabase-Gratis-Tarifs: 500 MB Datenbank, 5 GB Egress und keine Backups. Was an jeder Grenze passiert und was $25 für Pro ändern.","2026-09-29","\u002Fblog\u002Fsupabase-free-plan-limits\u002Fcard-800x500.png",{"path":520,"title":521,"description":522,"published":523,"category":402,"image":524,"draft":406},"\u002Fblog\u002Ftest-your-supabase-backup","Teste dein Supabase-Backup, bevor du es brauchst","So testest du dein Supabase-Backup: in ein Übungsprojekt einspielen, Zeilen zählen, anmelden und die Zeile suchen, die einer abgeschnittenen Datei fehlt.","2026-09-28","\u002Fblog\u002Ftest-your-supabase-backup\u002Fcard-800x500.png",{"path":526,"title":527,"description":528,"published":529,"category":402,"image":530,"draft":406},"\u002Fblog\u002Fsupabase-backup-github-action","Kostenloses Supabase-Backup per GitHub Action, mit Haken","Eine Supabase-Backup-GitHub-Action kostet nichts und passt für viele Apps. Der Workflow, der richtige Connection String und das Egress pro Lauf.","2026-09-27","\u002Fblog\u002Fsupabase-backup-github-action\u002Fcard-800x500.png",{"path":532,"title":533,"description":534,"published":535,"category":402,"image":536,"draft":406},"\u002Fblog\u002Fdownload-your-supabase-backup","Warum du dein Supabase-Backup nicht herunterladen kannst","Dein Supabase-Backup kannst du auf aktuellen Projekten nicht herunterladen, weil die Tageskopie physisch ist. Wie du es prüfst und selbst eine Kopie hältst.","2026-09-26","\u002Fblog\u002Fdownload-your-supabase-backup\u002Fcard-800x500.png",{"path":538,"title":539,"description":540,"published":535,"category":451,"image":541,"draft":406},"\u002Fblog\u002Fsupabase-permission-denied-for-table","Supabase \"permission denied for table\": der fehlende Grant","Ab 30. Oktober antwortet eine neue Supabase-Tabelle mit \"permission denied for table\", bis du Zugriff erteilst. Der Grant aus der E-Mail ist die halbe Lösung.","\u002Fblog\u002Fsupabase-permission-denied-for-table\u002Fcard-800x500.png",{"path":543,"title":544,"description":545,"published":546,"category":451,"image":547,"draft":406},"\u002Fblog\u002Fopen-api-endpoint-exposed","Ist ein offener API-Endpunkt ein Sicherheitsproblem? Sieh ins JSON","Dein Scan hat einen offenen API-Endpunkt gemeldet. Ob das zählt, hängt davon ab, was zurückkam, und die meisten hier gehörten der Plattform.","2026-09-25","\u002Fblog\u002Fopen-api-endpoint-exposed\u002Fcard-800x500.png",{"path":549,"title":550,"description":551,"published":552,"category":451,"image":553,"draft":406},"\u002Fblog\u002Flovable-security-scan","Lovable Security Scan: das Eine, was er nicht beweist","Lovable Security Scan: was Quick Scan und Deep Scan prüfen, wann welcher läuft, und das Eine, was kein Scan von innen beweisen kann.","2026-09-24","\u002Fblog\u002Flovable-security-scan\u002Fcard-800x500.png",{"path":555,"title":556,"description":557,"published":558,"category":402,"image":559,"draft":406},"\u002Fblog\u002Fsupabase-backup-auth-users","Warum in deinem Supabase-Dump keine Nutzer stehen","Führe supabase db dump allein aus und du bekommst die Form deiner Datenbank und keine einzige Zeile, und das auth-Schema mit deinen Nutzern fehlt ganz.","2026-09-23","\u002Fblog\u002Fsupabase-backup-auth-users\u002Fcard-800x500.png",{"path":561,"title":562,"description":563,"published":564,"category":451,"image":565,"draft":406},"\u002Fblog\u002Fdomain-and-certificate-expiry","Domain abgelaufen, Website offline: was jetzt passiert","Deine Domain ist abgelaufen und deine Website ist offline. Welche Frist jetzt läuft, warum das Zertifikat das kleinere Problem ist, und wie du beides prüfst.","2026-09-22","\u002Fblog\u002Fdomain-and-certificate-expiry\u002Fcard-800x500.png",{"path":567,"title":568,"description":569,"published":570,"category":451,"image":571,"draft":406},"\u002Fblog\u002Fis-lovable-safe","Ist Lovable sicher? Was 18.554 echte Lovable-Apps zeigten","Ist Lovable sicher? Wir haben 18.554 laufende Lovable-Apps mit neun Checks geprüft. Die Plattform war die sauberste von fünf. Die Funde saßen in den Apps.","2026-09-21","\u002Fblog\u002Fis-lovable-safe\u002Fcard-800x500.png",{"path":573,"title":574,"description":575,"published":576,"category":451,"image":577,"draft":406},"\u002Fblog\u002Fvibe-coded-app-security-checklist","Die Sicherheits-Checkliste für Vibe-Coding, in neun Prüfungen","Eine Sicherheits-Checkliste für Vibe-Coding mit neun Punkten, die jeder von außen an deiner Live-App nachprüfen kann, jeder mit einem Test in einer Zeile.","2026-09-20","\u002Fblog\u002Fvibe-coded-app-security-checklist\u002Fcard-800x500.png",{"path":579,"title":580,"description":581,"published":582,"category":451,"image":583,"draft":406},"\u002Fblog\u002Fstripe-secret-key-in-frontend","Ein geheimer Stripe-Schlüssel im Frontend kann Geld bewegen","Ein geheimer Stripe-Schlüssel im Frontend kann erstatten, abbuchen und jeden Kundendatensatz lesen, den du hast. Dein pk_live_-Schlüssel gehört dorthin.","2026-09-19","\u002Fblog\u002Fstripe-secret-key-in-frontend\u002Fcard-800x500.png",{"path":585,"title":586,"description":587,"published":588,"category":451,"image":589,"draft":406},"\u002Fblog\u002Fvite-and-next-public-env-vars","Vite-Env-Variablen offengelegt: der Präfix heißt veröffentlichen","Vite-Env-Variablen offengelegt: Deine App hat getan, was der Präfix verlangt. VITE_ und NEXT_PUBLIC_ heißen veröffentlichen, und die KI kannte den Preis nie.","2026-09-18","\u002Fblog\u002Fvite-and-next-public-env-vars\u002Fcard-800x500.png",{"path":591,"title":592,"description":593,"published":594,"category":451,"image":595,"draft":406},"\u002Fblog\u002Fbase44-source-maps","Base44-Sicherheit: was ein Scan meldet und was du ändern kannst","Base44-Sicherheit auf 5.438 gescannten Apps: Drei Befunde auf fast jeder gehören der Plattform, die Source Map ist das Base44-Badge, und deine Liste ist kurz.","2026-09-17","\u002Fblog\u002Fbase44-source-maps\u002Fcard-800x500.png",{"path":597,"title":598,"description":599,"published":600,"category":451,"image":601,"draft":406},"\u002Fblog\u002Fis-cursor-ai-safe","Ist Cursor AI sicher? Editor, Code und die App, die du veröffentlichst","Ist Cursor AI sicher? Drei Fragen in einer Suche: was Cursor behält, was sein Code falsch macht und ob deine veröffentlichte App offen steht.","2026-09-16","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcard-800x500.png",{"path":603,"title":604,"description":605,"published":606,"category":451,"image":607,"draft":406},"\u002Fblog\u002Fis-replit-safe","Ist Replit sicher? Was wir in 3.042 Replit-Apps gefunden haben","Ist Replit sicher? Wir haben 3.042 laufende Replit-Apps mit neun externen Checks geprüft. Die Funde saßen in der veröffentlichten App, nicht im Hosting.","2026-09-15","\u002Fblog\u002Fis-replit-safe\u002Fcard-800x500.png",{"path":609,"title":610,"description":611,"published":612,"category":402,"image":613,"draft":406},"\u002Fblog\u002Fsupabase-storage-backup","Supabase Storage Backup: deine Datenbankkopie hat keine Dateien","Ein Supabase Storage Backup ist eine eigene Aufgabe. Datenbank-Backups enthalten die Liste deiner Dateien und keine davon, also bleibt jeder Upload kaputt.","2026-09-14","\u002Fblog\u002Fsupabase-storage-backup\u002Fcard-800x500.png",{"path":435,"title":5,"description":405,"published":436,"category":402,"image":423,"draft":406},{"path":616,"title":617,"description":618,"published":619,"category":402,"image":620,"draft":406},"\u002Fblog\u002Fsupabase-project-paused-recover","Supabase-Projekt pausiert? Deine Daten sind noch da","Supabase hat dein Projekt nach einer Woche ohne Aktivität pausiert. Gelöscht ist nichts, Wiederherstellen steht neben dem Namen, und du hast ein Jahr.","2026-09-12","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcard-800x500.png",{"path":622,"title":623,"description":624,"published":625,"category":451,"image":626,"draft":406},"\u002Fblog\u002Fsafest-ai-app-builder","Welcher KI-App-Builder ist am sichersten? 30.998 Apps im Test","Welcher KI-App-Builder ist am sichersten? Wir haben 30.998 aktive Apps von Lovable, Base44, Replit, v0 und Bolt gescannt. Der Builder entscheidet das nicht.","2026-09-11","\u002Fblog\u002Fsafest-ai-app-builder\u002Fcard-800x500.png",{"path":628,"title":629,"description":630,"published":631,"category":451,"image":632,"draft":406},"\u002Fblog\u002Fenable-rls-on-every-supabase-table","Row Level Security für jede Supabase-Tabelle aktivieren und prüfen","Row Level Security in Supabase ohne Policy sperrt eine Tabelle komplett. Eine Policy ohne den Schalter bringt gar nichts. Hier ist das SQL, und der Test.","2026-09-10","\u002Fblog\u002Fenable-rls-on-every-supabase-table\u002Fcard-800x500.png",{"path":634,"title":635,"description":636,"published":637,"category":451,"image":638,"draft":406},"\u002Fblog\u002Fsupabase-rls-disabled-in-public","Supabase \"RLS disabled in public\": was die Warnung übersieht","Supabase meldet \"RLS disabled in public\" als Fehler. Zur Lese-Policy, die deine Tabelle genauso offen lässt, sagt der Advisor gar nichts.","2026-09-09","\u002Fblog\u002Fsupabase-rls-disabled-in-public\u002Fcard-800x500.png",{"path":640,"title":641,"description":642,"published":643,"category":451,"image":644,"draft":406},"\u002Fblog\u002Frotate-supabase-service-role-key","Geleakten Supabase-service_role-Schlüssel richtig tauschen","Supabase sagt: erst das Leck schließen. Andere Anleitungen: sofort tauschen. Was richtig ist, hängt davon ab, wohin dein service_role-Schlüssel gelangt ist.","2026-09-08","\u002Fblog\u002Frotate-supabase-service-role-key\u002Fcard-800x500.png",{"path":646,"title":647,"description":648,"published":649,"category":451,"image":650,"draft":406},"\u002Fblog\u002Fvibe-coding-security-scanners-compared","Vibe-Coding-Security-Scanner im Vergleich, unserer eingeschlossen","Der beste Vibe-Coding-Security-Scanner hängt an drei Fragen, die keine Funktionsliste beantwortet. Zehn Tools im Vergleich, mit Preisen und unseren Lücken.","2026-09-07","\u002Fblog\u002Fvibe-coding-security-scanners-compared\u002Fcard-800x500.png",{"path":652,"title":653,"description":654,"published":655,"category":451,"image":656,"draft":406},"\u002Fblog\u002Fsupabase-security-checker","Supabase Security Checker: die fünf Prüfungen selbst machen","Ein Supabase Security Checker liest deine veröffentlichte App statt deiner Projekteinstellungen. Hier sind die fünf Prüfungen und wie du jede selbst ausführst.","2026-09-06","\u002Fblog\u002Fsupabase-security-checker\u002Fcard-800x500.png",{"path":658,"title":659,"description":660,"published":661,"category":451,"image":662,"draft":406},"\u002Fblog\u002Fvibe-coding-security-scanner","Vibe-Coding-Security-Scanner: was ein URL-Scan übersieht","Ein Vibe-Coding-Security-Scanner liest deine laufende App von außen. Was das abdeckt, die vier Dinge, die er nicht sehen kann, und wie du das Ergebnis liest.","2026-09-05","\u002Fblog\u002Fvibe-coding-security-scanner\u002Fcard-800x500.png",{"path":664,"title":665,"description":666,"published":667,"category":451,"image":668,"draft":406},"\u002Fblog\u002Fmissing-security-headers","Fehlende Sicherheitsheader: wann sie wirklich zählen","Fehlende Sicherheitsheader ist unser häufigster Befund. Wogegen sie schützen, und wann sie die unwichtigste Zeile in deinem Bericht sind.","2026-09-04","\u002Fblog\u002Fmissing-security-headers\u002Fcard-800x500.png",{"path":670,"title":671,"description":672,"published":673,"category":451,"image":674,"draft":406},"\u002Fblog\u002Fopenai-api-key-exposed-in-frontend","Dein OpenAI-API-Schlüssel liegt im Frontend. Tausch ihn aus.","Ein OpenAI-API-Schlüssel im Frontend lässt sich an keine Domain binden. Tausch ihn heute, leg den Aufruf hinter deinen Server und begrenze das Budget.","2026-09-03","\u002Fblog\u002Fopenai-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":676,"title":677,"description":678,"published":679,"category":451,"image":680,"draft":406},"\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps","API-Schlüssel im Frontend: was 30.998 Apps wirklich ausliefern","Ein API-Schlüssel im Frontend ist meistens ein Google-Maps-Schlüssel. Wir haben 30.998 aktive Vibe-Coding-Apps gescannt und gezählt, was wirklich austritt.","2026-09-02","\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps\u002Fcard-800x500.png",{"path":682,"title":683,"description":684,"published":685,"category":402,"image":686,"draft":406},"\u002Fblog\u002Fsupabase-backup-tools-compared","Supabase-Backup-Tools im Vergleich, unseres eingeschlossen","Vier Arten von Supabase-Backup-Tool, was jedes wirklich kopiert und wann eine kostenlose GitHub Action jeden Anbieter schlägt, uns eingeschlossen.","2026-09-01","\u002Fblog\u002Fsupabase-backup-tools-compared\u002Fcard-800x500.png",{"path":688,"title":689,"description":690,"published":691,"category":451,"image":692,"draft":406},"\u002Fblog\u002Freplit-secrets-explained","Secrets in Replit nutzen, und was trotzdem veröffentlicht wird","Secrets in Replit nutzen: anlegen, auslesen und die zwei Gründe beheben, warum undefined zurückkommt. Dazu die Schlüssel, die das Werkzeug nicht schützt.","2026-08-31","\u002Fblog\u002Freplit-secrets-explained\u002Fcard-800x500.png",{"path":694,"title":695,"description":696,"published":697,"category":402,"image":698,"draft":406},"\u002Fblog\u002Fback-up-supabase-free-tier","Supabase Gratis-Tarif: Backup ohne Terminal selbst machen","Im Supabase Gratis-Tarif gibt es keine Backups, die Kopie musst du selbst machen. Wie das im Dashboard geht und was der CSV-Weg auslässt.","2026-08-30","\u002Fblog\u002Fback-up-supabase-free-tier\u002Fcard-800x500.png",{"path":700,"title":701,"description":702,"published":703,"category":451,"image":704,"draft":406},"\u002Fblog\u002Fis-supabase-secure","Ist Supabase sicher? Ja. Dein Projekt ist eine eigene Frage","Ist Supabase sicher? Die Plattform ist auditiert, verschlüsselt und pentestet. Supabase schreibt selbst auf, wo das aufhört und deine Einstellungen anfangen.","2026-08-29","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",{"path":706,"title":707,"description":708,"published":709,"category":451,"image":710,"draft":406},"\u002Fblog\u002Fwhere-to-find-supabase-api-keys","Wo du deine Supabase API-Keys findest: anon, service_role, URL","Projekt-URL, anon-Schlüssel und service_role-Schlüssel liegen auf einer Seite im Dashboard. Wo sie ist, und welcher der vier Werte in deine App gehört.","2026-08-28","\u002Fblog\u002Fwhere-to-find-supabase-api-keys\u002Fcard-800x500.png",{"path":712,"title":713,"description":714,"published":715,"category":451,"image":716,"draft":406},"\u002Fblog\u002Fnew-row-violates-row-level-security-policy","New row violates row-level security policy in Supabase: was jetzt?","\"New row violates row-level security policy\" heißt, Supabase hat einen Schreibvorgang abgelehnt. Die schnelle Lösung öffnet die Tabelle wieder für alle.","2026-08-27","\u002Fblog\u002Fnew-row-violates-row-level-security-policy\u002Fcard-800x500.png",{"path":718,"title":719,"description":720,"published":721,"category":451,"image":722,"draft":406},"\u002Fblog\u002Fcors-wildcard-security-risk","Ist eine CORS-Wildcard ein Sicherheitsrisiko? Meist nicht.","Ist eine CORS-Wildcard ein Sicherheitsrisiko? Meist ist sie die Voreinstellung deines Builders und gibt nichts preis, was dein Server nicht ohnehin herausgab.","2026-08-26","\u002Fblog\u002Fcors-wildcard-security-risk\u002Fcard-800x500.png",{"path":724,"title":725,"description":726,"published":727,"category":402,"image":728,"draft":406},"\u002Fblog\u002Fsupabase-branching-is-not-a-backup","Supabase Branching ist kein Backup. Es geht nur vorwärts.","Warum Supabase Branching kein Backup ist: Ein Branch startet ohne deine Daten, und ein Merge bringt nur das Schema. Wofür es gut ist und was stattdessen hilft.","2026-08-25","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",{"path":730,"title":731,"description":732,"published":733,"category":402,"image":734,"draft":406},"\u002Fblog\u002Fhow-to-restore-a-supabase-backup","Supabase-Backup wiederherstellen, und was danach kaputt ist","Wie du ein Supabase-Backup aus dem Dashboard oder aus einer Dump-Datei wiederherstellst, was ersetzt wird und warum die App danach kaputt sein kann.","2026-08-24","\u002Fblog\u002Fhow-to-restore-a-supabase-backup\u002Fcard-800x500.png",{"path":736,"title":737,"description":738,"published":739,"category":451,"image":740,"draft":406},"\u002Fblog\u002Fsupabase-storage-bucket-public","Dein Supabase-Storage-Bucket ist öffentlich. Ist das ein Problem?","Ein öffentlicher Supabase-Storage-Bucket heißt: Wer die URL einer Datei hat, kann sie öffnen. Er heißt nicht, dass jemand den Inhalt auflisten darf.","2026-08-23","\u002Fblog\u002Fsupabase-storage-bucket-public\u002Fcard-800x500.png",{"path":742,"title":743,"description":744,"published":745,"category":451,"image":746,"draft":406},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","Ist ein Google-API-Schlüssel im Frontend ein Problem?","Ein Google-API-Schlüssel im Frontend ist der Fund unseres Scanners Nummer eins, und meistens unbedenklich. Eine kostenlose Einstellung entscheidet darüber.","2026-08-22","\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":124,"title":748,"description":749,"published":750,"category":402,"image":751,"draft":406},"Ein KI-Agent hat meine Supabase-Daten gelöscht. Was hole ich zurück?","Ein KI-Agent hat Daten aus deiner Datenbank gelöscht. Was du zurückholst, stand schon vorher fest, und die nächsten Minuten entscheiden über den Rest.","2026-08-21","\u002Fblog\u002Fai-agent-deleted-my-database\u002Fcard-800x500.png",{"path":753,"title":754,"description":755,"published":756,"category":451,"image":757,"draft":406},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","Kann jeder deine Supabase-Datenbank lesen? 3.680 Apps im Test","Kann jeder deine Supabase-Datenbank ohne Login lesen? Wir haben 30.998 aktive Apps aus KI-Buildern gescannt und gemessen, wie oft die Antwort ja lautet.","2026-08-18","\u002Fblog\u002Fcan-anyone-read-your-supabase-database\u002Fcard-800x500.png",{"path":759,"title":760,"description":761,"published":756,"category":451,"image":762,"draft":406},"\u002Fblog\u002Fsource-maps-exposed-in-production","Source-Maps öffentlich: deine App veröffentlicht ihren Quellcode","Eine öffentliche Source-Map lässt jeden den Originalcode deiner App lesen, Kommentare inklusive. Der 30-Sekunden-Check, und was wirklich zählt.","\u002Fblog\u002Fsource-maps-exposed-in-production\u002Fcard-800x500.png",{"path":764,"title":765,"description":766,"published":767,"category":451,"image":768,"draft":406},"\u002Fblog\u002Fsupabase-new-api-keys","Supabases neue API-Schlüssel: welcher gehört in deine App?","Supabase hat anon und service_role durch öffentliche und geheime Schlüssel ersetzt. Welcher gehört in deine App, und welcher nie?","2026-08-12","\u002Fblog\u002Fsupabase-new-api-keys\u002Fcard-800x500.png",{"path":106,"title":770,"description":771,"published":772,"category":402,"image":773,"draft":406},"Sichert Supabase meine Datenbank? Das hängt von deinem Tarif ab.","Sichert Supabase deine Datenbank? Auf bezahlten Tarifen täglich, im Gratis-Tarif gar nicht. So findest du heraus, was du hast und was es nicht abdeckt.","2026-08-11","\u002Fblog\u002Fdoes-supabase-back-up-my-database\u002Fcard-800x500.png",{"path":775,"title":776,"description":777,"published":778,"category":451,"image":779,"draft":406},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","Supabase Row Level Security ist an. Die Tabelle ist trotzdem offen.","Supabase Row Level Security anzuschalten schützt keine Tabelle. Erst deine Policies tun das, und die, die deine App repariert hat, lässt oft alle herein.","2026-08-10","\u002Fblog\u002Fsupabase-rls-on-but-table-still-public\u002Fcard-800x500.png",{"path":781,"title":782,"description":783,"published":778,"category":402,"image":784,"draft":406},"\u002Fblog\u002Fversion-history-is-not-a-backup","Der Versionsverlauf ist kein Backup. Er holt keine Tabelle zurück.","Lovable und Bolt führen einen Versionsverlauf für deinen Code. Deine Datenbank ist ein eigener Dienst, und ein Rücksprung holt deine Daten nicht zurück.","\u002Fblog\u002Fversion-history-is-not-a-backup\u002Fcard-800x500.png",{"path":181,"title":786,"description":787,"published":788,"category":402,"image":789,"draft":406},"Drei Wege, eine Supabase-Datenbank zu sichern, und was fehlt","Das Dashboard, pg_dump und ein verwalteter Dienst. Was jeder Weg wirklich sichert, was er stillschweigend auslässt und welcher den Kontoverlust übersteht.","2026-08-09","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fcard-800x500.png",{"path":791,"title":792,"description":793,"published":788,"category":451,"image":794,"draft":406},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","Welche API-Schlüssel im Frontend sicher sind, und welche nicht","Dein Supabase-anon-Schlüssel darf öffentlich sein. Der service_role-Schlüssel nicht. Er ignoriert jede Regel, die du setzt. So erkennst du den Unterschied.","\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend\u002Fcard-800x500.png",1791618966337]