[{"data":1,"prerenderedAt":818},["ShallowReactive",2],{"blog-de-base44-security-scan":3,"blog-index-de":463},{"id":4,"title":5,"body":6,"category":420,"cover":421,"coverAlt":422,"description":423,"draft":424,"extension":425,"faq":426,"image":442,"keywords":443,"meta":451,"navigation":452,"ogTitle":453,"path":454,"published":455,"seo":456,"stem":457,"tldr":458,"updated":455,"__hash__":462},"blog_de\u002Fblog\u002Fbase44-security-scan.md","Base44 Security Scan: das, was nur er sehen kann",{"type":7,"value":8,"toc":408},"minimark",[9,13,21,24,29,32,127,139,161,165,168,171,178,184,193,197,200,226,233,238,241,249,257,261,264,267,272,275,279,282,296,302,313,317,320,329,347,357,374,377,381,401],[10,11,12],"p",{},"Du öffnest im Dashboard deiner Base44-App den Punkt Security, drückst Run\nSecurity Scan, und ein paar Sekunden später kommt eine Liste zurück. Oder eben\nnicht. So oder so hältst du ein Ergebnis in der Hand und fragst dich, ob das\nschon die ganze Prüfung war.",[10,14,15,16,20],{},"Die meisten Texte darüber haben es verkehrt herum. Das übliche Argument lautet,\nein Scan von innen könne nicht sehen, was das Internet sieht, also sei der von\naußen der verlässliche. Bei Base44 stimmt das für die entscheidende Hälfte\ngenau andersherum: ",[17,18,19],"strong",{},"der Base44 Security Scan ist das Einzige, was prüfen kann,\nob ein Fremder deine Daten lesen kann, und wir können dir zeigen, dass wir es\nnicht können."," Wir haben es bei 1.466 Base44-Apps versucht und von zweien eine\nAntwort bekommen.",[10,22,23],{},"Das ist also eine Arbeitsteilung. Ein Scan arbeitet im Gebäude. Der andere steht\nauf dem Bürgersteig und liest, was vorne herausgegeben wird. Beide lohnen sich,\nund bei Base44 übernimmt der innere die schwerere Hälfte.",[25,26,28],"h2",{"id":27},"was-prüft-der-base44-security-scan","Was prüft der Base44 Security Scan?",[10,30,31],{},"Sieben Arten von Problemen, gelesen von innen in deinem Projekt. Deine\nveröffentlichte Adresse ruft er nie ab.",[33,34,35,51],"table",{},[36,37,38],"thead",{},[39,40,41,45,48],"tr",{},[42,43,44],"th",{},"Was geprüft wird",[42,46,47],{},"Was das heißt",[42,49,50],{},"Tarife",[52,53,54,66,76,86,96,106,117],"tbody",{},[39,55,56,60,63],{},[57,58,59],"td",{},"Data permission issues",[57,61,62],{},"Eine Datentabelle ohne Zugriffsregeln, oder Leute mit mehr Zugriff als ihnen zusteht",[57,64,65],{},"Alle",[39,67,68,71,74],{},[57,69,70],{},"Exposed secrets",[57,72,73],{},"API-Keys, Passwörter oder Tokens an einer Stelle, an die App-Besucher herankommen",[57,75,65],{},[39,77,78,81,84],{},[57,79,80],{},"Unauthenticated backend functions",[57,82,83],{},"Etwas im Hintergrund, das Daten herausgibt ohne zu prüfen wer fragt. Überschrieben mit \"Anyone can run this function\"",[57,85,65],{},[39,87,88,91,94],{},[57,89,90],{},"Credit protection",[57,92,93],{},"Deine KI-, Bild- oder E-Mail-Funktionen von außerhalb deiner App erreichbar, sodass jemand anderes deine Credits verbraucht",[57,95,65],{},[39,97,98,101,104],{},[57,99,100],{},"App dependencies",[57,102,103],{},"Eine Bibliothek von Dritten mit bekannter Schwachstelle, mitsamt der Version, auf die du wechseln solltest",[57,105,65],{},[39,107,108,111,114],{},[57,109,110],{},"Code vulnerabilities",[57,112,113],{},"Muster in deinem eigenen Code: fehlende Zugriffsprüfungen, unsicherer Umgang mit dem, was jemand eingetippt hat",[57,115,116],{},"Ab Builder",[39,118,119,122,125],{},[57,120,121],{},"Security header recommendations",[57,123,124],{},"Zwei Browser-Schutzmechanismen, iframe-Einbettung und ungenutzte Browser-Funktionen",[57,126,65],{},[10,128,129,130,134,135,138],{},"Das alles wurde am 10. Oktober 2026 in der Dokumentation von Base44 gelesen, auf\nden Seiten ",[131,132,133],"code",{},"Running a security scan"," und ",[131,136,137],{},"Base44 security: An overview",". Drei\nDinge darin solltest du kennen, bevor du dich auf das Ergebnis verlässt:",[140,141,142,149,155],"ul",{},[143,144,145,148],"li",{},[17,146,147],{},"Der Scan wendet von sich aus keinen Fix an."," Du drückst Fix, und Base44\nschreibt die Änderung in den AI-Chat deiner App und setzt davor einen\nCheckpoint, sodass ein Fix, der etwas kaputt macht, aus dem Chat heraus\nzurückgerollt werden kann.",[143,150,151,154],{},[17,152,153],{},"Der Button Fix with AI bei einer unauthentifizierten Funktion weist jeden\nAufrufer ohne angemeldeten Nutzer ab."," Base44 schreibt im selben Atemzug,\ndass das eine Seite für ausgeloggte Besucher, einen Webhook oder eine\nIntegration kaputt machen kann, die diese Funktion aufruft. Prüf diese Wege\ndanach.",[143,156,157,160],{},[17,158,159],{},"Er warnt beim Veröffentlichen und hält dich nicht auf."," Das Publish-Panel\nzeigt einen Security-Status, und Base44 beschreibt ihn als Warnung, die dich\nnicht am Veröffentlichen hindert.",[25,162,164],{"id":163},"das-was-nur-er-sehen-kann","Das, was nur er sehen kann",[10,166,167],{},"Ob die Leute, die deine App benutzen, an Daten herankommen, die ihnen nicht\ngehören. Bei einer Base44-App kann das nichts außerhalb der Plattform prüfen.",[10,169,170],{},"Bei den meisten Buildern spricht deine App direkt aus dem Browser deines\nBesuchers mit ihrer Datenbank. Damit hat die Datenbank eine öffentliche\nAdresse, deine Seite trägt diese Adresse, und jeder kann sie herausziehen und\nanfangen zu fragen. Ob er Antworten bekommt, hängt an einer Einstellung pro\nTabelle, die die meisten Besitzer nie geöffnet haben. Eine Base44-App schickt\nihre Anfragen stattdessen über Base44, es gibt also keine Adresse auf der\nStraße, die jemand ausprobieren könnte.",[10,172,173,174,177],{},"Die Messung ist schief genug, um die Sache zu entscheiden. 1.466 der 5.442 von\nuns bewerteten Base44-Apps nennen irgendwo in der Seite ein Supabase-Projekt.\nUnsere Row-Level-Security-Prüfung bekam von ",[17,175,176],{},"2"," davon eine brauchbare\nAntwort. Bei Lovable, wo die Datenbank direkt an der Straße antwortet, waren es\n3.553 von 6.535. Bei Bolt 35 von 267.",[179,180],"diagram",{"alt":181,"caption":182,"src":183},"Zwei Spuren. In der oberen sitzt eine Lupe in einem verschlossenen Plattform-Panel neben der Datenbank und erreicht sie, mit Häkchen. In der unteren erreicht eine Lupe von außen die App-Seite, mit Häkchen, und eine gestrichelte Linie von derselben Lupe Richtung Datenbank endet unter einem Fragezeichen an der Panelwand.","Oben der Scan von Base44, der innerhalb der Plattform arbeitet, wo deine Daten liegen. Unten ein externer Scan, der die Seite liest, die deine Besucher herunterladen, und an der Wand endet.","\u002Fblog\u002Fbase44-security-scan\u002Fthe-two-halves-1600x680.png",[10,185,186,187,192],{},"Zwei Apps sind keine Quote, und wir werden hier keine drucken. Was die Zahl\nklärt, ist wer nachsehen kann: bei einer Base44-App sind die Zugriffsregeln auf\ndeine Daten auf der Security-Seite in deinem eigenen Dashboard lesbar und sonst\nnirgends.\n",[188,189,191],"a",{"href":190},"\u002Fblog\u002Fis-base44-safe","Die vollständige Erhebung dazu, wie 5.442 Base44-Apps abgeschnitten haben",",\nhat die übrigen Zahlen.",[25,194,196],{"id":195},"warum-deine-veröffentlichte-app-trotzdem-einen-key-tragen-kann","Warum deine veröffentlichte App trotzdem einen Key tragen kann",[10,198,199],{},"Weil der Scan dein Projekt liest und deine Besucher eine Datei herunterladen.\nVier Dinge aus der eigenen Dokumentation von Base44 trennen die beiden:",[140,201,202,208,214,220],{},[143,203,204,207],{},[17,205,206],{},"Die veröffentlichte Version kann älter sein als die, die der Scan gelesen\nhat."," Der Credit-Protection-Fund von Base44 hat genau dafür einen Zustand,\nund der Hinweis lautet \"Publish changes before protecting credits\", wenn deine\nLive-App noch eine frühere Version fährt.",[143,209,210,213],{},[17,211,212],{},"Der Status beim Veröffentlichen ist eine Warnung."," Risks found öffnet die\nSecurity-Seite, und veröffentlichen kannst du trotzdem.",[143,215,216,219],{},[17,217,218],{},"Ein Fund, den du ignorierst, kommt nicht zurück."," Ignorierte Funde wandern\nin einen eigenen Abschnitt am Ende der Liste und tauchen, so Base44, beim\nnächsten Scan nicht wieder auf. Eine leere Liste kann bedeuten, dass jemand\nden Fund im Juni weggeklickt hat.",[143,221,222,225],{},[17,223,224],{},"Die Code-Hälfte braucht einen bezahlten Tarif."," Code vulnerability scanning\nläuft ab Builder, ebenso die optionale Wiz-Integration, die statische Analyse\nüber deinen eigenen Wiz-Tenant ergänzt.",[10,227,228,229,232],{},"Vom Bürgersteig aus hat diese Lücke eine Größe. Von den 5.442 von uns bewerteten\nBase44-Apps lieferten ",[17,230,231],{},"95 einen Google-API-Key in der Seite aus",", 11 hatten\netwas in der Form eines Passworts oder Tokens, eine einen Stripe Restricted Key\nund eine einen Stripe Secret Key. Die Secrets-Prüfung hat bei allen 5.442 Apps\ngeantwortet, das sind also Zählungen und keine Stichprobe.",[179,234],{"alt":235,"caption":236,"src":237},"Obere Spur: ein Editor-Fenster und daneben ein Bericht mit Häkchen. Untere Spur: eine veröffentlichte App-Seite mit einem bernsteinfarbenen Schlüssel, die drei Besucher am rechten Rand erreichen. Eine gestrichelte Linie verbindet beide Spuren als zwei Versionen einer App.","Der Scan liest die Version in deinem Editor. Deine Besucher laden die herunter, die du veröffentlicht hast, und die kann laut dem Credit-Fund von Base44 eine frühere sein.","\u002Fblog\u002Fbase44-security-scan\u002Fthe-publish-gap-1600x600.png",[10,239,240],{},"Diese 95 sind ein kleinerer Anteil als bei den Nachbarn, und das gehört gesagt:\nin derselben Erhebung trugen 727 von 18.563 Lovable-Apps und 200 von 3.050\nReplit-Apps einen Google-API-Key. Bei dieser Messung sind Base44-Apps ruhiger\nals die Apps von nebenan.",[10,242,243,244,248],{},"Es ist außerdem der Fund auf dieser Liste, der am ehesten in Ordnung ist. Google\ngibt genau eine Art API-Key aus und erwartet ihn im Browser; ob ein Fremder\ndamit eine Rechnung auflaufen lassen kann, entscheidet sich daran, ob du ihn auf\ndeine eigene Domain eingeschränkt hast, und diese Einschränkung lebt in der\nGoogle Console, nicht in deiner App.\n",[188,245,247],{"href":246},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","Was bei einem Google-Key zu prüfen ist, den du in deiner eigenen Seite gefunden hast",",\nsind die beiden Einstellungen zum Nachlesen.",[10,250,251,252,256],{},"Wenn du lieber die ganze Liste dessen sehen willst, was deine veröffentlichte\nBase44-App herausgibt: unser kostenloser Scan liest deine Live-Adresse und\nberichtet, was er von außen sehen kann. Er dauert etwa 20 Sekunden und braucht\nkein Konto: ",[188,253,255],{"href":254},"\u002Fsecurity-scanner","App kostenlos scannen",".",[25,258,260],{"id":259},"die-prüfung-auf-der-liste-mit-der-niemand-rechnet","Die Prüfung auf der Liste, mit der niemand rechnet",[10,262,263],{},"Jemand ruft die bezahlten Funktionen deiner App direkt auf, ganz ohne deine App.",[10,265,266],{},"Base44 nennt das credit protection, und der Fund erscheint, wenn eine Funktion\nvon dir, die KI, Bildgenerierung oder E-Mail benutzt, von außerhalb deiner App\nerreichbar ist. Die Dokumentation ist beim Ergebnis deutlich: wer sie findet,\nkann sie ausführen und deine Integrations-Credits verbrauchen. Sie ist mit High\nbewertet, und je nach App ist der Fix entweder ein einzelner Fix-Button, der\ndiese Funktionen einschränkt und deinen eigenen Zugriff unberührt lässt, oder\nein Resolve with AI, das die Aufrufe in dein Backend verschiebt.",[179,268],{"alt":269,"caption":270,"src":271},"Eine App-Seite in der Mitte mit einem Besucherpfeil hinein. Ein zweiter Pfeil von einer Figur links führt um die Seite herum und erreicht direkt einen Funken und einen Stapel Münzen dahinter, an der Seite vorbei.","Der untere Weg ist der, um den es bei credit protection geht. Die Funktion ist erreichbar, ohne deine App zu öffnen, und jeder Aufruf verbraucht dieselben Credits wie deine.","\u002Fblog\u002Fbase44-security-scan\u002Fcredits-from-outside-1600x560.png",[10,273,274],{},"So etwas kann ein innerer Scan gut und ein äußerer hat keine ehrliche\nMöglichkeit, es zu testen. Herauszufinden, ob jemand deine E-Mail-Funktion\numsonst ausführen kann, hieße sie auszuführen, also überlässt unser Scan diese\nPrüfung Base44 und berichtet, was er lesen kann, ohne etwas von dir auszugeben.",[25,276,278],{"id":277},"was-keiner-der-beiden-scans-prüft","Was keiner der beiden Scans prüft",[10,280,281],{},"Drei Dinge, und das letzte ist das einzige auf dieser Seite, das sich hinterher\nnicht reparieren lässt.",[10,283,284,287,288,291,292,256],{},[17,285,286],{},"Dein Zertifikat und deine Domain, wenn die App auf deiner eigenen Adresse\nläuft."," Eine Base44-App auf einer ",[131,289,290],{},"base44.app","-Adresse erbt die von Base44.\nZieh sie auf eine Domain um, die du gekauft hast, und die Verlängerungstermine\ngehören dir, was\n",[188,293,295],{"href":294},"\u002Fblog\u002Fdomain-and-certificate-expiry","der leiseste Weg ist, auf dem eine funktionierende App dunkel wird",[10,297,298,301],{},[17,299,300],{},"Dateien in einem Supabase-Storage-Bucket, den du angebunden hast."," Von den\n1.466 Base44-Apps, die ein Supabase-Projekt nennen, konnte unsere Bucket-Prüfung\nbei 5 antworten. Dieselbe Wand, die die Datenbank verdeckt, verdeckt den Bucket,\nund die Zugriffsprüfung von Base44 deckt die Tabellen ab, die Base44 verwaltet,\nund nicht einen Bucket in einem Projekt, das du selbst angebunden hast.",[10,303,304,307,308,312],{},[17,305,306],{},"Ob eine Kopie deiner Daten existiert."," Das prüft kein Scan auf keiner Seite\nder Wand, weil es keine Eigenschaft deiner App ist. Es ist eine Eigenschaft\ndessen, was du woanders eingerichtet hast, und es entscheidet, ob eine\nfehlgelaufene Migration oder ein Agent mit Datenbankzugriff in einem Restore\nendet oder in einer E-Mail an deine Nutzer.\n",[188,309,311],{"href":310},"\u002Fblog\u002Fai-agent-deleted-my-database","Der Tag, an dem ein KI-Agent eine Produktionsdatenbank gelöscht hat",",\nzeigt, wie das Zweite sich liest.",[25,314,316],{"id":315},"beide-hälften-abgedeckt-halten-nachdem-du-veröffentlicht-hast","Beide Hälften abgedeckt halten, nachdem du veröffentlicht hast",[10,318,319],{},"Lass beide nach jeder Änderung wieder laufen. Ein Ergebnis von letzter Woche\nbeschreibt die App von letzter Woche, und bei Base44 ist Veröffentlichen ein\nKnopf, also ist eine heute Morgen angelegte Tabelle oder ein um Mitternacht\neingefügter Key live, sobald du ihn drückst.",[10,321,322],{},[17,323,324,328],{},[188,325,327],{"href":326},"\u002Fpricing","Reeve Monitor"," führt die neun äußeren Prüfungen für dich erneut\naus:",[140,330,331,334,337,344],{},[143,332,333],{},"alle neun Prüfungen stündlich, für bis zu drei Apps",[143,335,336],{},"ob die App erreichbar ist, alle 60 Sekunden",[143,338,339,340,343],{},"eine Nachricht, wenn sich ein Ergebnis ",[17,341,342],{},"ändert",", damit ein neuer Fund nicht wartet, bis du nachsiehst",[143,345,346],{},"ein monatlicher Bericht darüber, was gesehen wurde",[10,348,349],{},[17,350,351,352,356],{},"Wenn deine Base44-App ihre Daten in deinem eigenen Supabase-Projekt hält,\nbewahrt ",[188,353,355],{"href":354},"\u002Fsupabase-backups","Reeve Care"," eine Kopie davon auf:",[140,358,359,362,365,368,371],{},[143,360,361],{},"jede Nacht eine verschlüsselte Kopie deiner Supabase-Datenbank, dort abgelegt, wo dein Projekt nicht hinkommt",[143,363,364],{},"jede Kopie geprüft, bevor sie zählt, durch Zählen der Zeilen in jeder Tabelle",[143,366,367],{},"ein Restore per Klick, wenn du ihn brauchst",[143,369,370],{},"deine hochgeladenen Dateien ebenfalls, sobald du einen Storage-Zugang hinterlegst",[143,372,373],{},"alles, was Monitor kann",[10,375,376],{},"Beide stehen auf der Preisseite, die manchmal unter dem Listenpreis hier liegt\nund nie darüber.",[25,378,380],{"id":379},"was-heute-zu-tun-ist","Was heute zu tun ist",[382,383,384],"key-takeaways",{},[140,385,386,389,392,395,398],{},[143,387,388],{},"Lass den Scan vor dem nächsten Veröffentlichen über Dashboard → Security laufen und lies die Funde, bevor du Fix all issues drückst. Der Fix für eine unauthentifizierte Funktion kann eine Seite aussperren, die du offen lassen wolltest.",[143,390,391],{},"Sieh in den Abschnitt Ignored am Ende der Liste. Ein Fund, den vor Monaten jemand ignoriert hat, ist auch heute noch ignoriert.",[143,393,394],{},"Wenn deine App Integrations-Credits für KI, Bilder oder E-Mail verbraucht, lies zuerst den Credit-Protection-Fund. Er ist der auf der Liste, der von allein Geld kostet.",[143,396,397],{},"Scan die veröffentlichte Adresse danach von außen, weil die Live-App eine frühere Version sein kann als die, die der Scan gelesen hat.",[143,399,400],{},"Bewahr eine Kopie deiner Daten dort auf, wo deine App nicht hinkommt, wenn du dein eigenes Supabase-Projekt angebunden hast. Keiner der beiden Scans kann dir sagen, ob es eine gibt.",[10,402,403,404,256],{},"Fang mit dem Abschnitt Ignored an, das geht in Sekunden und ist die eine Stelle,\nan der ein sauberer Bericht einen echten Fund verstecken kann. Wenn du die\nFassung in einfacher Sprache willst, was sich an einer Base44-App von außen\nprüfen lässt, haben wir\n",[188,405,407],{"href":406},"\u002Fis-your-base44-app-safe","eine Anleitung für Base44-Apps",{"title":409,"searchDepth":410,"depth":410,"links":411},"",3,[412,414,415,416,417,418,419],{"id":27,"depth":413,"text":28},2,{"id":163,"depth":413,"text":164},{"id":195,"depth":413,"text":196},{"id":259,"depth":413,"text":260},{"id":277,"depth":413,"text":278},{"id":315,"depth":413,"text":316},{"id":379,"depth":413,"text":380},"Sicherheitsgrundlagen","\u002Fblog\u002Fbase44-security-scan\u002Fcover-1200x630.png","Ein verschlossenes Plattform-Panel mit einer Datenbank und einer Lupe darin, davor eine App-Seite, die eine Kopie an Besucher am Bildrand ausgibt.","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.",false,"md",[427,430,433,436,439],{"q":428,"a":429},"Prüft Base44 meine App auf Sicherheitsprobleme?","Ja. Öffne den App-Editor, klick auf Dashboard, dann Security, dann Run Security Scan. Geprüft werden sieben Arten von Problemen: Zugriffsregeln auf deine Daten, offen liegende Zugangsdaten, Backend-Funktionen, die antworten ohne zu prüfen wer fragt, Funktionen, die deine Integrations-Credits verbrauchen, Bibliotheken mit bekannten Schwachstellen, Muster in deinem eigenen Code und zwei Browser-Security-Header. Zu jedem Fund gehört ein Fix-Vorschlag, den du anwenden kannst, und der Scan wendet von sich aus keinen an. Er ist in jedem Tarif enthalten, auch im kostenlosen, nur die Code-Hälfte läuft erst ab Builder. Gelesen am 10. Oktober 2026.",{"q":431,"a":432},"Reicht der Security Scan von Base44 aus?","Er ist der einzige Scan, der den wichtigsten Teil einer Base44-App prüfen kann, weil deine Daten hinter Base44 liegen und nicht an einer öffentlichen Adresse. Was er keinen Anlass hat zu tun, ist deine veröffentlichte Seite abzurufen und zu lesen, was darin herausgegangen ist. Wir haben 5.442 Base44-Apps bewertet: die Datenbankfrage war bei 2 davon beantwortbar, und 95 lieferten einen Google-API-Key in der Seite aus. Lass den inneren Scan vor dem Veröffentlichen laufen und einen äußeren danach.",{"q":434,"a":435},"Warum kann ein externer Scanner meine Base44-Datenbank nicht prüfen?","Weil es auf der Straße nichts gibt, woran man klopfen könnte. Bei den meisten Buildern spricht deine App direkt aus dem Browser deines Besuchers mit ihrer Datenbank, also hat die Datenbank eine öffentliche Adresse, deine Seite trägt sie, und jeder kann sie herausziehen und Fragen stellen. Eine Base44-App schickt ihre Anfragen stattdessen über Base44. Von den 1.466 bewerteten Base44-Apps, die irgendwo in der Seite ein Supabase-Projekt nennen, bekam unsere Row-Level-Security-Prüfung von 2 eine brauchbare Antwort. Bei Lovable, wo die Datenbank direkt an der Straße antwortet, waren es 3.553 von 6.535.",{"q":437,"a":438},"Was findet ein externer Scan, das Base44 nicht findet?","Das, was deine Besucher gerade wirklich bekommen. Base44 liest das Projekt in deinem Editor, und vier Dinge aus der eigenen Dokumentation trennen das von der Live-App: die veröffentlichte Version kann älter sein als die, die der Scan gelesen hat, der Scan warnt beim Veröffentlichen ohne es zu stoppen, ein einmal ignorierter Fund kommt nicht zurück, und das Scannen des Codes braucht den Builder-Tarif. In den 5.442 bewerteten Base44-Apps hatten 95 einen Google-API-Key in der Seite, 11 etwas in der Form eines Passworts oder Tokens, eine einen Stripe Restricted Key und eine einen Stripe Secret Key.",{"q":440,"a":441},"Soll ich beide laufen lassen?","Sie beantworten verschiedene Hälften, also ersetzt keiner den anderen. Lass den Base44-Scan auf der Security-Seite laufen, bevor du veröffentlichst, lies die Funde, bevor du Fix all issues drückst, und prüf danach die veröffentlichte Adresse von außen. Ein externer Scan dauert etwa 20 Sekunden und braucht kein Konto.","\u002Fblog\u002Fbase44-security-scan\u002Fcard-800x500.png",[444,445,446,447,448,449,450],"base44 security scan","base44 sicherheitsscan","prüft base44 die sicherheit","base44 app sicherheit prüfen","base44 security dashboard","base44 rls prüfung","base44 sicherheitsüberprüfung",{},true,"Base44 Security Scan: was nur er sieht","\u002Fblog\u002Fbase44-security-scan","2026-10-10",{"title":5,"description":423},"blog\u002Fbase44-security-scan",[459,460,461],"Der Base44 Security Scan läuft von innen in deinem Projekt und prüft sieben Arten von Problemen, von den Zugriffsregeln auf deine Daten bis zu den Bibliotheken, die deine App benutzt. Er ist in jedem Tarif enthalten, und eine der sieben Prüfungen läuft erst ab Builder.","Bei einer Base44-App ist er der einzige Scan, der die Frage beantworten kann, die Leute mit \"ist meine App sicher\" wirklich meinen: ob ein Fremder deine Daten lesen kann. Wir haben 5.442 Base44-Apps bewertet und konnten 2 davon fragen.","Was er keinen Anlass hat zu lesen, ist die Seite, die deine Besucher herunterladen. In 95 dieser 5.442 Apps lag dort ein Google-API-Key.","LSALBwDpnawRHe4cRfbqHKKa0vZn7SWy0vlw9CgNA1I",[464,470,471,477,483,489,494,500,506,512,518,524,530,536,543,549,555,560,566,572,578,583,589,595,601,607,613,619,625,631,637,643,649,655,661,667,673,679,685,691,697,703,709,715,721,727,733,739,745,751,757,763,768,773,779,784,790,796,802,807,813],{"path":465,"title":466,"description":467,"published":468,"category":420,"image":469,"draft":424},"\u002Fblog\u002Fstorage-upload-violates-row-level-security","\"Row-level security policy for table objects\" beim Upload","\"New row violates row-level security policy for table objects\" heißt: Deinem Upload fehlt eine insert-Regel. Ein öffentlicher Bucket fügt keine hinzu.","2026-10-11","\u002Fblog\u002Fstorage-upload-violates-row-level-security\u002Fcard-800x500.png",{"path":454,"title":5,"description":423,"published":455,"category":420,"image":442,"draft":424},{"path":472,"title":473,"description":474,"published":475,"category":420,"image":476,"draft":424},"\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":478,"title":479,"description":480,"published":481,"category":420,"image":482,"draft":424},"\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":484,"title":485,"description":486,"published":487,"category":420,"image":488,"draft":424},"\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":190,"title":490,"description":491,"published":492,"category":420,"image":493,"draft":424},"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":495,"title":496,"description":497,"published":498,"category":420,"image":499,"draft":424},"\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":501,"title":502,"description":503,"published":504,"category":420,"image":505,"draft":424},"\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":507,"title":508,"description":509,"published":510,"category":420,"image":511,"draft":424},"\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":513,"title":514,"description":515,"published":516,"category":420,"image":517,"draft":424},"\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":519,"title":520,"description":521,"published":522,"category":420,"image":523,"draft":424},"\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":525,"title":526,"description":527,"published":528,"category":420,"image":529,"draft":424},"\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":531,"title":532,"description":533,"published":534,"category":420,"image":535,"draft":424},"\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":537,"title":538,"description":539,"published":540,"category":541,"image":542,"draft":424},"\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","Backups","\u002Fblog\u002Ftest-your-supabase-backup\u002Fcard-800x500.png",{"path":544,"title":545,"description":546,"published":547,"category":541,"image":548,"draft":424},"\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":550,"title":551,"description":552,"published":553,"category":541,"image":554,"draft":424},"\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":556,"title":557,"description":558,"published":553,"category":420,"image":559,"draft":424},"\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":561,"title":562,"description":563,"published":564,"category":420,"image":565,"draft":424},"\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":567,"title":568,"description":569,"published":570,"category":420,"image":571,"draft":424},"\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":573,"title":574,"description":575,"published":576,"category":541,"image":577,"draft":424},"\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":294,"title":579,"description":580,"published":581,"category":420,"image":582,"draft":424},"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":584,"title":585,"description":586,"published":587,"category":420,"image":588,"draft":424},"\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":590,"title":591,"description":592,"published":593,"category":420,"image":594,"draft":424},"\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":596,"title":597,"description":598,"published":599,"category":420,"image":600,"draft":424},"\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":602,"title":603,"description":604,"published":605,"category":420,"image":606,"draft":424},"\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":608,"title":609,"description":610,"published":611,"category":420,"image":612,"draft":424},"\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":614,"title":615,"description":616,"published":617,"category":420,"image":618,"draft":424},"\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":620,"title":621,"description":622,"published":623,"category":420,"image":624,"draft":424},"\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":626,"title":627,"description":628,"published":629,"category":541,"image":630,"draft":424},"\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":632,"title":633,"description":634,"published":635,"category":541,"image":636,"draft":424},"\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":638,"title":639,"description":640,"published":641,"category":541,"image":642,"draft":424},"\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":644,"title":645,"description":646,"published":647,"category":420,"image":648,"draft":424},"\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":650,"title":651,"description":652,"published":653,"category":420,"image":654,"draft":424},"\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":656,"title":657,"description":658,"published":659,"category":420,"image":660,"draft":424},"\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":662,"title":663,"description":664,"published":665,"category":420,"image":666,"draft":424},"\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":668,"title":669,"description":670,"published":671,"category":420,"image":672,"draft":424},"\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":674,"title":675,"description":676,"published":677,"category":420,"image":678,"draft":424},"\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":680,"title":681,"description":682,"published":683,"category":420,"image":684,"draft":424},"\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":686,"title":687,"description":688,"published":689,"category":420,"image":690,"draft":424},"\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":692,"title":693,"description":694,"published":695,"category":420,"image":696,"draft":424},"\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":698,"title":699,"description":700,"published":701,"category":420,"image":702,"draft":424},"\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":704,"title":705,"description":706,"published":707,"category":541,"image":708,"draft":424},"\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":710,"title":711,"description":712,"published":713,"category":420,"image":714,"draft":424},"\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":716,"title":717,"description":718,"published":719,"category":541,"image":720,"draft":424},"\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":722,"title":723,"description":724,"published":725,"category":420,"image":726,"draft":424},"\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":728,"title":729,"description":730,"published":731,"category":420,"image":732,"draft":424},"\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":734,"title":735,"description":736,"published":737,"category":420,"image":738,"draft":424},"\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":740,"title":741,"description":742,"published":743,"category":420,"image":744,"draft":424},"\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":746,"title":747,"description":748,"published":749,"category":541,"image":750,"draft":424},"\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":752,"title":753,"description":754,"published":755,"category":541,"image":756,"draft":424},"\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":758,"title":759,"description":760,"published":761,"category":420,"image":762,"draft":424},"\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":246,"title":764,"description":765,"published":766,"category":420,"image":767,"draft":424},"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":310,"title":769,"description":770,"published":771,"category":541,"image":772,"draft":424},"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":774,"title":775,"description":776,"published":777,"category":420,"image":778,"draft":424},"\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":780,"title":781,"description":782,"published":777,"category":420,"image":783,"draft":424},"\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":785,"title":786,"description":787,"published":788,"category":420,"image":789,"draft":424},"\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":791,"title":792,"description":793,"published":794,"category":541,"image":795,"draft":424},"\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":797,"title":798,"description":799,"published":800,"category":420,"image":801,"draft":424},"\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":803,"title":804,"description":805,"published":800,"category":541,"image":806,"draft":424},"\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":808,"title":809,"description":810,"published":811,"category":541,"image":812,"draft":424},"\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":814,"title":815,"description":816,"published":811,"category":420,"image":817,"draft":424},"\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",1791705957971]