Zum Inhalt springen
OkayToShip

Beispielbericht

Beispielbericht unserer eigenen Test-App. Wir haben eine kleine App gebaut und typische Fehler absichtlich drin gelassen, damit du genau siehst, was der vollständige Bericht liefert. Das sind echte Ergebnisse derselben Prüfungen, die wir bei deinem Projekt ausführen, geprüft am 11. Okt. 2026.

Beispieldemo.okaytoship.com

Beispielbericht unserer eigenen Test-App · 11. Okt. 2026

Score 23 von 100

Noch nicht startklar: 2 kritische Probleme könnten deine Daten oder dein Geld offenlegen – behebe sie zuerst.

22 Probleme: 2 kritisch, 4 hoch, 9 mittel, 6 niedrig, 1 info

  • SicherheitDer Master-Schlüssel deiner Datenbank steht im Code deiner WebsiteKritisch
  • ZahlungenDein geheimer Stripe-Schlüssel steht im Code deiner WebsiteKritisch
  • SEOSuchmaschinen und Linkvorschauen sehen eine leere SeiteNachbessern
  • TempoHier gibt es nichts zu behebenOK
  • RechtlichesKein Link zur Datenschutzerklärung auf deiner StartseiteNachbessern
  • KostenDeine Website ruft OpenAI direkt aus dem Browser des Besuchers aufNachbessern

22 Probleme, alle offen

So sieht der vollständige Bericht aus. Öffne ein Problem, um Nachweis, Risiko und Lösung zu sehen.

  • Jeder kann diesen Schlüssel kopieren und als dein Stripe-Konto handeln: deine Kunden und ihre Zahlungen sehen, Erstattungen auslösen oder Abbuchungen erstellen. Echtes Geld kann dein Konto verlassen.

    Heute erledigen: Widerrufe diesen Schlüssel jetzt in deinem Stripe-Dashboard und erstelle einen neuen. Er ist bereits öffentlich, es reicht also nicht, ihn aus dem Code zu entfernen.

    So behebst du es

    1. Widerrufe diesen Schlüssel jetzt in deinem Stripe-Dashboard und erstelle einen neuen. Er ist bereits öffentlich, es reicht also nicht, ihn aus dem Code zu entfernen.
    2. Leg den neuen Schlüssel nur auf den Server: in eine Edge Function, API-Route oder dein Backend, das ihn aus einer geheimen Umgebungsvariable liest. Gib ihm nie ein öffentliches Präfix wie VITE_, NEXT_PUBLIC_ oder REACT_APP_.
    3. Lass die Seite deine Serverfunktion aufrufen, statt den Schlüssel direkt zu nutzen.
    4. Nutze im Browser nur den öffentlichen Schlüssel. Erstelle Checkout-Sessions auf dem Server mit dem geheimen Schlüssel.
    5. Veröffentliche die Website erneut und führe diese Prüfung aus, um sicherzugehen, dass der Schlüssel weg ist.

    Was wir gefunden haben

    https://demo.okaytoship.com/assets/index-D6yG_D9G.js

    Stripe live secret key: sk_liv…

    My app exposes a Stripe live secret key in the frontend code that every visitor downloads (it starts with "sk_liv…"). Remove this key from all client-side code and from any environment variables that get bundled into the browser. Move every operation that needs it into a server-side function that reads the key from a secret environment variable, and change the frontend to call that function instead. In the browser use only the publishable key. Create checkout sessions on the server with the secret key. I will revoke the old key and add the new one to the secrets myself. If this needs a secret key, put the server-side code in a Supabase Edge Function and store the key in the project's secrets (not in the code). Keep everything else working exactly as it does now and don't touch unrelated files. When you're done, list what you changed.