Referenz

Daten und Datenschutz

Reviews liegen in Ihrem Projektordner. Einstellungen liegen in ~/.ferret/, Schlüssel und Konten im Benutzerdatenordner des Betriebssystems. Nur Absturzberichte erreichen den Entwickler, über Sentry, und Sie können sie abschalten. Feedback, das Sie bewusst aus der App senden, wird zu einem öffentlichen GitHub-Issue.

#Inhalt von .ferret/reviews/

<project>/.ferret/reviews/20261003-104500/
├── feedback.md      # what the agent reads
├── 01.png, 02.png…  # one or more images per finding
├── session.json     # review state and edit history
├── events.jsonl     # action log (built-in browser only)
├── recording.webm   # the video
└── work/            # intermediate audio and frames

Reviews, die vor der Umbenennung erstellt wurden, liegen in .ade-movie/reviews/. Sie werden weiterhin aufgelistet und geöffnet, neue Reviews landen in .ferret/reviews/.

Beim Start einer Aufnahme wird .ferret/ an .git/info/exclude angehängt. Worktrees und Submodule werden berücksichtigt. .gitignore wird nie verändert. Ein unterbrochenes Review lässt sich aus dem Verlauf wiederherstellen, sofern seine Daten erhalten geblieben sind. Die App weist dann darauf hin, dass die letzten Sekunden fehlen können.

#Aufbewahrung

Aufnahmen behalten (standardmäßig 7 Tage, 30 Tage oder Für immer): Beim Start verlieren abgeschlossene Reviews, die älter sind, recording.webm und work/. feedback.md und die Bilder der Befunde bleiben erhalten. Unvollständige Reviews werden nie bereinigt. Die Bereinigung läuft beim Start der App, und zwar für das zuletzt geöffnete Projekt.

#Was Ihren Rechner verlässt

WannZielDaten
Transkription: Auf dem Gerät (kostenlos)keins—
Transkription: OpenAI / kompatibelOpenAI oder Ihre Base URLAudioabschnitte
Modell-DownloadHugging FaceDateianfrage
OrdnenIhre Claude Code / Codex CLI oder der LLM-Endpoint, den Sie in organizer festlegennur Text und Aktionsprotokoll (keine Bilder, kein Audio, kein Video)
Abnahmeprüfung (Entscheidungsmodell, standardmäßig aus)Ihr Agent, über das lokale Relay, an Ollama / Cloudflare / AI Gateway / TypeSafe / Ihre URLwas der Agent sendet: Text des Befunds, „Done when“ sowie BEFORE/AFTER-Screenshots (nur bei Bildmodellen)
An Agent sendender Agent in Ihrem Terminaleine Anweisung, die auf feedback.md verweist
An GitHub sendenGitHub über ghnur der Text (keine Bilder)
Nutzungsanzeige in der Fußzeile (nur Claude Code und Codex)Anthropic, ChatGPTNutzungsabfrage mit Ihrer eigenen Anmeldung
Hinweis zum GitHub-SternGitHub über Ihr ghprüft, ob Sie dem Repository einen Stern gegeben haben, und vergibt ihn nur, wenn Sie auf Stern auf GitHub geben klicken
Nach Updates suchen (manuell)Download-Server (Cloudflare R2)Anfrage nach latest.json
Feedback aus der App senden (nur wenn Sie es senden; in Kürze verfügbar)das Feedback-Relay des Entwicklers (ein Cloudflare Worker), das ein öffentliches Issue in JapanMarketing-Dev/ferret anlegtIhr Text, Fehler oder Idee, App- / OS-Version und CPU sowie bis zu 3 angehängte Screenshots. Schlüssel, Tokens, E-Mail-Adressen und Pfade im Home-Ordner werden maskiert. Das Relay speichert Ihre IP-Adresse nicht (siehe Feedback aus der App)
Ein Absturz oder Fehler (Absturzberichte senden an)SentryStacktrace und OS- / CPU- / App-Versionen (siehe Absturzberichte)
  • Die App enthält keine Analytics, kein Performance-Tracing und kein Session-Replay. Das Einzige, was sie ohne Ihr Zutun sendet, sind Absturzberichte: Fehler, eine Sitzung pro Start sowie Warnungen zu langsamem Start und Hängern. All das ist unten beschrieben und wird vollständig über Absturzberichte senden gesteuert.
  • Werte in URLs, die nach Geheimnissen aussehen (Tokens, Schlüssel), werden unkenntlich gemacht, bevor sie in feedback.md geschrieben werden.
  • Von der Seite erfasster Text wird in feedback.md als Daten gekennzeichnet, damit der Agent angewiesen ist, darin enthaltenen Anweisungen nicht zu folgen.
  • Diese Website (nicht die App) zählt Seitenaufrufe mit Cloudflare Web Analytics: ohne Cookies, ohne seitenübergreifendes Tracking und ohne personenbezogene Daten.

#Feedback aus der App

In Kürze verfügbar

Das Feedback-Formular in der App und sein Relay sind noch nicht veröffentlicht. Dieser Abschnitt beschreibt, wie sie funktionieren werden.

Sie werden einen Fehlerbericht oder eine Idee direkt aus Ferret senden können, ohne GitHub-Konto. Gesendet wird nur, wenn Sie es selbst absenden, und daraus wird ein öffentliches Issue in JapanMarketing-Dev/ferret (öffnet in einem neuen Tab) mit dem Label from-app. Schreiben Sie nichts hinein, was Sie nicht öffentlich posten würden.

  • Die App sendet es von Ihrem Computer an ein kleines Relay (einen vom Entwickler betriebenen Cloudflare Worker), das das Issue mit einem eigenen GitHub-Token anlegt. Dieses Relay ist der einzige Server des Entwicklers, der irgendetwas von dem erhält, was Sie schreiben.
  • Gesendet werden: Ihr Titel und Text, ob es ein Fehler oder eine Idee ist, die App-Version und bis zu 3 angehängte PNG- oder JPEG-Screenshots. Name und Version des Betriebssystems, CPU-Architektur und die zufällige Installations-ID werden nur gesendet, wenn Sie sie eingeschlossen lassen. Nicht gesendet werden: Ihr Name, Ihre E-Mail-Adresse, Ihr GitHub-Konto, Projektdateien, Aufnahmen oder Befunde.
  • Bevor das Issue angelegt wird, maskiert das Relay Text, der wie Schlüssel oder Tokens aussieht, E-Mail-Adressen und den Benutzernamen in Pfaden im Home-Ordner, und verhindert, dass @mentions jemanden benachrichtigen. Außerdem entfernt es Standort- und andere Metadaten aus Screenshots. Prüfen Sie Ihren Text trotzdem: Die Maskierung kann nicht alles erkennen.
  • Das Relay speichert Ihre IP-Adresse nicht. Um zu begrenzen, wie oft ein Absender posten kann (5 pro Stunde, 20 pro Tag), zählt es einen mit geheimem Schlüssel gebildeten Hash (Keyed Hash) der IP-Adresse (und der Installations-ID, falls gesendet) für bis zu 24 Stunden und löscht ihn dann. Keines von beiden erscheint im Issue.
  • Screenshots bewahrt das Relay unter nicht erratbaren Namen in Cloudflare R2 auf und zeigt sie im Issue an. Wenn ein Issue oder seine Screenshots entfernt werden sollen, kommentieren Sie das Issue oder eröffnen Sie ein neues.
  • Der Code des Relays liegt im Repository unter workers/feedback-relay.

#Absturzberichte

Wenn die App abstürzt oder auf einen unbehandelten Fehler stößt, sendet Ferret einen Absturzbericht an Sentry (öffnet in einem neuen Tab), damit der Fehler behoben werden kann. Das ist standardmäßig eingeschaltet. Schalten Sie es unter Einstellungen → Datenschutz → Absturzberichte senden aus oder mit Ausschalten im Hinweis beim ersten Start. Das Ausschalten wirkt sofort, das erneute Einschalten ab dem nächsten Start. Entwicklungs-Builds (pnpm dev) senden ebenfalls, mit dem Tag development, damit die Entwickler Abstürze beheben können, auf die sie bei der Arbeit stoßen. E2E-Läufe und Unit-Tests senden nie.

GesendetNicht gesendet
  • Fehlertyp und Fehlermeldung, wobei Pfade im Home-Ordner als ~ erscheinen
  • Stacktrace (wo in Ferrets Code der Fehler auftrat)
  • Bei nativen Abstürzen: nur welcher Prozess abgestürzt ist, warum er beendet wurde (zum Beispiel crashed oder oom) und die App-Version
  • Name und Version des Betriebssystems, CPU-Architektur, Electron- / Chrome- / Node-Versionen, App-Version, Bildschirmgröße, Arbeitsspeichergröße
  • Lebenszyklus-Ereignisse der App unmittelbar vor dem Fehler (zum Beispiel app.ready) sowie Fehler beim Start
  • Welcher Teil der App fehlgeschlagen ist: ein Bildschirmbereich, der nicht gerendert werden konnte (samt seiner React-Komponentennamen), ein IPC-Aufruf, ein Terminal, das nicht starten konnte, ein abgestürzter oder hängender Prozess oder eine Seite der App, die nicht geladen werden konnte
  • Wo Sie sich in der App befanden: Editor- oder Feedback-Modus, der geöffnete Tab (Browser, Befunde, Einstellungen oder nur file) und ob gerade eine Aufnahme lief
  • Eine Sitzung pro Start (gestartet, normal beendet oder abgestürzt), damit sich die absturzfreie Rate jeder Version messen lässt
  • Eine zufällige Installations-ID (beim ersten Start erzeugt und im Einstellungsordner der App gespeichert), damit sich die Zahl der betroffenen Installationen zählen lässt. Sie ist nicht mit Ihrem Namen, Ihrer E-Mail-Adresse oder Ihrem Gerät verknüpft
  • Nur bei JavaScript-Abstürzen: die letzten 50 Zeilen von Ferrets eigenem Log (etwa [startup] und [recording]), gekürzt und ohne Pfade, URLs, E-Mail-Adressen und Schlüssel
  • Der Pfad Ihres Projektordners und Dateinamen (ersetzt durch <project>)
  • Im integrierten Browser geöffnete URLs und alle anderen Webadressen (ersetzt durch <url>)
  • Terminalausgaben, Transkripte, Befunde, Seitentext, Screenshots
  • E-Mail-Adressen sowie API-Schlüssel oder Tokens (ersetzt)
  • Ihr Name, Gerätename, IP-Adresse (wird nicht gespeichert), Cookies, lokale Variablen
  • Speicherabbilder nativer Abstürze (Minidumps). Sie können alles enthalten, was im Speicher war, und bleiben daher auf Ihrem Computer
  • Klicks, Netzwerkanfragen und jede Logzeile, die nicht von Ferret selbst stammt

Die installierte App sendet höchstens 10 Berichte pro Start und nur die Hälfte der JavaScript-Fehler (native Abstürze werden immer gesendet). Entwicklungs-Builds senden jeden Fehler, bis zu 50 pro Start. Derselbe Fehler wird pro Start nur einmal gesendet. Langsame Starts (über 5 Sekunden) und längere Hänger der App (über 1 Sekunde) werden als Warnungen gesendet, höchstens einmal alle 10 Minuten. Performance-Tracing und Session-Replay werden nicht verwendet. Die App nutzt den kostenlosen Plan von Sentry. Ist dieser ausgeschöpft, werden weitere Berichte verworfen, und niemandem entstehen Kosten.

Sie bauen Ferret selbst? Setzen Sie FERRET_SENTRY_DSN (der alte Name MOVIE_ADE_SENTRY_DSN funktioniert ebenfalls) auf Ihren eigenen Sentry-DSN oder auf einen leeren String, um nichts zu senden. Der Code liegt in src/main/telemetry.ts und src/shared/telemetry.ts.

Bei der Übersetzung dieser Seite auf GitHub helfen (öffnet in einem neuen Tab)