02 / Was geprüft wird
Jede Prüfung, in klarem Deutsch.
Deckproof führt 68 Prüfungen in drei Bereichen aus; die 38, die die meisten Noten entscheiden, stehen hier. Sicherheit und Qualität werden benotet. Rechtliche Punkte sind neutrale technische Befunde mit allgemeinen Quellen, nie ein Urteil über deine Seite. Jede Kennung hier ist dieselbe wie in deinem Bericht.
SICHERHEIT21 PrüfungenKommen Fremde an deine Daten, deine Schlüssel oder deinen Code? Das sind die Probleme hinter den großen Vibe-Coding-Lecks.
A-01KRITISCH
Jeder kann deine Datenbank lesen
Deine Supabase-Tabelle antwortet jedem, der fragt, ganz ohne Login. Das sind die Daten deiner Nutzer, lesbar für Fremde. Wir fragen einmal, rein lesend, und berichten, was zurückkam. OWASP A01:2025
A-04KRITISCH
Deine Firebase-Datenbank ist offen
Deine Firebase-Daten lassen sich ohne Anmeldung lesen. OWASP A01:2025
S-01KRITISCH
Dein Generalschlüssel steht in der Seite
Der Supabase Service Key liegt im Code deiner Seite. Wer ihn liest, hat deine ganze Datenbank, alle Schlösser wirkungslos. CWE-798
S-02KRITISCH
Ein geheimer Schlüssel steht in deiner Seite
Wir durchsuchen den Code deiner Seite nach Schlüsseln (Stripe, OpenAI, AWS, GitHub), die nie öffentlich sein dürfen. Damit kann jemand dein Geld ausgeben oder deine Daten lesen. CWE-798
S-04KRITISCH
Deine Konfigurationsdatei ist herunterladbar
Die .env-Datei mit Passwörtern und Schlüsseln wird ausgeliefert wie jede andere Seite. CWE-538
DE-SEC-01KRITISCH
Kein Schloss
Nicht über HTTPS ausgeliefert, oder das Zertifikat ist abgelaufen oder nicht vertrauenswürdig. Das zuerst, alles andere wartet. GDPR Art. 32
S-05HOCH
Deine Code-Historie ist öffentlich
Der Ordner .git ist erreichbar, damit lässt sich dein ganzer Quellcode samt alter Versionen herunterladen. CWE-538
A-05HOCH
Deine Dateiablage ist auflistbar
Supabase Storage beantwortet eine anonyme Anfrage nach der Bucket-Liste und lässt Fremde die Dateien darin auflisten. Öffentliche Buckets liefern jede Datei an jeden mit Link. CWE-284
S-03HOCH
Server-Variablennamen in der Seite
Dein Build-Werkzeug kopiert jede Variable mit VITE_ oder NEXT_PUBLIC_ in die Seite. Heißt eine davon SERVICE_ROLE oder SECRET, ist auch ihr Wert öffentlich. CWE-798
A-03HOCH
Personenbezogene Daten sind öffentlich lesbar
Eine lesbare Tabelle enthält Felder wie E-Mail, Telefon oder Passwort-Hashes. Genau solche Lecks landen bei der Aufsichtsbehörde. CWE-359
C-02HOCH
Andere Seiten können die Daten deiner angemeldeten Nutzer lesen
Eine Freigabe-Einstellung (CORS) spiegelt jede Herkunft und erlaubt Zugangsdaten, also kann jede fremde Website dein Backend nach den Daten einer angemeldeten Besucherin fragen. Ein schlichtes "*" für öffentliche Daten ist in Ordnung und wird nicht gemeldet. CWE-942
S-06MITTEL
Dein Quellcode wird mitgeliefert
Source Maps lassen jeden deinen Code, deine Kommentare und interne Adressen lesen. CWE-540
A-06MITTEL
Deine Datenbank verteilt ihren eigenen Bauplan
Der GraphQL-Endpunkt von Supabase beantwortet eine anonyme Abfrage und listet jede Tabelle und Spalte. Wir nutzen die Antwort, um genau diese Tabellen zu prüfen, rein lesend. CWE-200
S-08MITTEL
Deine API-Beschreibung ist öffentlich
Eine openapi.json oder swagger.json listet jede Route und jeden Parameter deines Backends zum Mitlesen. CWE-200
C-04MITTEL
Deine API verteilt ihren eigenen Bauplan
GraphQL-Introspection ist an, jeder kann deine API auffordern, alles aufzulisten, was sie kann. CWE-200
T-02MITTEL
Keine Content-Security-Policy
Eine Einstellung, die eingeschleuste Skripte stoppt. Ohne sie läuft fremder Code wie deine eigene Seite. CWE-693
T-01MITTEL
Sichere Verbindung nicht erzwungen
Browsern wird nicht gesagt, dass sie immer HTTPS nutzen sollen, der erste Besuch lässt sich abfangen. CWE-319
T-03MITTEL
Deine Seite lässt sich einrahmen
Eine fremde Seite kann deine Anmeldeseite in sich einbetten und deine Nutzer zu Klicks verleiten. CWE-1021
T-08MITTEL
Sitzungs-Cookie ohne Schutzflaggen
Ein Cookie, das nach Login oder Sitzung aussieht, hat nicht die Flaggen, die es von unverschlüsselten Verbindungen und von Skripten fernhalten. Analyse-Cookies melden wir getrennt als niedrig. CWE-1004
A-07NIEDRIG
Konten ohne E-Mail-Bestätigung
Die Registrierung ist offen und die Bestätigung per E-Mail ist aus. Ein Skript kann tausende Konten anlegen, auch mit fremden Adressen. CWE-287
T-09NIEDRIG
Keine Permissions-Policy
Kamera, Mikrofon, Standort und Bezahlen bleiben für deine Seiten und alles darin Eingebettete eingeschaltet. CWE-16
RECHT & PFLICHTANGABEN8 PrüfungenZeigt deine Seite, was EU- und deutsches Recht erwarten: Impressum, Datenschutzerklärung, Cookie-Verhalten, Schriften. Als neutrale Information mit Quellen, nie als Rechtsberatung.
DE-IMP-01HOCH
Kein Impressum gefunden
Bei geschäftsmäßigen Websites erwartet das deutsche Recht eine Anbieterkennzeichnung (§5 DDG). Wir sagen, was wir gefunden haben, und verlinken die Regel. Allgemeine Information, keine Rechtsberatung. §5 DDG
DE-PRIV-01HOCH
Keine Datenschutzerklärung gefunden
Das EU-Recht erwartet eine (Art. 13 DSGVO). Wir suchen unter den üblichen Adressen und in den Links der Seite. Allgemeine Information, keine Rechtsberatung. Art. 13 DSGVO
DE-PRIV-04HOCH
Deine Datenschutzerklärung nennt Dienste nicht, die du nutzt
Wir vergleichen die Dienste, die deine Seite tatsächlich lädt (Analyse, Schriften, Karten), mit dem, was deine Datenschutzerklärung nennt. Art. 13 DSGVO
DE-3P-01HOCH
Schriften von Google geladen
Die Adresse jeder Besucherin geht bei jedem Aufruf an Google; seit einem Münchner Urteil von 2022 ein häufiges Abmahnthema. Allgemeine Information. LG München I
DE-CK-03HOCH
Tracker ohne Einwilligungslösung
Analyse- oder Werbe-Pixel liegen in der Seite, eine Einwilligungslösung aber nicht, also laufen sie für jede Besucherin ohne die Wahl, die das EU-Recht vorsieht (§25 TDDDG). Allgemeine Information. §25 TDDDG
DE-3P-03MITTEL
Einbettungen, die ohne Einwilligung nach Hause funken
YouTube, Google Maps oder Social-Einbettungen laden fremden Code und setzen Cookies schon beim Aufruf. Wir prüfen darauf, wenn keine Einwilligungslösung da ist. §25 TDDDG
DE-A11Y-01MITTEL
Keine Erklärung zur Barrierefreiheit
Wer online verkauft, für den erwartet das BFSG eine Erklärung zur Barrierefreiheit. Wir prüfen, ob eine verlinkt ist. Allgemeine Information. §14 BFSG
US-OPT-01MITTEL
Kein US-Opt-out-Link
Wenn US-Werbetechnik eingebunden ist, erwartet kalifornisches Recht einen "Do Not Sell / Your Privacy Choices"-Link. Wir prüfen, ob es einen gibt. CCPA
QUALITÄT9 PrüfungenFunktioniert deine Seite für Google, für Handys und für Menschen mit Screenreader.
Q-01HOCH
Suchmaschinen sollen wegbleiben
Ein noindex in der Seite oder im Header, oder eine robots.txt, die alles sperrt, ist noch aktiv. Vorschau-Builds haben das mit Absicht; eine veröffentlichte Seite damit ist unsichtbar. SEO
Q-05cMITTEL
Titel ist noch die Vorlage
Im Tab steht "Vite + React" oder "Lovable App". Das ist die Überschrift deines Suchergebnisses. SEO
Q-12MITTEL
Localhost-Adressen im ausgelieferten Code
Der Code ruft noch eine Adresse auf, die es nur auf dem Rechner der Entwicklerin gibt, also scheitert eine Funktion still bei jeder Besucherin. Reliability
Q-05aMITTEL
Titel oder Beschreibung fehlen
Suchergebnisse und Browser-Tabs zeigen die nackte Adresse statt deines Namens. SEO
Q-09MITTEL
Google sieht eine leere Seite
Deine Seite entsteht erst, wenn Code im Browser läuft, Suchmaschinen und Link-Vorschauen sehen also nichts. SEO
Q-10cMITTEL
Bilder ohne Beschreibung
Screenreader und Google können nicht erkennen, was deine Bilder zeigen. Eine Grundregel der Barrierefreiheit (WCAG). WCAG 1.1.1
Q-13MITTEL
Zu viel JavaScript
Mehr als ein paar Megabyte Skript beim ersten Laden brauchen auf dem Handy Sekunden. Wir wiegen, was die Seite wirklich lädt. Web performance
Q-10aNIEDRIG
Keine Sprache gesetzt
Deine Seite sagt nicht, in welcher Sprache sie ist, das verwirrt Screenreader und Übersetzer. WCAG 3.1.1
Q-07NIEDRIG
Keine robots.txt oder Sitemap
Zwei kleine Dateien, die Suchmaschinen sagen, wo sie schauen sollen. Wir prüfen außerdem den Canonical-Link, das Favicon und eine <h1>. SEO
Alles davon jetzt auf deiner Seite laufen lassen, kostenlos, ohne Anmeldung.