Was Dinoer nicht hinter Ihrem Rücken tut
Fünf Zusagen, jede mit der Code-Datei, die sie einhält, und mit dem, was sie jeweils nicht abdeckt.
Sie sind dabei, einer Recherchekette Zugriff auf Ihre Zugangsdaten und auf den ausgehenden Verkehr Ihres Rechners zu geben. Hier steht, worauf das beruht, mit der Datei, die jeden Punkt durchsetzt.
Dinoer legt Ihre Zugangsdaten nie in ein Terminal
Sie gehen nie durch Ihre Shell, Ihren Befehlsverlauf oder Dinoers Protokolle: Der Wert wird im Prozess, der den Browser steuert, aus dem verschlüsselten Verzeichnis gelesen, in dem Moment, in dem ein Feld ausgefüllt wird.
→ lib/repertoire_chiffre.py. Wie Zugangsdaten in ein Formular gelangen →
Ein Szenario, das ein Geheimnis im Klartext enthält, wird vor dem Start des
Browsers abgelehnt: ein remplir auf einem Feld, dessen Selektor sensibel
aussieht (password, token, otp, cvv und andere), mit einem anderen
Wert als depuis_secrets, oder ein evaluer-Skript, das ein Token oder einen
Schlüssel mit hoher Entropie enthält.
Was Dinoer schreibt, wird standardmäßig gefiltert: Rückgabewerte von
evaluer, URLs und Fehlermeldungen, die in die Ausgabe oder ins
Betriebsjournal gehen, werden neutralisiert. --no-filtre-evaluer schaltet
das ab, und die Ausgabe sagt es dann (boussole.filtre_evaluer_actif: false).
→ lib/sanitisation.py
Was das nicht abdeckt: Der Agent, der Dinoer steuert, hat seinen eigenen Zugang zu Ihrem Rechner. Mit einem Terminal kann er Ihr eingehängtes Verzeichnis lesen wie jede andere Datei. Dinoer schützt den Weg, den es kontrolliert, nicht einen, den Sie daneben öffnen.
Das Modell, das den Bericht schreibt, bleibt dem Web fern
Bei jedem Aufruf von OpenCode setzt invoquer_opencode() websearch und
webfetch in OPENCODE_CONFIG_CONTENT auf deny, zusammengeführt mit einem
Wert, den Sie bereits gesetzt hatten. Das Verbot gilt also unabhängig davon,
aus welchem Verzeichnis Dinoer gestartet wird; die opencode.jsonc im
Stammverzeichnis des Repositorys sagt dasselbe für einen Start von dort.
Gemessen am 25. September 2026 mit opencode debug config (OpenCode 1.18.32),
gestartet aus /tmp: Mit diesem Wert stehen websearch und webfetch auf
deny, ohne ihn auf allow.
→ lib/modeles.py::invoquer_opencode()
Das Verbot gibt es, weil am 14. August 2026 eine Kampagne das Modell dabei ertappte, wie es beim Schreiben des Berichts zwölf Websuchen startete. Sie waren nur in der Aufzeichnung aller Ereignisse des Modells zu sehen, nicht im zurückgegebenen Text.
Was das nicht abdeckt: bash bleibt erlaubt, weil manche Szenarien das
Modell eine Benachrichtigung mit curl senden lassen. Ein Modell ohne
websearch erreichte bei einem Testlauf das Web über bash curl. Von den
Zusagen auf dieser Seite ist das die einzige unvollständige.
Dinoer meldet, es entscheidet nicht
pret_a_agir: false bedeutet, dass etwas bemerkt wurde: eine WAF-Signatur,
eine Sitzungsabweichung, eine erreichte Navigationsgrenze, JavaScript-Fehler.
Der Lauf geht weiter: Dinoer meldet, Sie entscheiden.
Die WAF-Erkennung arbeitet mit Schlüsselwörtern und kann sich irren. Sie
erscheint als Zähler, nie als Fehler, der die Ausführung abbricht, und
--ignorer-waf gibt es für den Fall, dass Sie nachgesehen haben.
Der Browserkern tut nur, was das Szenario auflistet, mit einer Ausnahme
Jeder Klick, jeder Tastendruck und jede Navigation des Browserkerns ist eine Zeile einer Szenario-Datei, die vor dem Start des Browsers gegen ein Schema geprüft wird.
→ scenarios/schema.json
Die Recherchekette ist anders: campagne.py lässt ein Modell beurteilen, ob
eine Seite eine offene Frage beantwortet oder ob zwei Seiten dasselbe Ereignis
beschreiben. Diese Zusage gilt für den Browserkern, nicht für dieses Urteil.
Sie können alles nachträglich prüfen
Jeder Lauf wird in einem Betriebsjournal festgehalten, das nur ergänzt wird:
was versucht wurde, wo, mit welchem Ergebnis und mit welcher angegebenen
Absicht. journal.py liest es.
→ journal.py, /var/log/dinoer/operations.jsonl
Was Ihren Rechner verlässt
Neben den Abrufen der Seiten selbst können drei Dinge hinausgehen, jedes nach
Ihrer Wahl: die Anfragen an Ihre SearXNG-Instanz, der erfasste Text an das
OpenCode-Modell und eine Benachrichtigung an einen ntfy-Server (ntfy.sh,
sofern Sie keinen anderen angeben). Ihre Zugangsdaten nicht. Die vollständige
Tabelle mit der Datei hinter jeder Zeile steht auf der
Architekturseite.
Was Dinoer nicht behauptet
Es ist nicht vorsichtiger als das Szenario oder das Manifest, das Sie ihm geben. Ein falsches richtet echten Schaden an, in Maschinengeschwindigkeit. Und die Zusage zum Korpus betrifft die Herkunft einer Antwort, nicht die Frage, ob die Frage die richtige war.