Zum Inhalt springen
biwak

Start

Nachweise

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.

Datenfluss und Zugang
ModellauftragÜber Biwak an den ModellanbieterDazu gehören Eingaben, benötigter Gesprächskontext und verwendete Dateiinhalte.
Lokale WerkzeugeArbeiten auf Ihrem RechnerDateiablage und Sicherungspunkte bleiben lokal; Modellkontext wird für die Bearbeitung übermittelt.
Zugang pro KontoJaBiwak stellt den Modellzugang für angemeldete Nutzer bereit und verwaltet die Zugangsdaten serverseitig.
Nutzung ohne laufendes AboMit 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 AbrechnungKontingente, 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.

Die vier Stufen (apps/studio/src/agent/permission.ts)
Jeder SchrittFragt vor jedem WerkzeugAuch vor dem Lesen. Auf dieser Stufe wird nichts gemerkt — wer jeden Schritt meint, meint jeden.
MerkenFragt bei allem außer NachsehenEine Freigabe darf sich wiederholen, wenn Sie es sagen.
UmkehrbarFragt nur, wo es nicht umkehrbar istSchreiben, Ändern, Löschen im Arbeitsordner laufen durch — der Sicherungspunkt deckt sie.
VollzugriffFragt 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.

Reichweite je Werkzeug — die einzige Eigenschaft, auf die es ankommt
Nachsehenlist_dir · read_file · search_files · web_searchVerändert nichts.
Arbeitsordnerwrite_file · edit_file · delete_fileVom Sicherungspunkt gedeckt.
Darüber hinausrun_command · fetch_urlDer Befehl kann jede Datei des Rechners anfassen, der Abruf trägt Daten nach außen.
Unbekanntes WerkzeugGilt 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 (über echo), CVE-2026-24887 (über find), CVE-2026-25723 (über gepipetes sed) und CVE-2025-66032 mit acht Wegen durch dieselbe Nur-Lese-Liste gesammelt; Cursor CVE-2026-22708 über export; Roo Code, Zed, Gemini CLI und Warp je eigene.
Zusammengetragen im Quelltextkommentar von permission.ts, Stand 11. August 2026

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 -Force und 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.

Eigenschaften, die im Ernstfall zählen (apps/studio/src/agent/snapshot.ts)
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 wirdDer 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ückholenWird selbst zuvor gesichert„Rückgängig“ ist keine Einbahnstraße.
Wie viele Punkte bleiben60 je ArbeitsordnerÄltere fallen heraus, die Objekte werden aufgeräumt.
Grenzen mit Meldung20 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 MeldungEinzeldateien ü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ütztWirkungen 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.

Der Ordner, Zeile für Zeile
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ächeindex.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 ProtokollDer 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öschungOrdner löschen genügtDiese Zeile betrifft lokale Dateien. Konto- und Abrechnungsdaten haben gesonderte Löschwege und Aufbewahrungsfristen.
Verbrauchsdaten für ModellaufträgeFü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“.
Bayerisches Landesamt für Datenschutzaufsicht, Checkliste zum Einsatz von KI

Netzwerk: was der Agent überhaupt erreichen darf

Ausgehende Verbindungen
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 NetzAn den eingestellten Suchdienst, wenn Sie einen eintragenDie Suchanfrage verlässt dabei den Rechner. Abschaltbar: allowWeb in der Konfiguration oder BIWAK_ALLOW_WEB=0.
Seiten abrufenNur 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 istSonst 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 unsModellzugang, Kontodienst und UpdateabrufFür Modellaufträge ist ein Biwak-Konto erforderlich. Zusatzguthaben kann auch ohne laufendes Abo genutzt werden.
Was Ihre Firewall freigeben mussZwei 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.

Der Updateweg
SignaturEd25519 / minisignWird geprüft, bevor ein Paket überhaupt als „bereit“ gelten kann. Tauri lässt diese Prüfung nicht abschalten.
Wo der öffentliche Schlüssel stecktIn der installierten AnwendungKompiliert mit, nicht nachgeladen (apps/desktop/src-tauri/tauri.conf.json). Ein Paket von woanders passt nicht dazu.
Was die Oberfläche darfStatus 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 wirdWenn 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-GateBricht 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 UpdateBleiben 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:

Website & Datenverarbeitung
CookiesNur 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, WerbungAnonyme 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 ServerBeim 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 gespeichertbiwak.site.themeNur, ob Sie Tag oder Nacht gewählt haben. Kein Wert, der Sie wiedererkennt.
FormulareEines, 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.
SicherheitskopfzeilenCSP, 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.
HosterVercel 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.