Auslieferungsprüfer
Bevor du etwas online stellst, sagt dir diese Seite, was darin steht, das niemand sehen soll — ein vergessener Zugangsschlüssel, eine Kundenadresse, eine Kontonummer, ein Aufruf an einen fremden Rechner.
Die Datei bleibt dabei auf deinem Gerät. Es wird nichts hochgeladen und nichts gespeichert — die Prüfung läuft im Browser, auch ohne Netz.
Wann brauche ich das?
Du lieferst eine App aus und hast beim Bauen einen KI-Schlüssel in eine Konfigurationsdatei geschrieben. Wer die Datei öffnet, arbeitet danach auf deine Rechnung — und ein veröffentlichter Schlüssel lässt sich nicht zurückholen, nur zurückziehen.
Du schickst ein PDF an einen Kunden. Darin stecken frühere Speicherstände, und der Empfänger liest den Absatz, den du vor dem Verschicken herausgenommen hast.
Wähle eine HTML-Datei — oder füge den Quelltext unten ein.
Wie du an den Quelltext einer fremden Seite kommst
Die Seite im Browser öffnen, dann im Menü (⋮)
auf den Herunterladen-Pfeil. Chrome legt sie als
.mhtml in deine Downloads. Die wählst du hier aus — der
Prüfer packt sie aus und prüft den Seiten-Teil darin.
Das ist der Weg, der immer geht. „Adresse abrufen" oben ist bequemer, scheitert aber bei vielen fremden Servern an einer Sperre des Browsers — beim Herunterladen gibt es diese Sperre nicht, weil die Seite ganz normal geladen wird.
Deine eigene Adresse steht schon
drin — sie gilt nicht als fremd. Prüfst du die Seite einer anderen Domain,
trage sie hier dazu ein, sonst meldet der Prüfer ihr eigenes
canonical als fremden Rechner.
Wähle eine Text-, JSON-, Markdown- oder Konfigurationsdatei — oder füge den Inhalt unten ein.
Der Dateiname
entscheidet mit: impressum.html, datenschutz.html
und RECHTE.md dürfen Anschrift und Mailadresse tragen — das
verlangt § 5 DDG. Freigestellt wird der Pfad, nie der Wert:
sonst schwiege dieselbe Mailadresse auch dort, wo sie versehentlich steht.
Wähle die PDF-Datei, die ausgeliefert werden soll — ein Angebot, ein Datenblatt, eine Anleitung.
Gelesen wird die Datei selbst: Verweise nach außen, eingebettete Aktionen, Anhänge und die Metadaten — dort steht erfahrungsgemäß der Klarname dessen, der das Dokument gesetzt hat, samt Programm und Uhrzeit. Der Text im Dokument wird nicht gedeutet.
Ganze Adresse eintragen, mit
https:// davor. Beispiele:
- — diese Seite hier
Wie beim normalen Aufrufen einer Seite erfährt der Server dabei, dass du sie abrufst — mehr nicht. Der Inhalt bleibt auf deinem Gerät. Manche Server lassen sich von hier aus nicht lesen; das ist eine Sperre des Browsers, keine Entscheidung dieses Werkzeugs. Dann sagt die Seite es und nennt den Weg, der stattdessen geht.
Wähle eine gespeicherte Mail
(.eml) — oder füge sie unten ein.
Wie die Mail hier hereinkommt
- Als Datei sichern und oben auswählen. Im Mail-Programm „Nachricht herunterladen" — dabei bleibt alles erhalten: Kopfzeilen, Anhänge, versteckter Text.
- „Als Anhang weiterleiten" — an dich selbst, dann diese Mail sichern oder einfügen. Die eingepackte Mail bleibt unverändert; der Prüfer packt sie aus und urteilt über sie, nicht über deine Weiterleitung.
- Einfügen. Mail öffnen, „Original anzeigen" oder „Quelltext anzeigen", alles markieren, hier einfügen.
Gewöhnliches Weiterleiten geht auch, ist aber der schwächste Weg: das Mail-Programm baut die Nachricht dabei um, und Absender, Antwortadresse und das Echtheits-Urteil des Servers gehören danach deiner Weiterleitung. Links, Anhänge und versteckter Text werden trotzdem gefunden — und der Prüfer schreibt dazu, was ihm fehlt.
An den Prüfer weiterleiten geht nicht. Diese Seite hat kein Postfach. Sie könnte nur eines haben, wenn die Mail an einen Server ginge — und dann wäre sie nicht mehr auf deinem Gerät.
Geht nichts davon, genügt auch der sichtbare Text — dann fehlen Absender-Prüfung und Anhänge, und der Prüfer sagt es, statt weniger zu prüfen und still zu bleiben.
Das ist keine Virenprüfung. Es gibt hier keine Signaturen und keinen Entpacker. Ein Anhang wird nicht geöffnet — geprüft wird, was er zu sein behauptet: sein Name, seine Endung, sein angegebener Typ. Und nichts von alldem verlässt dein Gerät.
Und das Lesen selbst richtet nichts an. Die Mail wird als Text behandelt, nie als Seite: kein Skript darin läuft, kein Bild wird nachgeladen, kein Link wird angeklickt, kein Zählpixel meldet dem Absender etwas. Im Ergebnis stehen die Zeilen als Text da — nichts davon ist anklickbar. Gespeichert wird nichts.
Für die Frage an eine KI oder an einen Kollegen. Die gefundenen Werte stehen nicht darin — nur Sorte, Zeile und der Rat. Dein Schlüssel bleibt hier.
Was er sucht — und was er nicht kann
Er sucht in einer HTML-Seite nach dem, was vor der Auslieferung nicht drin sein sollte: Adressen, von denen die Seite etwas nachlädt, Reste aus der Bauzeit, Bilder ohne Beschreibung, Links ohne Ziel und eine fehlende Sprachangabe. Jeder Fund kommt mit seiner Zeilennummer.
- Er führt kein JavaScript aus. Was eine Seite erst zur
Laufzeit nachlädt — ein
fetch, ein per Skript eingehängtes<script>— sieht er nicht. Er liest die Datei, nicht die laufende Seite. - Ausgelagerte CSS-Dateien liest er nicht. Ein
url()in einer eigenen.css-Datei bleibt unentdeckt; nur<style>-Blöcke undstyle=""-Attribute in der Seite selbst werden geprüft. - Er bewertet nichts inhaltlich. Ob ein
alt-Text das Bild gut beschreibt, ob ein Link sinnvoll heißt, ob der Text stimmt — das entscheidet ein Mensch. - Fülltext wird zeilenweise gesucht. Ein
placeholder="du@example.com"in einem Formular wird deshalb gemeldet, obwohl er dort genau richtig ist. Diese Seite hier löst ihn selbst aus — in dem Absatz, der ihn erklärt. Die Alternative wäre,example.comganz aus der Liste zu nehmen — dann bliebe ein echter Rest im Fließtext unentdeckt. - Ein
<a href="https://…">ist kein Befund. Dort geht der Besucher weg, wenn er klickt; die Seite holt nichts. An acht echten Seiten gemessen waren 27 von 58 Meldungen genau solche Links — eine Warnung, die man nicht mehr los wird, ist keine Warnung. - Bei einer E-Mail prüft er keine Viren. Kein Anhang wird geöffnet, kein Archiv entpackt, kein Link angeklickt. Er liest, was dasteht: ob der sichtbare Text eines Links woandershin führt als der Link selbst, ob ein Anhang eine Endung trägt, die etwas ausführt, ob Text unsichtbar gemacht wurde und ob darin Anweisungen an ein KI-Programm stehen.
- Eine Mail ist kein Beweis — in keine Richtung. Ein Fund heißt „hier hinsehen", nicht „gefälscht": ein Rundbrief über solche Angriffe enthält dieselben Sätze, und eine echte Mahnung nennt auch eine Frist. Umgekehrt heißt kein Fund nicht, dass die Mail echt ist.
- Fehlen die Kopfzeilen, prüft er weniger. Wer nur den sichtbaren Text einfügt, bekommt keine Absender-Prüfung und keine Anhänge zu sehen. Das steht dann im Ergebnis — ungeprüft ist nicht sauber.
- Der Mail-Eingang hat keine zweite Fassung. Die Prüfung von HTML und Textdateien gibt es zweimal, in Python und im Browser, und eine Probe vergleicht sie gegeneinander. Für E-Mails gibt es diesen Zwilling nicht — hier steht eine Fassung allein.
Gebaut in der Kimhub-Werkstatt (Ideen-Konferenz vom 20. August 2026) und an acht echten Seiten geeicht. Es gibt ihn auch als Python-Werkzeug für die Kommandozeile, mit Rückgabewert für eine Prüfkette — beide Fassungen liefern auf derselben Seite dieselben Befunde, und eine Probe vergleicht sie Zeile für Zeile gegeneinander.