[{"data":1,"prerenderedAt":653},["ShallowReactive",2],{"blog-de-is-supabase-secure":3,"blog-index-de":411},{"id":4,"title":5,"body":6,"category":367,"cover":368,"coverAlt":369,"description":370,"draft":371,"extension":372,"faq":373,"image":391,"keywords":392,"meta":400,"navigation":401,"ogTitle":25,"path":402,"published":403,"seo":404,"stem":405,"tldr":406,"updated":403,"__hash__":410},"blog_de\u002Fblog\u002Fis-supabase-secure.md","Ist Supabase sicher? Ja. Dein Projekt ist eine eigene Frage",{"type":7,"value":8,"toc":355},"minimark",[9,13,21,26,29,40,43,46,50,53,59,68,71,77,80,84,87,90,93,101,108,112,115,235,238,242,245,251,262,272,277,287,291,313,325,332,336,339,342,345,348],[10,11,12],"p",{},"Jemand hat dir gesagt, Supabase sei nichts für echte Nutzerdaten. Jemand anders\nhat dir gesagt, es laufe unter der Hälfte der Apps, von denen du dieses Jahr\ngehört hast. Beide waren sich sicher, und keiner von beiden hatte deine App\ngeöffnet.",[10,14,15,16,20],{},"Hier ist der Punkt, den ein Guide nach dem anderen falsch macht: ",[17,18,19],"strong",{},"\"Ist Supabase\nsicher\" und \"ist mein Supabase-Projekt sicher\" beantworten zwei verschiedene\nLeute."," Supabase beantwortet die erste Frage, und zwar gut. Die zweite gehört\ndir, ob dir jemand gesagt hat, dass sie übergeben wurde, oder nicht.",[22,23,25],"h2",{"id":24},"ist-supabase-sicher","Ist Supabase sicher?",[10,27,28],{},"Ja. Externe Prüfer haben sich die Plattform angesehen, und ihre Zertifizierungen\nsind aktenkundig.",[10,30,31,32,39],{},"Supabase ist SOC 2 Type 2 konform und ISO 27001 zertifiziert. Kundendaten werden\nim Speicher mit AES-256 und unterwegs mit TLS verschlüsselt. Für\nGesundheitsdaten gibt es ein HIPAA-Angebot, das ein Add-on und eine\nunterschriebene Vereinbarung braucht. Penetrationstests laufen regelmäßig mit\nexternen Fachleuten, und das alles steht auf\n",[33,34,38],"a",{"href":35,"rel":36},"https:\u002F\u002Fsupabase.com\u002Fsecurity",[37],"nofollow","ihrer Security-Seite",".",[10,41,42],{},"Stell es dir als Gebäude vor. Das Fundament trägt, die Brandschutztüren\nfunktionieren, am Eingang steht ein Wachmann, und an der Wand hängt ein\nZertifikat von jemandem, der da war und nachgesehen hat. Genau das kaufst du\nauch.",[10,44,45],{},"Dein Projekt ist eine Wohnung in diesem Gebäude.",[22,47,49],{"id":48},"was-deckt-dieses-zertifikat-eigentlich-ab","Was deckt dieses Zertifikat eigentlich ab?",[10,51,52],{},"Das Gebäude. Supabase schreibt die Grenze in einem einzigen Satz auf, in der\neigenen SOC-2-Dokumentation:",[54,55,56],"blockquote",{},[10,57,58],{},"Die SOC-2-Compliance von Supabase geht nicht auf Umgebungen außerhalb des\nSupabase-Produkts oder der Kontrolle von Supabase über.",[10,60,61,62,67],{},"Auf derselben Seite steht, dass Daten auf der Kundenseite dieser Grenze in der\nVerantwortung des Kunden liegen, und ihr\n",[33,63,66],{"href":64,"rel":65},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fdeployment\u002Fshared-responsibility-model",[37],"Shared Responsibility Model","\nlegt fest, welche Seite welche ist. Supabase betreibt die Infrastruktur, das\nBetriebssystem, die Postgres-Upgrades und das Monitoring der Plattform. Auf\ndeiner Seite liegen dein Konto und wer darauf Zugriff hat, deine Daten, deine\nDatenbank-Secrets und API-Schlüssel und Row Level Security, das die Seite dir\nausdrücklich immer empfiehlt.",[10,69,70],{},"Der letzte Punkt ist dieser ganze Artikel. Row Level Security ist die Regel auf\njeder Tabelle, die sagt, wer welche Zeilen lesen darf. Sie bleibt aus, bis\njemand sie anschaltet, und angeschaltet wird sie in deinem Projekt, auf einer\nSeite, die du vielleicht nie geöffnet hast.",[72,73],"diagram",{"alt":74,"caption":75,"src":76},"Zwei ineinanderliegende Umgrenzungen. Die äußere Mauer ist geschlossen, mit Häkchen und einer SOC-2-Plakette; eine Anfrage geht durch ihr bewachtes Tor. Die innere Mauer, beschriftet mit RLS, hat eine Lücke, und die Anfrage läuft durch die Lücke weiter zu einem Stapel Datenbankzeilen.","Die äußere Mauer ist geprüft und zertifiziert. Die Anfrage, die deine Zeilen erreicht, kam durch eine Lücke in der Mauer darin, und die zieht dein Projekt.","\u002Fblog\u002Fis-supabase-secure\u002Fwhere-the-certificate-stops-1600x760.png",[10,78,79],{},"Das Zertifikat gilt dem Gebäude. Das Einzige, was die Plattform mit den\nWohnungen macht, ist auf die Türen zu zeigen: Der Security Advisor in deinem\nDashboard nennt jede Tabelle, bei der die Regel ausgeschaltet ist, und überlässt\ndir die Entscheidung.",[22,81,83],{"id":82},"warum-lecken-dann-so-viele-supabase-apps-daten","Warum lecken dann so viele Supabase-Apps Daten?",[10,85,86],{},"Weil alles auf deiner Seite dieser Grenze einwandfrei weiterläuft, während es\nsperrangelweit offen steht.",[10,88,89],{},"Im August 2026 haben wir 30.998 Live-Apps gescannt, gebaut mit Lovable, Base44,\nReplit, v0 und Bolt. Bei 3.680 davon konnten wir die Prüfung zu Ende bringen,\ndie eine Datenbank ganz ohne Login fragt, ob sie Zeilen herausgibt. 2.096 sagten\nbei mindestens einer Tabelle ja. Storage erzählte dieselbe Geschichte aus einem\nanderen Winkel: von den 27.269 prüfbaren Apps hatten 792 einen Bucket, den ein\nFremder auflisten konnte.",[10,91,92],{},"Nichts davon war ein Versagen von Supabase. Jede dieser Antworten kam aus einer\ngepatchten, verschlüsselten Datenbank auf einer zertifizierten Plattform, die\ngenau das tat, was ihr eigenes Projekt ihr aufgetragen hatte. Am Gebäude war\nalles in Ordnung. Die Türen darin standen offen.",[10,94,95,96,100],{},"Es passiert wegen der Reihenfolge, in der gebaut wird. Deine App funktioniert ab\ndem ersten Tag, und sie funktioniert, ob die Regeln geschrieben sind oder nicht,\nalso gibt es keinen Moment, in dem etwas schiefgeht und dich zum Nachsehen\nbringt. Die\n",[33,97,99],{"href":98},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","vollständige Messung"," legt dar,\nwie viel davon wir sehen konnten und wie viel nicht.",[10,102,103,104,39],{},"Wenn du die Antwort für deine eigene App willst statt für die Plattform: unser\nkostenloser Scan stellt dieselbe anonyme Anfrage von aussen und zeigt dir, welche\ndeiner Tabellen geantwortet haben. Rund 20 Sekunden, ohne Konto:\n",[33,105,107],{"href":106},"\u002F#scan","App scannen",[22,109,111],{"id":110},"ist-supabase-produktionsreif","Ist Supabase produktionsreif?",[10,113,114],{},"Ja, und was du dafür tun musst, ist kurz, weil Supabase die lange Hälfte schon\nerledigt hat.",[116,117,118,134],"table",{},[119,120,121],"thead",{},[122,123,124,128,131],"tr",{},[125,126,127],"th",{},"Thema",[125,129,130],{},"Wer erledigt es",[125,132,133],{},"Was das für dich heißt",[135,136,137,149,158,167,177,190,211,223],"tbody",{},[122,138,139,143,146],{},[140,141,142],"td",{},"Server-Patches, Postgres-Upgrades, Betriebssystem",[140,144,145],{},"Supabase",[140,147,148],{},"Nichts zu tun",[122,150,151,154,156],{},[140,152,153],{},"Verschlüsselung im Speicher und unterwegs",[140,155,145],{},[140,157,148],{},[122,159,160,163,165],{},[140,161,162],{},"Physische Sicherheit, Netzwerksicherheit, Pentests",[140,164,145],{},[140,166,148],{},[122,168,169,172,174],{},[140,170,171],{},"Backups deiner Datenbank",[140,173,145],{},[140,175,176],{},"Täglich im bezahlten Plan, gar nicht im kostenlosen. Sieh nach, welchen du hast",[122,178,179,182,187],{},[140,180,181],{},"Welche Zeilen ein Besucher lesen darf",[140,183,184],{},[17,185,186],{},"Du",[140,188,189],{},"Eine Row-Level-Security-Policy auf jeder Tabelle mit echten Daten",[122,191,192,195,199],{},[140,193,194],{},"Welcher Schlüssel in deine App gewandert ist",[140,196,197],{},[17,198,186],{},[140,200,201,202,206,207,210],{},"Der publishable Key gehört dorthin. ",[203,204,205],"code",{},"service_role"," und ",[203,208,209],{},"sb_secret_"," nie",[122,212,213,216,220],{},[140,214,215],{},"Welche Dateien ein Fremder auflisten kann",[140,217,218],{},[17,219,186],{},[140,221,222],{},"Der public-Schalter an jedem Storage-Bucket, getrennt von deinen Tabellenregeln",[122,224,225,228,232],{},[140,226,227],{},"Wer sich in dein Supabase-Konto einloggen kann",[140,229,230],{},[17,231,186],{},[140,233,234],{},"Ein Passwort, das sonst niemand hat, und Zwei-Faktor auf dem Konto",[10,236,237],{},"Jede Zeile in der unteren Hälfte ist eine Einstellung, und jede Einstellung sind\nein paar Minuten in einem Dashboard. Die Plattform kommt produktionsreif an. Die\nKonfiguration kommt in dem Zustand an, in dem dein Builder sie hinterlassen hat.",[22,239,241],{"id":240},"wie-prüfe-ich-mein-eigenes-projekt","Wie prüfe ich mein eigenes Projekt?",[10,243,244],{},"Drei Stellen, und für keine davon musst du eine Zeile SQL lesen.",[10,246,247,250],{},[17,248,249],{},"Öffne den Security Advisor in deinem Supabase-Dashboard."," Er listet jede\nTabelle mit ausgeschalteter Row Level Security auf, die deutlichste Fassung\ndieses Problems, und Supabase ist gut darin, das zu melden. Ein Projekt mit\nleerer Liste hat die erste Frage geklärt.",[10,252,253,256,257,261],{},[17,254,255],{},"Dann lies die Policy auf jeder Tabelle, in der Menschen stehen."," Der Advisor\nkann nicht entscheiden, ob eine erlaubende Policy Absicht war, denn bei einem\nProduktkatalog wäre sie richtig. Eine Tabelle kann den Schalter an haben, eine\ngültige Policy und ein grünes Häkchen im Dashboard, und trotzdem ihre Zeilen an\njeden herausgeben, der fragt;\n",[33,258,260],{"href":259},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","die vier Zustände, in denen eine Tabelle sein kann","\nzeigen, wie du deinen erkennst.",[10,263,264,267,268,39],{},[17,265,266],{},"Dann sieh dir Storage an."," Buckets haben eigene Einstellungen, und deine\nTabellenregeln reichen nicht dorthin, also sagt eine dichte Datenbank nichts\nüber\n",[33,269,271],{"href":270},"\u002Fblog\u002Fsupabase-storage-bucket-public","die Dateien, die deine Nutzer hochgeladen haben",[72,273],{"alt":274,"caption":275,"src":276},"Eine dicke äußere Mauer mit einer abgehakten SOC-2-Plakette zieht sich durch den Hintergrund. Davor steht eine kleinere Umgrenzung mit drei Türen, jede in Monoschrift beschriftet: RLS, public und service_role.","Die Mauer dahinter prüft jemand anders. Diese drei Klinken sind in deinem eigenen Projekt, und jede davon ist eine Seite in deinem Dashboard.","\u002Fblog\u002Fis-supabase-secure\u002Fthree-doors-you-own-1600x700.png",[10,278,279,280,284,285,39],{},"Es gibt eine vierte Frage, die das Dashboard nicht beantworten kann: welcher\nSchlüssel tatsächlich in deine App gewandert ist. Die Einstellungsseite listet\ndie Schlüssel auf, die dein Projekt hat, und nur deine App hält fest, welcher\ndavon hineingekommen ist. Den Schlüssel auf deiner eigenen Live-Seite zu lesen\nist\n",[33,281,283],{"href":282},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","eine Sache von zwei Minuten",",\noder unser kostenloser Scan liest ihn für dich, zusammen mit allem oben:\n",[33,286,107],{"href":106},[22,288,290],{"id":289},"was-jetzt-zu-tun-ist","Was jetzt zu tun ist",[292,293,294],"key-takeaways",{},[295,296,297,301,304,307,310],"ul",{},[298,299,300],"li",{},"Hör auf zu fragen, ob Supabase sicher ist. Ist es, mit einem SOC-2-Type-2-Bericht, ISO 27001, AES-256-Verschlüsselung im Speicher und regelmäßigen Penetrationstests hinter der Aussage.",[298,302,303],{},"Lies die Grenze in ihren eigenen Worten. Die Compliance deckt das Supabase-Produkt ab, und deine Row-Level-Security-Regeln, Schlüssel und Buckets liegen auf deiner Seite.",[298,305,306],{},"Öffne zuerst den Security Advisor. Er kostet eine Minute und beantwortet die deutlichste Fassung der Frage.",[298,308,309],{},"Lies die Policy auf jeder Tabelle, in der Menschen stehen, denn eine erlaubende Policy sieht im Dashboard wie eine geschützte Tabelle aus.",[298,311,312],{},"Prüfe Storage getrennt von deinen Tabellen. Die beiden haben unterschiedliche Einstellungen, und eine strenge Datenbank sagt nichts über deine Dateien.",[10,314,315,316,320,321,39],{},"Wenn du das Ganze lieber als Liste durchgehst: die\n",[33,317,319],{"href":318},"\u002Fchecklist","10-Minuten-Sicherheitscheckliste"," deckt das zusammen mit den\nanderen Einstellungen ab, die in einer frisch gestarteten App zugemacht gehören,\nund es gibt eine Erklärung in einfacher Sprache für\n",[33,322,324],{"href":323},"\u002Fis-your-supabase-app-safe","Supabase-Apps",[10,326,327,328,39],{},"Diese Liste durchzugehen ist ein Abend, und die Antwort, die du bekommst, stimmt\nan dem Abend, an dem du es tust. Sie richtig zu halten ist der Teil, der nicht\nin einen Abend passt, und dafür haben wir Reeve Care gebaut: es lässt dieselben\nPrüfungen nach Plan auf deiner App laufen und mailt dir, wenn eine davon anders\nzu antworten beginnt. ",[33,329,331],{"href":330},"\u002F#pricing","Was es beobachtet und was es kostet",[22,333,335],{"id":334},"reeve-hält-eine-kopie-deiner-supabase-datenbank","Reeve hält eine Kopie deiner Supabase-Datenbank",[10,337,338],{},"Außerhalb des Kontos, aus dem sie stammt, nach Plan und geprüft, bevor sie\nzählt. Das Erste von diesen dreien können die eigenen Backups von Supabase nicht\nfür dich tun.",[10,340,341],{},"Supabase legt im bezahlten Plan täglich eine Kopie an und im kostenlosen gar\nkeine, und so oder so liegt diese Kopie in dem Projekt, aus dem sie stammt. Für\nden Nachmittag, an dem du deine eigenen Daten zerlegst, ist sie genau richtig.\nAn dem Tag, an dem das Konto selbst das Problem ist, liegt sie außer\nReichweite: eine ausgefallene Zahlung, eine Löschung, ein Login, in das niemand\nmehr hineinkommt.",[10,343,344],{},"Reeve Care hält eine Kopie woanders. Angelegt nach dem Plan, den dein Tarif\nvorgibt, verschlüsselt, bevor sie die Maschine verlässt, auf der sie entstand,\nund zurückgelesen und geprüft, bevor wir sie überhaupt als Backup zählen, damit\ndas Datum in deinem Dashboard das Datum ist, an dem eine Kopie nachweislich\nexistierte, und nicht das Datum, an dem ein Job gestartet ist. Sie umfasst deine\nSupabase-Datenbank und die Dateien, die deine Nutzer hochgeladen haben, sobald\ndu sie verbindest.",[10,346,347],{},"Ein Restore erledigt drei Dinge rund um das Zurückspielen selbst. Es prüft, ob\ndie Kopie noch zu deiner Datenbank passt, bevor es eine einzige Zeile\nzurückschreibt, es legt zuerst einen Sicherheitsschnappschuss von dem an, was\ngerade da ist, und es weist danach nach, dass die Datenbank beschreibbar ist,\nindem es hineinschreibt, denn ein Restore, der dich nur lesend zurücklässt, ist\nnicht fertig. Du kannst jede Kopie, die wir halten, auch einfach herunterladen\nund damit gehen.",[10,349,350,351,39],{},"Jede Prüfung auf dieser Seite sagt dir, wo deine App heute steht. Die Backups\nsind für den Tag, an dem schon etwas schiefgegangen ist.\n",[33,352,354],{"href":353},"\u002Fsupabase-backups","Was Reeve auf Supabase sichert, wie oft, und was ein Restore macht",{"title":356,"searchDepth":357,"depth":357,"links":358},"",3,[359,361,362,363,364,365,366],{"id":24,"depth":360,"text":25},2,{"id":48,"depth":360,"text":49},{"id":82,"depth":360,"text":83},{"id":110,"depth":360,"text":111},{"id":240,"depth":360,"text":241},{"id":289,"depth":360,"text":290},{"id":334,"depth":360,"text":335},"Sicherheitsgrundlagen","\u002Fblog\u002Fis-supabase-secure\u002Fcover-1200x630.png","Ein Gebäude mit erleuchteten Fenstern, bei dem ein Flügel im Obergeschoss offen steht und eine dunkle Lücke in der Fassade lässt.","Ist Supabase sicher? Die Plattform ist auditiert, verschlüsselt und pentestet. Supabase schreibt selbst auf, wo das aufhört und deine Einstellungen anfangen.",false,"md",[374,377,380,383,385,388],{"q":375,"a":376},"Ist Supabase sicher genug für echte Kundendaten?","Ja. Supabase ist SOC 2 Type 2 konform und ISO 27001 zertifiziert, verschlüsselt Kundendaten im Speicher mit AES-256 und unterwegs mit TLS und lässt regelmäßig Penetrationstests laufen. Was das nicht beantwortet: ob die Regeln in deinem eigenen Projekt einen Fremden deine Tabellen lesen lassen. Diese Einstellung gehört zu deinem Projekt und nicht zur Plattform.",{"q":378,"a":379},"Ist Supabase SOC 2 konform?","Ja, SOC 2 Type 2. Enterprise- und Team-Kunden können den Bericht über ihr Dashboard anfordern. Der Geltungsbereich ist das Supabase-Produkt selbst: die Infrastruktur, die Kontrollen, das Monitoring.",{"q":381,"a":382},"Deckt der SOC-2-Bericht von Supabase meine App ab?","Nein, und Supabase schreibt das selbst. In der SOC-2-Dokumentation steht, dass die Compliance nicht auf Umgebungen außerhalb des Supabase-Produkts oder der Kontrolle von Supabase übergeht, und dass Daten auf der Kundenseite dieser Grenze in der Verantwortung des Kunden liegen. Deine Row-Level-Security-Regeln, deine API-Schlüssel und deine Storage-Einstellungen liegen alle auf deiner Seite.",{"q":111,"a":384},"Ja, und die Arbeit auf deiner Seite ist kurz. Schalte Row Level Security für jede Tabelle mit echten Daten an und schreibe eine Policy, die eine Bedingung nennt, halte den geheimen Schlüssel aus allem heraus, was deine Besucher herunterladen, und sieh nach, welche Storage-Buckets auf public stehen. Diese drei Einstellungen entscheiden, ob ein Fremder an deine Daten kommt, und mit ihnen fangen wir an, wenn wir eine App scannen.",{"q":386,"a":387},"Ist Supabase HIPAA-konform?","Supabase bietet HIPAA-Konformität an, und sie kommt nicht automatisch. Sie braucht das HIPAA-Add-on und ein unterschriebenes Business Associate Agreement, und die Dokumentation sagt ausdrücklich, dass SOC 2 kein Ersatz dafür ist. Für geschützte Gesundheitsdaten gelten außerdem Regeln, wo sie liegen dürfen, unter anderem die Anweisung, sie nicht in öffentliche Storage-Buckets zu legen.",{"q":389,"a":390},"Ist Supabase sicherer als ein eigenes Backend?","Bei den Teilen, die Supabase übernimmt, mit ziemlicher Sicherheit. Server-Patches, Datenbank-Upgrades, Verschlüsselung im Speicher, Netzwerksicherheit und ein auditiertes Zugriffsregime macht kaum ein Solo-Gründer genauso gründlich. Die Teile, die dir bleiben, sind so oder so dieselben, und bei einem eigenen Backend kommt einer dazu: der Code zwischen deiner App und deiner Datenbank.","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",[393,394,395,396,397,398,399],"ist supabase sicher","wie sicher ist supabase","supabase sicherheit","ist supabase sicher genug","ist supabase produktionsreif","supabase shared responsibility model","ist supabase soc 2 zertifiziert",{},true,"\u002Fblog\u002Fis-supabase-secure","2026-08-29",{"title":5,"description":370},"blog\u002Fis-supabase-secure",[407,408,409],"Ist Supabase sicher? Die Plattform schon: SOC 2 Type 2, ISO 27001, AES-256 im Speicher, TLS auf dem Weg und regelmäßige Penetrationstests.","Die eigene SOC-2-Dokumentation von Supabase sagt, dass diese Compliance an der Grenze ihres Produkts endet. Deine Tabellen, deine Schlüssel und deine Storage-Buckets liegen auf der anderen Seite.","Wir haben im August 2026 30.998 Live-Apps gescannt. In 2.096 der 3.680 prüfbaren Apps antwortete eine Tabelle einem Fremden, auf einer Plattform, die genau wie vorgesehen lief.","ePnpF6drzsJFPWvjCFioscKtvuFUyE6556x7rWKEbCY",[412,419,425,431,437,443,449,455,461,467,473,479,485,491,497,503,509,515,521,527,533,539,545,551,557,563,564,570,576,582,588,594,599,605,611,616,621,627,633,638,643,649],{"path":413,"title":414,"description":415,"published":416,"category":417,"image":418,"draft":371},"\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","Backups","\u002Fblog\u002Fsupabase-backup-auth-users\u002Fcard-800x500.png",{"path":420,"title":421,"description":422,"published":423,"category":367,"image":424,"draft":371},"\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":426,"title":427,"description":428,"published":429,"category":367,"image":430,"draft":371},"\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":432,"title":433,"description":434,"published":435,"category":367,"image":436,"draft":371},"\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":438,"title":439,"description":440,"published":441,"category":367,"image":442,"draft":371},"\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":444,"title":445,"description":446,"published":447,"category":367,"image":448,"draft":371},"\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":450,"title":451,"description":452,"published":453,"category":367,"image":454,"draft":371},"\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":456,"title":457,"description":458,"published":459,"category":367,"image":460,"draft":371},"\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":462,"title":463,"description":464,"published":465,"category":367,"image":466,"draft":371},"\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":468,"title":469,"description":470,"published":471,"category":417,"image":472,"draft":371},"\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":474,"title":475,"description":476,"published":477,"category":417,"image":478,"draft":371},"\u002Fblog\u002Fsupabase-point-in-time-recovery","Supabase Point-in-Time Recovery: Kosten und Grenzen","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.","2026-09-13","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcard-800x500.png",{"path":480,"title":481,"description":482,"published":483,"category":417,"image":484,"draft":371},"\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":486,"title":487,"description":488,"published":489,"category":367,"image":490,"draft":371},"\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":492,"title":493,"description":494,"published":495,"category":367,"image":496,"draft":371},"\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":498,"title":499,"description":500,"published":501,"category":367,"image":502,"draft":371},"\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":504,"title":505,"description":506,"published":507,"category":367,"image":508,"draft":371},"\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":510,"title":511,"description":512,"published":513,"category":367,"image":514,"draft":371},"\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":516,"title":517,"description":518,"published":519,"category":367,"image":520,"draft":371},"\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":522,"title":523,"description":524,"published":525,"category":367,"image":526,"draft":371},"\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":528,"title":529,"description":530,"published":531,"category":367,"image":532,"draft":371},"\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":534,"title":535,"description":536,"published":537,"category":367,"image":538,"draft":371},"\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":540,"title":541,"description":542,"published":543,"category":367,"image":544,"draft":371},"\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":546,"title":547,"description":548,"published":549,"category":417,"image":550,"draft":371},"\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":552,"title":553,"description":554,"published":555,"category":367,"image":556,"draft":371},"\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":558,"title":559,"description":560,"published":561,"category":417,"image":562,"draft":371},"\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":402,"title":5,"description":370,"published":403,"category":367,"image":391,"draft":371},{"path":565,"title":566,"description":567,"published":568,"category":367,"image":569,"draft":371},"\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":571,"title":572,"description":573,"published":574,"category":367,"image":575,"draft":371},"\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":577,"title":578,"description":579,"published":580,"category":367,"image":581,"draft":371},"\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":583,"title":584,"description":585,"published":586,"category":417,"image":587,"draft":371},"\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":589,"title":590,"description":591,"published":592,"category":417,"image":593,"draft":371},"\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":270,"title":595,"description":596,"published":597,"category":367,"image":598,"draft":371},"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":600,"title":601,"description":602,"published":603,"category":367,"image":604,"draft":371},"\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":606,"title":607,"description":608,"published":609,"category":417,"image":610,"draft":371},"\u002Fblog\u002Fai-agent-deleted-my-database","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":98,"title":612,"description":613,"published":614,"category":367,"image":615,"draft":371},"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":617,"title":618,"description":619,"published":614,"category":367,"image":620,"draft":371},"\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":622,"title":623,"description":624,"published":625,"category":367,"image":626,"draft":371},"\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":628,"title":629,"description":630,"published":631,"category":417,"image":632,"draft":371},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","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":259,"title":634,"description":635,"published":636,"category":367,"image":637,"draft":371},"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":639,"title":640,"description":641,"published":636,"category":417,"image":642,"draft":371},"\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":644,"title":645,"description":646,"published":647,"category":417,"image":648,"draft":371},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","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":282,"title":650,"description":651,"published":647,"category":367,"image":652,"draft":371},"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",1790150951364]