// DOKUMENTATION

Dokumentation

So läuft ein Scan ab, wie du Deep-Scans für deine eigenen Websites freischaltest und welche Limits den Dienst kostenlos halten.

So funktioniert ein Scan

Gib eine beliebige öffentliche URL ein, und Watchpost betrachtet sie von außen, genau wie ein Angreifer. Ein Standard-Scan ist passiv und rein lesend: Er lädt deine Startseite samt JavaScript, führt einen TLS-Handshake durch, macht DNS-Abfragen und ruft eine kurze Liste bekannter Pfade wie /.env oder /.git/config ab.

Er sendet nie Formulare, versucht nie, sich anzumelden, und verschickt keine Exploit-Payloads. Die meisten Scans dauern weniger als eine Minute. Ergebnisse für denselben Host werden 24 Stunden lang wiederverwendet, sodass wiederholte Scans deinen Server nicht erneut belasten.

Alle Prüfungen findest du im Prüfkatalog.

Passive und Deep-Scans

  • Passiv: Kann jeder gegen jede öffentliche Website ausführen. Es wird nur gelesen, was ohnehin öffentlich ist.
  • Deep: Nur für angemeldete Inhaber, die die Domain verifiziert haben. Deep-Prüfungen testen die Konfiguration aktiv, zum Beispiel ob sich Supabase-Tabellen oder Firebase-Datenbanken mit dem in deiner Website ausgelieferten öffentlichen Schlüssel auslesen lassen.

Deep-Prüfungen erfassen nur Anzahlen und Namen (zum Beispiel „Tabelle profiles: 1.204 Zeilen lesbar“), nie die Daten selbst. Berichte von Deep-Scans sind nur für den Inhaber der Website sichtbar.

Domain verifizieren

Füge die Website in deinem Dashboard hinzu. Du erhältst ein Token. Veröffentliche es mit einer der folgenden Methoden und klicke dann auf Verifizieren:

  1. DNS-TXT-Eintrag auf dem Host: watchpost-verify=<token>
  2. Datei unter https://your-domain/.well-known/watchpost-verify.txt, die das Token enthält
  3. Meta-Tag im <head> deiner Startseite: <meta name="watchpost-verify" content="<token>">

Die Inhaberschaft wird vor einem Deep-Scan erneut geprüft, sobald sie älter als 30 Tage ist. Fehlt das Token, sind Deep-Scans wieder gesperrt, bis du erneut verifizierst.

Limits

  • Anonyme Scans: 5 pro Minute und 50 pro Tag je IP-Adresse.
  • Ergebnisse für denselben Host werden 24 Stunden lang zwischengespeichert.
  • Eigene Websites: ein passiver Re-Scan alle 5 Minuten und ein Deep-Scan pro Stunde.
  • Bis zu 20 Websites pro Konto.

Punktzahl und Note

Jeder Scan startet mit 100 Punkten. Jeder Befund zieht je nach Schweregrad Punkte ab: kritisch 40, hoch 15, mittel 5, niedrig 1. Die Punktzahl wird einer Note zugeordnet: A ab 90, B ab 75, C ab 60, D ab 40, F unter 40. Ein kritischer Befund begrenzt die Note auf höchstens D.

Eine gute Note bedeutet, dass wir im Rahmen unserer Prüfungen nichts gefunden haben. Sie ist weder ein Penetrationstest noch eine Garantie dafür, dass eine Website sicher ist.

Wer einen Bericht sehen kann

Berichte anonymer Scans sind nicht gelistet: Jeder mit dem Link kann sie öffnen, sie werden aber von Suchmaschinen ausgeschlossen. Berichte zu Websites in deinem Konto, ob passiv oder Deep, sind nur für dich sichtbar.

Öffentliche API

Dieselben Endpunkte, die die Website nutzt, stehen offen zur Verfügung, vorbehaltlich der oben genannten Limits:

  • POST /api/v1/scans mit {"url": "https://example.com"} liefert {"id": "…"}
  • GET /api/v1/scans/<id> liefert Status, Note und Befunde
  • GET /api/v1/checks liefert den Prüfkatalog

Bitte kennzeichne deine Integration mit einem aussagekräftigen User-Agent.