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-01
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
KRITISCH
A-04
Deine Firebase-Datenbank ist offen
Deine Firebase-Daten lassen sich ohne Anmeldung lesen. OWASP A01:2025
KRITISCH
S-01
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
KRITISCH
S-02
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
KRITISCH
S-04
Deine Konfigurationsdatei ist herunterladbar
Die .env-Datei mit Passwörtern und Schlüsseln wird ausgeliefert wie jede andere Seite. CWE-538
KRITISCH
DE-SEC-01
Kein Schloss
Nicht über HTTPS ausgeliefert, oder das Zertifikat ist abgelaufen oder nicht vertrauenswürdig. Das zuerst, alles andere wartet. GDPR Art. 32
KRITISCH
S-05
Deine Code-Historie ist öffentlich
Der Ordner .git ist erreichbar, damit lässt sich dein ganzer Quellcode samt alter Versionen herunterladen. CWE-538
HOCH
A-05
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
HOCH
S-03
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
HOCH
A-03
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
HOCH
C-02
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
HOCH
S-06
Dein Quellcode wird mitgeliefert
Source Maps lassen jeden deinen Code, deine Kommentare und interne Adressen lesen. CWE-540
MITTEL
A-06
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
MITTEL
S-08
Deine API-Beschreibung ist öffentlich
Eine openapi.json oder swagger.json listet jede Route und jeden Parameter deines Backends zum Mitlesen. CWE-200
MITTEL
C-04
Deine API verteilt ihren eigenen Bauplan
GraphQL-Introspection ist an, jeder kann deine API auffordern, alles aufzulisten, was sie kann. CWE-200
MITTEL
T-02
Keine Content-Security-Policy
Eine Einstellung, die eingeschleuste Skripte stoppt. Ohne sie läuft fremder Code wie deine eigene Seite. CWE-693
MITTEL
T-01
Sichere Verbindung nicht erzwungen
Browsern wird nicht gesagt, dass sie immer HTTPS nutzen sollen, der erste Besuch lässt sich abfangen. CWE-319
MITTEL
T-03
Deine Seite lässt sich einrahmen
Eine fremde Seite kann deine Anmeldeseite in sich einbetten und deine Nutzer zu Klicks verleiten. CWE-1021
MITTEL
T-08
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
MITTEL
A-07
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
NIEDRIG
T-09
Keine Permissions-Policy
Kamera, Mikrofon, Standort und Bezahlen bleiben für deine Seiten und alles darin Eingebettete eingeschaltet. CWE-16
NIEDRIG
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-01
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
HOCH
DE-PRIV-01
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
HOCH
DE-PRIV-04
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
HOCH
DE-3P-01
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
HOCH
DE-CK-03
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
HOCH
DE-3P-03
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
MITTEL
DE-A11Y-01
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
MITTEL
US-OPT-01
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
MITTEL
QUALITÄT9 PrüfungenFunktioniert deine Seite für Google, für Handys und für Menschen mit Screenreader.
Q-01
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
HOCH
Q-05c
Titel ist noch die Vorlage
Im Tab steht "Vite + React" oder "Lovable App". Das ist die Überschrift deines Suchergebnisses. SEO
MITTEL
Q-12
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
MITTEL
Q-05a
Titel oder Beschreibung fehlen
Suchergebnisse und Browser-Tabs zeigen die nackte Adresse statt deines Namens. SEO
MITTEL
Q-09
Google sieht eine leere Seite
Deine Seite entsteht erst, wenn Code im Browser läuft, Suchmaschinen und Link-Vorschauen sehen also nichts. SEO
MITTEL
Q-10c
Bilder ohne Beschreibung
Screenreader und Google können nicht erkennen, was deine Bilder zeigen. Eine Grundregel der Barrierefreiheit (WCAG). WCAG 1.1.1
MITTEL
Q-13
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
MITTEL
Q-10a
Keine Sprache gesetzt
Deine Seite sagt nicht, in welcher Sprache sie ist, das verwirrt Screenreader und Übersetzer. WCAG 3.1.1
NIEDRIG
Q-07
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
NIEDRIG

Alles davon jetzt auf deiner Seite laufen lassen, kostenlos, ohne Anmeldung.