Jede Zusage mit der Stelle, an der sie durchgesetzt wird.
Stand 6. September 2026 · 9 Minuten Lesezeit
Diese Seite ist für die Prüfung geschrieben, nicht für den ersten Eindruck. Sie ist lang, tabellarisch und stellenweise unbequem. Zu jeder Zusage steht die Datei, in der sie durchgesetzt wird — nicht, damit es technisch klingt, sondern damit die Angabe prüfbar ist: Eine Regel, die nur in einem Werbetext steht, ist keine Regel.
Lokale Werkzeuge und Biwak-Modellzugang
Lokale Werkzeuge arbeiten auf Ihrem Rechner. Für Modellaufträge werden Ihre Frage, benötigter Gesprächskontext und verwendete Dateiinhalte über Biwak an das Modell übermittelt. Modellaufträge laufen angemeldet über Biwak an den eingesetzten Modellanbieter. Biwak verwaltet den Zugang für Ihr Konto. Verfügbares Tarifkontingent oder Zusatzguthaben wird dabei berücksichtigt.
| Modellauftrag | Über Biwak an den ModellanbieterDazu gehören Eingaben, benötigter Gesprächskontext und verwendete Dateiinhalte. |
|---|---|
| Lokale Werkzeuge | Arbeiten auf Ihrem RechnerDateiablage und Sicherungspunkte bleiben lokal; Modellkontext wird für die Bearbeitung übermittelt. |
| Zugang pro Konto | JaBiwak stellt den Modellzugang für angemeldete Nutzer bereit und verwaltet die Zugangsdaten serverseitig. |
| Nutzung ohne laufendes Abo | Mit verfügbarem ZusatzguthabenAuch ohne aktiven Tarif erfolgt die Nutzung über das Biwak-Konto; verfügbares Guthaben und die Freigabe seiner Nutzung sind maßgeblich. |
| Konto und Abrechnung | Kontingente, Guthaben und BelegeBiwak verarbeitet Konto- und Verbrauchsdaten für Zugang, Kontingente und Abrechnung. |
Die lokale App ersetzt keine Prüfung der Datenflüsse und erforderlichen Vereinbarungen. Berücksichtigen Sie Biwak und die eingesetzten Modellanbieter; Datenschutz, Berufsgeheimnis und mögliche Drittlandübermittlungen sind anhand des konkreten Einsatzes zu prüfen.
Freigabe-Stufen: vier, und die Grenze liegt nicht willkürlich
Wie viel Biwak allein darf, entscheiden Sie in vier Stufen. Sie sind ineinander geschachtelt: Was auf einer Stufe ohne Rückfrage läuft, läuft auf jeder höheren auch. Eine Stufe kann Sie also nie damit überraschen, dass sie etwas verbietet, was die vorige erlaubt hat.
| Jeder Schritt | Fragt vor jedem WerkzeugAuch vor dem Lesen. Auf dieser Stufe wird nichts gemerkt — wer jeden Schritt meint, meint jeden. |
|---|---|
| Merken | Fragt bei allem außer NachsehenEine Freigabe darf sich wiederholen, wenn Sie es sagen. |
| Umkehrbar | Fragt nur, wo es nicht umkehrbar istSchreiben, Ändern, Löschen im Arbeitsordner laufen durch — der Sicherungspunkt deckt sie. |
| Vollzugriff | Fragt nieEine bewusste Wahl, sichtbar in der Oberfläche. Nicht der Auslieferungszustand. |
Die Trennlinie zwischen den mittleren Stufen ist nicht erfunden, sondern im Produkt schon vorhanden: Vor jedem Auftrag friert der Sicherungspunkt den Arbeitsordner ein. Was er zurückholen kann — lesen, schreiben, ändern, löschen —, ist umkehrbar. Was darüber hinausgeht — ein Shell-Befehl auf dem ganzen Rechner, ein Abruf, der Daten nach außen trägt — ist es nicht. Genau dort verläuft die Grenze.
| Nachsehen | list_dir · read_file · search_files · web_searchVerändert nichts. |
|---|---|
| Arbeitsordner | write_file · edit_file · delete_fileVom Sicherungspunkt gedeckt. |
| Darüber hinaus | run_command · fetch_urlDer Befehl kann jede Datei des Rechners anfassen, der Abruf trägt Daten nach außen. |
| Unbekanntes Werkzeug | Gilt als das weitestreichendeFail closed. Ein Werkzeug, das die Tabelle nicht kennt, fragt. |
Und die Prüfung sitzt im Ausführungspfad, nicht im Systemprompt. Das ist keine Feinheit: Beim Replit-Vorfall im Juli 2025 löschte ein Agent während eines ausdrücklichen Änderungsstopps eine Produktionsdatenbank — der Stopp stand nur in der Anweisung, nichts im Ausführungspfad setzte ihn durch.
Woran sich eine Freigabe erinnert — und warum sie so wenig lernt
„Diesen Befehl künftig erlauben“ ist die gefährlichste Stelle in einem Agentenwerkzeug. Das Freigeben von Shell-Befehlen über Präfixe oder Muster ist das CVE-dichteste Muster im ganzen Ökosystem, weil die Shell den Befehl erst zerlegt, nachdem die Prüfung ihn gesehen hat.
Für dieses eine Muster hat Claude Code CVE-2025-54795 (überecho), CVE-2026-24887 (überfind), CVE-2026-25723 (über gepipetessed) und CVE-2025-66032 mit acht Wegen durch dieselbe Nur-Lese-Liste gesammelt; Cursor CVE-2026-22708 überexport; Roo Code, Zed, Gemini CLI und Warp je eigene.
Biwak hat keinen Shell-Parser und soll keinen bekommen. Der Ausweg ist, das Problem nicht zu haben: Gemerkt wird ausschließlich ein Befehl ohne jedes Shell-Sonderzeichen, und gemerkt wird er Wort für Wort. Kein Präfix, kein Muster, keine Wildcard. Der Preis ist, dass bun test und bun test --watch zwei Freigaben sind. Das ist der richtige Preis.
- Ein Sonderzeichen im Befehl — und er wird jedes Mal erneut gefragt. Dazu gehört
^, weil das unter Windows das Fluchtzeichen ist:de^l /s /q C:liest sich für einen Menschen wie nichts. - Eine Zuweisung an die Umgebung (
FOO=bar befehl) ist keine Gewohnheit und wird nicht gemerkt. - Länger als 200 Zeichen: kommt nicht aus einer Gewohnheit, sondern aus einem Skript. Wird nicht gemerkt.
- Löschungen, die einen ganzen Baum mitnehmen, bleiben eine bewusste Entscheidung, jedes Mal —
rm -rf /,del /s /q,format,Remove-Item -Recurse -Forceund ihre Geschwister. - Ein Abruf wird je Gegenstelle gemerkt, nicht je Adresse. Wer eine Seite erlaubt, hat den Rechner dahinter erlaubt, nicht das Internet.
Der Sicherungspunkt: das ganze Zelt, nicht die gemeldeten Ecken
Bevor ein Auftrag etwas anfasst, wird der komplette Arbeitsordner in einen inhaltsadressierten Speicher geschrieben — und danach exakt so zurückholbar, wie er war.
| Wo der Speicher liegt | ~/.biwak/safetyNiemals im Arbeitsordner. Kann nicht mit Ihrem Git kollidieren, nicht in einen Commit geraten und übersteht ein rm -rf im Ordner. |
|---|---|
| Was erfasst wird | Der ganze OrdnerNicht nur, was ein Werkzeug gemeldet hat. Ein Befehl, der Dateien verschiebt oder löscht, wäre sonst unsichtbar — und genau das kann hinterher niemand von Hand richten. |
| Zurückholen | Wird selbst zuvor gesichert„Rückgängig“ ist keine Einbahnstraße. |
| Wie viele Punkte bleiben | 60 je ArbeitsordnerÄltere fallen heraus, die Objekte werden aufgeräumt. |
| Grenzen mit Meldung | 20 000 Dateien · 400 MB gesamtWird eine davon erreicht, sagt der Punkt es: „Gesichert wurde nur ein Teil.“ Ein halber Sicherungspunkt, von dem man weiß, ist brauchbar — einer, von dem man nichts weiß, nicht. |
| Grenzen ohne Meldung | Einzeldateien über 12 MB · Ordner tiefer als 24 EbenenBeides wird übergangen, ohne dass es im Punkt vermerkt ist. Bei großen Binärdateien ist das gewollt (versionieren lohnt nicht), aber es steht hier, weil es der Unterschied zwischen „ganzer Ordner“ und „fast ganzer Ordner“ ist. |
| Wovon er nicht schützt | Wirkungen außerhalb des OrdnersEine versandte Mail, ein Datenbankschreibvorgang, eine Datei jenseits des Ordners. Deshalb fragen run_command und fetch_url. |
Speicherung: was auf Ihrem Rechner liegt, und in welcher Form
Alles, was Biwak auf dieser Maschine besitzt, liegt unter einem Ordner — damit man ihn sichern, ansehen und in einem Zug löschen kann. Unter Windows ist es %APPDATA%\biwak, sonst ~/.biwak.
| Gespräche | ~/.biwak/sessions — eine JSONL-Datei je UnterhaltungAnfügend geschrieben, in Datumsordnern. Reiner Text: mit jedem Editor lesbar, ohne uns und ohne Programm. |
|---|---|
| Übersicht der Gespräche | index.jsonl, jederzeit neu berechenbarNie von Hand gepflegt. Wegwerfen und neu bauen ist erlaubt — deshalb bleibt ein schnellerer Index später ein Dateitausch und keine Migration. |
| Sicherungspunkte | ~/.biwak/safety |
| Protokoll | ~/.biwak/logs — eine Zeile JSON je EreignisDas Werkzeugprotokoll liegt lokal. Konto- und Verbrauchsdaten für den Modellzugang werden davon getrennt serverseitig verarbeitet. |
| Lokale Einstellungen | ~/.biwak/config.jsonAußerhalb des Programmpakets. Ein Update ersetzt das Programm, nicht die Arbeit. |
| Geheimnisse im Protokoll | Der Wert wird ersetzt, nicht gekürztBei Feldnamen mit key, token, secret, password, authorization, cookie oder apikey steht «geheim» statt des Inhalts — in der Datei wie auf der Konsole. Der Feldname bleibt sichtbar, damit man liest, dass dort etwas war (apps/studio/src/log.ts). |
| Löschung | Ordner löschen genügtDiese Zeile betrifft lokale Dateien. Konto- und Abrechnungsdaten haben gesonderte Löschwege und Aufbewahrungsfristen. |
| Verbrauchsdaten für Modellaufträge | Für Zugang und AbrechnungFür Kontingente und Abrechnung wird Verbrauch erfasst. Die Belege sind im Konto einsehbar. |
Das lokale Protokoll ist übrigens kein Beiwerk, sondern ein Nachweis, den Aufsichtsbehörden ausdrücklich sehen wollen — mit Zeitstempeln für Ein- und Ausgabedaten. Es liegt nur eben bei Ihnen und nicht bei uns.
Das BayLDA verlangt in seiner KI-Checkliste, den Einsatz von KI-Anwendungen „zum Nachweis einer angemessenen Risikoeindämmung zu protokollieren“.
Netzwerk: was der Agent überhaupt erreichen darf
| Zum Modell | Über den Biwak-Modellzugang, nicht direktDer Auftrag geht an tzvzuholjaulfzgpdeqz.supabase.co (Supabase, Frankfurt am Main) und von dort an den Modellanbieter. Ein eigener Modell-Endpunkt wird nicht mehr eingerichtet. |
|---|---|
| Suche im Netz | An den eingestellten Suchdienst, wenn Sie einen eintragenDie Suchanfrage verlässt dabei den Rechner. Abschaltbar: allowWeb in der Konfiguration oder BIWAK_ALLOW_WEB=0. |
| Seiten abrufen | Nur nach Rückfrage, und nur ins öffentliche NetzVor jedem Abruf wird der Rechnername aufgelöst und alles abgewiesen, was ins lokale Netz zeigt (apps/studio/src/agent/web-fetch.ts). |
| Warum diese Prüfung nötig ist | Sonst liest das Modell Ihr eigenes NetzEine Seite, die es lesen soll, könnte es auf http://localhost:4319/api/settings oder die Weboberfläche eines Routers schicken — das Modell weiß nicht, welche Adressen Ihre sind. |
| Zu uns | Modellzugang, Kontodienst und UpdateabrufFür Modellaufträge ist ein Biwak-Konto erforderlich. Zusatzguthaben kann auch ohne laufendes Abo genutzt werden. |
| Was Ihre Firewall freigeben muss | Zwei im Betrieb, zwei für Datei und Updateswww.biwak.ai (Anmeldung, Konto, Update-Prüfung), tzvzuholjaulfzgpdeqz.supabase.co (Modellzugang), github.com und release-assets.githubusercontent.com (Installationsdatei und Update-Pakete — die Update-Prüfung selbst läuft über www.biwak.ai, das Paket liegt am Release). |
Updates: signiert, im Rust-Kern geprüft, nicht abschaltbar
Ein Aktualisierungsweg ist der bequemste Weg, einem Werkzeug etwas unterzuschieben. Deshalb liegt die Prüfung nicht in der Oberfläche.
| Signatur | Ed25519 / minisignWird geprüft, bevor ein Paket überhaupt als „bereit“ gelten kann. Tauri lässt diese Prüfung nicht abschalten. |
|---|---|
| Wo der öffentliche Schlüssel steckt | In der installierten AnwendungKompiliert mit, nicht nachgeladen (apps/desktop/src-tauri/tauri.conf.json). Ein Paket von woanders passt nicht dazu. |
| Was die Oberfläche darf | Status ansehen, prüfen, installierenDrei Befehle, aufgezählt in capabilities/updater.json. Download und Signaturprüfung bleiben im Rust-Kern; ein direkter Zugriff auf das Updater-Plugin ist nicht freigeschaltet. |
| Wann eingesetzt wird | Wenn Sie „Neu starten“ wählenWährend ein Auftrag läuft, bleibt der Knopf gesperrt und nennt den Grund. Ein ungesendeter Text wird gespeichert und danach einmalig wiederhergestellt. |
| Release-Gate | Bricht geschlossen abFehlt der Updater-Schlüssel, die Apple-Developer-ID oder das Windows-Zertifikat, entsteht kein Release. Aus genau drei signierten Artefakten wird die Versionsdatei. |
| Ihre Daten beim Update | Bleiben außerhalb des ProgrammpaketsSitzungen, Konfiguration und Schlüssel überleben Update und Neuinstallation. |
Diese Website
Eine Seite, die mit Datensparsamkeit wirbt und dabei drei Zählpixel setzt, widerlegt sich selbst. Der geprüfte Zustand des Quelltextes:
| Cookies | Nur für die AnmeldungDie öffentlichen Seiten setzen keines. Wer sich anmeldet, bekommt ein Sitzungscookie — __Host-biwak_sitzung, HttpOnly, Secure, SameSite; ohne das gäbe es keine Anmeldung. Kein Analyse-, Werbe- oder Wiedererkennungscookie (packages/konto/src/kern/sitzung.ts). |
|---|---|
| Analyse, Statistik, Werbung | Anonyme SeitenstatistikVercel Web Analytics zählt Seitenaufrufe ohne Cookies und ohne Werbeprofil. Ergänzend werden vorhandene Protokolldateien ohne IP-Adresse und Browserkennung zusammengefasst (apps/site/messung.ts). |
| Fremde Server | Beim Laden dieser Seiten keineKeine Karten und keine sozialen Netzwerke; Schriften liegen lokal. Vercel liefert die Website und die anonyme Seitenstatistik aus. Wohin Anmeldung und Zahlung führen, steht in der Datenschutzerklärung. |
| Im Browser gespeichert | biwak.site.themeNur, ob Sie Tag oder Nacht gewählt haben. Kein Wert, der Sie wiedererkennt. |
| Formulare | Eines, für die VormerkungE-Mail-Adresse und Ihre Wahl, an unseren eigenen Endpunkt — kein Formulardienst, kein eingebetteter Kalender, kein Skript von anderswo (apps/site/vormerken.ts). Auf dieser Seite steht keines, und die Kopfzeile form-action erlaubt ein Ziel nur dort, wo eines gebraucht wird. |
| Sicherheitskopfzeilen | CSP, HSTS, nosniff, no-referrer, DENYdefault-src 'self'; frame-ancestors 'none'; base-uri 'none'; object-src 'none'. Skripte und Stile kommen aus eigener Herkunft, inline erlaubt. Die vollständige Zeile steht in vercel.json. |
| Meldeweg für Funde | /.well-known/security.txtNach RFC 9116, beim Bauen erzeugt statt abgelegt: Das Pflichtfeld „Expires“ läuft in einer Datei irgendwann ab, ohne dass es auffällt. Erzeugt läuft es nie ab, solange gebaut wird. |
| Hoster | Vercel Inc., USAAuftragsverarbeiter nach Art. 28 DSGVO, Standardvertragsklauseln nach Art. 46. Einzelheiten in der Datenschutzerklärung. |
Meldeweg für Sicherheitsfunde: security.txtUNTERLAGEN
Fehlt Ihrer IT eine Angabe? Schreiben Sie an kontakt@biwak.ai — schriftliche Antwort, ohne Formular.PRÜFUNG
Was sonst gefragt wird
Können Sie mitlesen, was ich mit Biwak tue?
Lokale Werkzeuge arbeiten auf Ihrem Rechner. Für Modellaufträge werden Ihre Frage, benötigter Gesprächskontext und verwendete Dateiinhalte über Biwak an das Modell übermittelt. Die lokale Gesprächsablage ist von Konto- und Verbrauchsdaten sowie der Verarbeitung durch Modellanbieter zu unterscheiden.
Was passiert, wenn der Agent einen Befehl ausführt, den ich nicht wollte?
Vor jedem Auftrag friert ein Sicherungspunkt den ganzen Arbeitsordner ein, nicht nur die Dateien, die ein Werkzeug gemeldet hat. Zurückholen ist ein Knopf, und das Zurückholen wird selbst zuvor gesichert. Was ein Sicherungspunkt nicht abdeckt, sind Wirkungen außerhalb des Ordners — ein Shell-Befehl auf dem ganzen Rechner, ein Abruf, der Daten nach außen trägt. Genau dort verläuft die Grenze der Stufe „umkehrbar“.
Sind Sie zertifiziert?
Nein. Wir sagen weder eine ISO-27001-Zertifizierung noch ein BSI-C5-Testat zu. Lokale Ausführung allein belegt keine Sicherheit des gesamten Modellzugangs.
Brauchen wir einen Auftragsverarbeitungsvertrag mit Ihnen?
Das hängt vom Einsatz ab und ist vor dem Einsatz zu klären. Berücksichtigen Sie dabei Biwak und die eingesetzten Modellanbieter; Datenschutz, Berufsgeheimnis und mögliche Drittlandübermittlungen sind am konkreten Fall zu prüfen. Die Unterlagen dafür bekommen Sie auf Anfrage unter kontakt@biwak.ai. Diese Seite ist eine Beschreibung, keine Freigabe.
Wie prüfe ich das alles nach?
Zu jeder Zeile dieser Seite steht die Datei, in der sie durchgesetzt wird. In einer Vorführung öffnen wir sie; auf Anfrage schicken wir den Auszug schriftlich, ohne Formular. Fehlt Ihrer IT eine Angabe, schreiben Sie an kontakt@biwak.ai — die Antwort kommt so, dass Sie sie weiterreichen können.
Woran erkenne ich, dass ein Update von Ihnen stammt?
Jedes Update-Paket ist signiert, und der öffentliche Schlüssel steckt kompiliert in der installierten Anwendung. Der Rust-Kern prüft die Signatur, bevor ein Paket überhaupt als „bereit“ gelten kann; die Oberfläche kann diese Prüfung nicht umgehen und nicht abschalten.