Sicherheitsgrundlagen
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.

Kurz gesagt
- Ist Bolt sicher? Bei allem, was Bolt selbst entscheidet, ja. In 1.123 laufenden Bolt-Apps fanden wir 13, die ihre Source Maps veröffentlichen, eine, die jede Website ihre API aufrufen ließ, und kein einziges schlechtes Zertifikat.
- 75 dieser Apps lieferten etwas Schlüsselförmiges im Code aus, den ein Besucher lädt. Meist waren es Google-Schlüssel, und die sind in der Regel in Ordnung. Zehn waren OpenAI-Schlüssel, und wer einen findet, kann damit Geld ausgeben.
- Von den 35 Bolt-Datenbanken, die wir tatsächlich fragen konnten, gaben 27 Zeilen an eine Anfrage ohne Anmeldung heraus. Beide Probleme sind Einstellungen in deinem eigenen Projekt.
Du hast etwas auf Bolt gebaut, auf Publish gedrückt, und jetzt liegt es unter
einer Adresse, die auf bolt.host endet. Bevor du den Link an echte Kunden
schickst, hast du "ist bolt sicher" in ein Suchfeld getippt, und zurück kam eine
Liste von fünf Schwachstellen, die angeblich in fast jeder Bolt-App stecken, mit
einem Scanner zum Kaufen ganz unten.
Und hier liegt der Fehler dieser Listen: Sie gewichten jedes Risiko gleich, und in laufenden Bolt-Apps tauchen die meisten davon kaum auf. Source Maps, offene Cross-Origin-Header und ungeschützte API-Routen stehen dort gleichrangig neben geleakten Schlüsseln und offenen Tabellen. In unseren Daten traten die ersten drei bei 13, 1 und 4 Apps von über tausend auf. Die anderen beiden sind der Ort, an dem die Funde lagen.
Zwischen dem 12. und 14. August 2026 haben wir dieselben neun externen Checks, die jeder auf unserer Startseite kostenlos ausführen kann, über 30.998 laufende Apps laufen lassen, und 1.123 davon waren auf Bolts eigenem Hosting veröffentlicht. Das kam für sie zurück, und hier endet unser Blick.
Ist Bolt sicher?
Bei allem, was Bolt selbst entscheidet, ja. Sein Hosting kam genauso sauber zurück wie das von Lovable, und alles, was eine Note drückte, saß in einer App, die ihr Inhaber gebaut hat.
Stell dir eine Bolt-App als Laden vor. Bolt stellt das Gebäude: die Adresse, das Zertifikat, das Hosting. Du füllst das Schaufenster, also jede Seite, jedes Bild und jedes Skript, das deine App einem Besucher aushändigt, und jeder, der vorbeigeht, kann lesen, was darin liegt. Hinter dem Laden liegt das Lager, deine Datenbank, mit eigener Tür und eigenem Schloss. "Ist Bolt sicher" sind in Wahrheit drei Fragen, eine zu jedem davon.
- Das Gebäude. Veröffentlicht Bolt deine App ordentlich: gültiges Zertifikat, eine Domain, die nicht abläuft, nichts Verirrtes unter einer öffentlichen Adresse. Das ist Bolts Aufgabe.
- Das Schaufenster. Was der Browser eines Besuchers lädt. Ein Schlüssel, der darin liegt, ist für jeden lesbar, der hinsieht, egal wie er dorthin kam.
- Das Lager. Ob deine Datenbank einem Fremden antwortet, der um das Haus herumgeht und fragt. Das hängt an einem Schloss, das du setzt, Tabelle für Tabelle.
Unsere Checks lesen alle drei von außen. Keiner davon liest den Code, den Bolts Agent geschrieben hat, so wie du ihn im Editor lesen würdest, und dieser Beitrag rät dort nicht.
Was wir in 1.123 Bolt-Apps gefunden haben
Neun Checks, von außen, ohne Anmeldung und ohne Zugriff auf irgendein Konto. Wo eine Datenbank antwortete, haben wir gefragt, wie viele Zeilen sie herausgeben würde, und dort aufgehört; gelesen haben wir keine. Keine App wird hier oder anderswo von uns genannt. Jeder Anteil unten bezieht sich auf die Apps, bei denen der Check geantwortet hat, denn ein Check, der nicht durchlief, ist unbekannt und nicht bestanden. Deshalb bewegen sich die Nenner. Methode und Daten stehen im Bericht.
| Was wir geprüft haben | Bolt-Apps | Wer es entscheidet |
|---|---|---|
| Browser-Sicherheitsheader fehlen | 1.121 von 1.123 | Bolts Hosting |
| Etwas Schlüsselförmiges im Code, den ein Besucher lädt | 75 von 1.123 (7 %) | Deine App |
| Eine Datenbanktabelle ohne Anmeldung lesbar | 27 von 35 | Deine App |
| Originalquellcode veröffentlicht (Source Maps) | 13 von 1.123 (1 %) | Eine Build-Einstellung |
| Ein Storage-Bucket, der seine Dateien auflistet | 6 von 901 | Deine App |
| Eine API-Route, die einem Fremden Daten aushändigt | 4 von 1.120 | Deine App |
| Jede Website darf deine API aufrufen | 1 von 1.120 | Deine App |
Eine private Datei wie .env oder .git/config unter offener URL | 0 von 1.109 | Deine App |
| Zertifikat abgelaufen oder nicht vertrauenswürdig | 0 von 1.119 | Bolt |
| Domain läuft bald ab | 0 von 1.123 | Bolt |
Die Noten: 1.051 A, 33 B, 24 C, 15 D und überhaupt kein F.
Diese erste Zeile entscheidet das, was deine Seiten ausliefert, und auf
yourapp.bolt.host ist das Bolt, also bekamen 1.121 Apps dieselbe Antwort.
Header sind es wert, sie zu haben, und aus
ihnen wird keine Note D. Lass diese Zeile weg, und 1.008 der 1.123 Bolt-Apps
hatten überhaupt nichts anderes. Um die übrigen 115 geht es im Rest dieses
Beitrags.
Was Bolt richtig macht
Die Checks, die Bolt entscheidet, kamen fast leer zurück, und bei der einen Build-Einstellung, die wir messen, lag es gleichauf mit Lovable.
Source Maps. 13 von 1.123 Bolt-Apps veröffentlichen die Originaldateien hinter der App, samt Kommentaren. Das ist etwas mehr als eine von hundert, etwa dieselbe Quote wie Lovables 225 von 18.553, und eine Map verrät mehr, als die meisten erwarten.
Cross-Origin-Header. Eine App von 1.120 erklärte jeder Website der Welt, sie dürfe ihre API aufrufen. Das ist der Fund, der am ehesten eine fremde Seite als dein Nutzer handeln lässt, und auf Bolt kam er einmal vor.
Das Gebäude selbst. Das Zertifikat war auf allen 1.119 Apps gültig, bei
denen wir eines lesen konnten, keine Domain von 1.123 lief bald ab, und keine
App lieferte eine .env-Datei oder eine .git/config unter einer einfachen
Adresse aus.
Nichts davon brauchte etwas von dir, und bei manchen anderen Buildern ist das anders.
Woraus die 75 Schlüssel bestanden
Die meisten waren in Ordnung, und die wenigen, die es nicht waren, sind das Teuerste in diesem Beitrag.
75 der 1.123 Bolt-Apps hatten etwas Schlüsselförmiges im Code, den ein Besucher lädt. Nach Formen gezählt sind das 7 % der Bolt-Apps, die "Geheimnisse leaken". Danach gezählt, was jeder Schlüssel kann, teilt es sich so auf, wobei jede App einmal gezählt wird, unter dem Ernstesten, was in ihr steckt:
| Was wir im Bundle gefunden haben | Apps | Was es bedeutet |
|---|---|---|
| Ein Google-API-Schlüssel, sonst nichts | 38 | Meist korrekt, sobald er auf deine Domain beschränkt ist |
| Ein Geheimnis, das wir nicht zuordnen konnten | 26 | Wir konnten nicht sagen, zu welchem Anbieter es gehört |
| Ein OpenAI-Schlüssel | 10 | Belastet dein Konto, direkt |
| Ein Anthropic-Schlüssel | 1 | Belastet dein Konto, direkt |
Die 38 Google-Schlüssel sind der Grund, warum wir jeden Schlüssel einordnen, statt nur ein Muster abzugleichen. Ein Google-Maps-Schlüssel im Browser ist dort, wo er hingehört, und der Fix ist, ihn auf deine eigene Domain zu beschränken.
Die zehn OpenAI-Schlüssel sind der umgekehrte Fall. Ein OpenAI-Schlüssel ist ein Bearer-Token: Wer ihn hat, kann damit Geld ausgeben, von überall, und OpenAI bietet keine Einstellung, die einen Schlüssel an deine Seite bindet. Alle zehn dieser Apps bekamen ein D, weil ein kritischer Fund die Note deckelt, egal was die App sonst richtig gemacht hat. Was mit einem solchen zu tun ist, der Reihe nach, beginnt damit, ihn noch heute zu rotieren.
Das ist die Zahl, die diesen Fund zum Bolt-Fund macht. Bolt-Apps waren weniger als 4 von 100 gescannten Apps, und sie trugen 10 der 33 OpenAI-Schlüssel, die wir überhaupt gefunden haben. Pro App gerechnet ist das etwa eine Bolt-App von 110, gegenüber 18 der 18.554 Lovable-Apps, etwa eine von tausend. Zehn Apps sind eine kleine Stichprobe, und eine Handvoll mehr oder weniger würde dieses Verhältnis stark verschieben. Bolt läge trotzdem vor jedem anderen Builder, den wir gemessen haben.
Warum leaken Bolt-Apps API-Schlüssel?
Von außen sehen wir nicht, wie einer dieser zehn Schlüssel dorthin kam, und Bolts eigene Anleitung sagt, dass keiner von ihnen dort sein sollte.
Bolts Dokumentation beschreibt den vorgesehenen Weg. Bitte den Agenten, OpenAI einzubinden, und er wird, in den Worten der Dokumentation, "das Programmieren abschließen und dann eine Nachricht anzeigen, die dich bittet, dein Secret hinzuzufügen". Dieses Secret kommt in den Secrets-Bereich, wo nur eine Server-Funktion es lesen kann. Eine Server-Funktion läuft auf Bolts Seite, also bekommt der Browser des Besuchers den Schlüssel nie. So gebaut bleibt der Schlüssel im Lager.
Der Umweg, den wir benennen können, ist die Umgebungsvariable. Bolts eigene
Einführung in Datenbanken sagt, dass Umgebungsvariablen diese Werte privat
halten, und zwei der drei Namen, die sie aufführt, VITE_SUPABASE_URL und
VITE_SUPABASE_ANON_KEY, beginnen mit VITE_. Dieses Präfix gehört zu Vite,
dem Build-Tool, und Vites Dokumentation sagt das Gegenteil darüber: Eine
VITE_-Variable wird in den Code geschrieben, den der Browser lädt, und sie
sollte nie einen API-Schlüssel enthalten. Für diese beiden Namen ist das
harmlos, denn eine Projektadresse und ein veröffentlichbarer Schlüssel sollen
öffentlich sein. Übertrag dasselbe Muster auf VITE_OPENAI_API_KEY, und der
Schlüssel liegt im Schaufenster.
Ein Schlüssel, den du in den Chat kopiert hast, während du etwas anderes repariert hast, kann ebenfalls direkt in eine Seite geschrieben werden. So oder so ist das Ergebnis dieselbe Datei. Wie das Präfix funktioniert erklärt, welche Werte dahinter gehören und welche nie.
27 von 35: die Bolt-Datenbanken, die wir fragen konnten
Von den Bolt-Datenbanken, die uns eine brauchbare Antwort gaben, rückten 27 von 35 Zeilen an eine Anfrage heraus, die gar keine Anmeldung trug. Das ist eine Anzahl, und die Basis ist zu klein, um sie als Prozentwert zu drucken.
Die Nenner zählen hier mehr als an jeder anderen Stelle dieses Beitrags. 266 der 1.123 Bolt-Apps nannten ein Supabase-Projekt in dem Code, den sie ausliefern. Nur 35 davon beantworteten unsere Anfrage gut genug, um sie zu beurteilen. Die anderen 231 ließen sich nicht beurteilen, damit sind sie unbekannt, und wir haben sie weder als sauber noch als offen gezählt.
Bei 4 der 27 hieß die Tabelle, die antwortete, so, wie Tabellen über Menschen
heißen, etwa users oder profiles. Diese vier und die elf Apps mit einem
OpenAI- oder Anthropic-Schlüssel ergeben alle 15 D-Noten. Bei den anderen 23 war
es eine Tabelle, die wir von außen nicht benennen konnten, vielleicht eine
Produktliste, die immer öffentlich sein sollte, vielleicht etwas ganz anderes.
Warum es an der Datenbank hängt
Weil die Adresse des Lagers im Schaufenster steht, und das muss sie.
Wenn eine Bolt-App ihre Daten von der Seite aus liest, braucht die Seite die Adresse der Datenbank und einen veröffentlichbaren Schlüssel, also reisen beide zu jedem Besucher. Dass dieser Schlüssel öffentlich ist, ist richtig; so kommt deine eigene App hinein. Was er zurückbekommt, entscheidet eine Einstellung pro Tabelle namens Row Level Security. Ist sie an und eine Policy geschrieben, liest der öffentliche Schlüssel nur die Zeilen, die die Policy erlaubt. Ist sie aus, liest er die Tabelle.
Supabase schaltet Row Level Security standardmäßig für Tabellen ein, die du im
Table Editor zusammenklickst. Tabellen, die durch ausgeführtes SQL entstehen,
bekommen sie nicht, und SQL ausführen ist genau die Art, wie ein Builder Tabellen
für dich anlegt. Das Einschalten ist außerdem nur Schritt eins, denn die Policy,
die ein Assistent schreibt, um einen Berechtigungsfehler loszuwerden, lautet oft
using (true). Sie erlaubt allen alles, während das Dashboard die Tabelle als
geschützt anzeigt.
RLS ist an und deine Tabelle ist trotzdem öffentlich
erzählt diese Geschichte ganz.
Bolts eigener Datenbank-Check sucht genau danach: Seine Dokumentation beschreibt ihn so, dass er "eine fehlende Row-Level-Security-Policy (RLS) oder eine zu offene Berechtigung" findet. Die Erklärung in einfacher Sprache für diese Plattform ist ist deine Bolt-App sicher.
Was Bolts eigenes Sicherheits-Audit prüft
Es liest dein Projekt von innen, und es läuft, wenn du auf den Knopf drückst.
Bolt hat das Audit am 30. Juli 2026 angekündigt. In einem bezahlten Tarif sitzt es im Publish-Menü als Run security audit: Es prüft deinen Code und deine Datenbank, behebt die meisten Probleme selbst, markiert den Rest und verbraucht keine deiner Tokens. In jedem Tarif, auch im kostenlosen, haben die Einstellungen einer Bolt-Datenbank einen Security-Bereich, der den oben beschriebenen Row-Level-Security-Check ausführt.
Unser Scan lief zwei Wochen, nachdem dieser Knopf erschien, also können die Zahlen oben nicht sagen, wie viel er seitdem verändert hat. Was wir sagen können, ist, wie die beiden Blickwinkel zusammenpassen. Das Audit sieht dein Projekt von innen, einschließlich Tabellen, die deine Seiten nie erwähnen, und das kann ein Scan von außen nie. Ein Scan von außen sieht, was ein Fremder aus der veröffentlichten App bekommt. Wenn ein Audit fertig ist, steht auf dem Knopf Security audit up to date, und die nächste Änderung, die du veröffentlichst, hat es nicht gesehen.
Lass das Audit vor dem Veröffentlichen laufen und sieh danach von außen nach. Wenn sich beide je uneinig sind, ob eine Tabelle lesbar ist, nimm die Antwort von außen, denn das ist die, die ein Fremder bekommt.
So prüfst du deine eigene Bolt-App
Fünf Dinge zum Ansehen. Nimm ein privates Fenster, damit nicht deine eigene Anmeldung für einen Fremden antwortet.
- Finde heraus, welche Datenbank du hast. Neue Bolt-Projekte nutzen standardmäßig eine Bolt-Datenbank. Wenn du beim Anlegen des Projekts Supabase gewählt oder später eines verbunden hast, liegen deine Tabellen in einem Supabase-Projekt, bei dem du dich anmelden kannst.
- Lies das Schloss an jeder Tabelle. Bei einer Bolt-Datenbank öffnest du den Security-Bereich in den Datenbank-Einstellungen und lässt den Check laufen. Bei Supabase öffnest du Authentication → Policies und liest die Liste durch: Eine Tabelle mit deaktivierter Row Level Security ist für jeden lesbar, der deine Projektadresse hat, und die steht in deiner App. Eine Policy, die allen alles erlaubt, zählt als deaktiviert.
- Durchsuche dein Projekt nach
VITE_. Jeder Wert hinter diesem Präfix liegt im Schaufenster. Eine Projektadresse und ein veröffentlichbarer Schlüssel gehören dorthin. Ein Schlüssel, der dir Kosten verursacht, gehört in den Secrets-Bereich, gelesen von einer Server-Funktion. Stand je einer hinter dem Präfix, rotiere ihn zuerst beim Anbieter, denn der alte Wert funktioniert weiter, bis du das tust. - Sieh dir deinen Storage an. Ein als öffentlich markierter Bucket listet jedem, der fragt, jede Datei darin auf, auch die, die deine App nie zeigt.
- Oder lass den Scan das machen. Er prüft das von außen, dazu fünf weitere Checks, dauert etwa 20 Sekunden, braucht kein Konto und zeigt dir eine Note und was sie verursacht hat: App kostenlos scannen.
Damit es nach dem Veröffentlichen so bleibt
Ein Check vom letzten Monat beschreibt die App vom letzten Monat. Auf Bolt ist Veröffentlichen ein Knopf, also ist eine Tabelle von heute Morgen oder ein Schlüssel, der um Mitternacht eingefügt wurde, live, sobald du drückst.
Reeve Monitor führt die neun Checks für dich erneut aus:
- alle neun Checks stündlich, für bis zu drei Apps
- ob die App läuft, alle 60 Sekunden
- eine Nachricht, wenn sich ein Ergebnis ändert, damit ein neuer Fund nicht wartet, bis du nachsiehst
- ein Monatsbericht über das, was er gesehen hat
Monitor kostet €12 im Monat zum Listenpreis, mit sieben freien Tagen, bevor abgerechnet wird. Die Preisseite liegt manchmal unter der Zahl hier und nie darüber.
Wenn deine Bolt-App ihre Daten in deinem eigenen Supabase-Projekt hält, bewahrt Reeve Care eine Kopie davon auf. Das gilt für ein Projekt, das du von Anfang an verbunden hast, und für eine Bolt-Datenbank, die du in Supabase übernommen hast.
- jede Nacht eine verschlüsselte Kopie deiner Supabase-Datenbank, dort aufbewahrt, wo dein Projekt nicht hinkommt
- jede Kopie geprüft, bevor sie zählt: Wir zählen die Zeilen jeder Tabelle nach
- eine Wiederherstellung per Klick, wenn du sie brauchst
- auch deine hochgeladenen Dateien, sobald du einen Storage-Zugang verbindest
- alles, was Monitor macht
Care kostet €49 im Monat zum Listenpreis für eine App, mit denselben sieben freien Tagen.
Eine offene Tabelle ist etwas, das ein Fremder lesen kann. Eine Migration, die falsch herum lief, oder ein Agent mit Datenbankzugriff ist etwas, das sie leeren kann, und keiner der neun Checks in diesem Beitrag würde die Zeilen zurückbringen. Der Tag, an dem ein KI-Agent eine Produktionsdatenbank gelöscht hat zeigt, wie das von innen aussieht.
Was du diese Woche tun solltest
Was zu tun ist
- Durchsuche dein Bolt-Projekt nach
VITE_und lies jeden Wert dahinter. Ein Schlüssel, der dir Kosten verursacht, gehört in den Secrets-Bereich, gelesen von einer Server-Funktion. - Stand je ein OpenAI-Schlüssel oder ein anderer bezahlter Schlüssel in dieser Liste, rotiere ihn beim Anbieter, bevor du ihn aus dem Code entfernst.
- Lass den Datenbank-Sicherheitscheck laufen oder öffne Authentication → Policies in Supabase und lies das Schloss an jeder Tabelle. Eine Policy, die allen alles erlaubt, lässt die Tabelle offen.
- Lass Bolts eigenes Audit vor dem Veröffentlichen laufen und prüfe die veröffentlichte App danach von außen.
- Bewahre eine Kopie deiner Datenbank dort auf, wo dein Projekt und dein Agent nicht hinkommen, und prüfe, dass sich die Kopie wiederherstellen lässt.
Fang mit der Suche nach VITE_ an, denn das ist der eine Fund auf Bolt, der
für sich allein Geld kostet. Wenn du noch zwischen Buildern wählst, stellt
welcher KI-App-Builder am sichersten ist alle
fünf nebeneinander.
FAQ
Ist Bolt sicher in der Nutzung?
Für die Teile, die Bolt kontrolliert, sagen unsere Zahlen ja. In 1.123 laufenden Apps auf bolt.host fanden wir kein schlechtes Zertifikat, keine Domain kurz vor dem Ablauf, 13 Apps mit veröffentlichten Source Maps und eine, die jede Website ihre API aufrufen ließ. Was über deine eigene App entscheidet, steckt in ihr: ob ein Schlüssel, der dir Kosten verursacht, im Code gelandet ist, den Besucher laden, und ob deine Datenbanktabellen einem Fremden antworten. Beides sind Einstellungen, die du selbst prüfen kannst.
Sind Bolt-Apps standardmäßig sicher?
Die Teile, die Bolt für dich veröffentlicht, waren in unserem Scan sauber. Der Rest hängt davon ab, was im Chat passiert ist. Bolt soll einen bezahlten API-Schlüssel im Secrets-Bereich hinter einer Server-Funktion halten, und es hat einen Datenbank-Check, der nach fehlender Row Level Security sucht. Keins von beidem läuft von allein: Das Projekt-Audit ist ein Knopf im Publish-Menü der bezahlten Tarife, und der Datenbank-Check ist ein Bereich, den du öffnest. Im August 2026 hatten 75 von 1.123 Bolt-Apps etwas Schlüsselförmiges im Frontend, und 27 der 35 Datenbanken, die wir fragen konnten, antworteten einem Fremden.
Warum leaken Bolt-Apps API-Schlüssel?
Von außen sehen wir nicht, wie ein einzelner Schlüssel dorthin kam. Der Weg, den wir benennen können, ist die Umgebungsvariable. Eine Variable, deren Name mit VITE_ beginnt, wird in das JavaScript geschrieben, das jeder Besucher lädt, und Vite, das Build-Tool hinter diesem Präfix, sagt, dass solche Variablen nie einen API-Schlüssel enthalten sollen. Für eine Projektadresse oder einen veröffentlichbaren Schlüssel ist das harmlos. Für einen OpenAI-Schlüssel ist es eine Rechnung. Zehn der 1.123 gescannten Bolt-Apps lieferten einen aus.
Sind meine Supabase-Daten in einer Bolt-App sicher?
Das hängt an einer Einstellung pro Tabelle. Wenn eine Bolt-App von der Seite aus mit Supabase spricht, nutzt sie einen veröffentlichbaren Schlüssel, der öffentlich sein soll, also entscheidet allein Row Level Security, was ein Fremder zurückbekommt. Wir konnten 35 Bolt-Datenbanken ohne Anmeldung nach Zeilen fragen, und 27 gaben sie heraus. Das ist eine Anzahl, und die Basis ist zu klein für einen Prozentwert. Deine eigenen Policies kannst du in wenigen Minuten lesen.
Ist Bolt sicherer als Lovable?
Auf der Plattformseite lagen sie gleichauf: 13 von 1.123 Bolt-Apps und 225 von 18.553 Lovable-Apps veröffentlichten Source Maps, jeweils etwas mehr als eine von hundert, und keine hatte ein Problem mit Zertifikat oder Domain. Der Unterschied waren Schlüssel. Zehn der 1.123 Bolt-Apps trugen einen OpenAI-Schlüssel, gegenüber 18 von 18.554 auf Lovable. Zehn ist eine kleine Zahl, also lies das als Richtung. Der vollständige Vergleich aller fünf Builder steht in einem eigenen Artikel.