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
| Wann | Ziel | Daten |
|---|---|---|
| Transkription: Auf dem Gerät (kostenlos) | keins | — |
| Transkription: OpenAI / kompatibel | OpenAI oder Ihre Base URL | Audioabschnitte |
| Modell-Download | Hugging Face | Dateianfrage |
| Ordnen | Ihre Claude Code / Codex CLI oder der LLM-Endpoint, den Sie in organizer festlegen | nur 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 URL | was der Agent sendet: Text des Befunds, „Done when“ sowie BEFORE/AFTER-Screenshots (nur bei Bildmodellen) |
| An Agent senden | der Agent in Ihrem Terminal | eine Anweisung, die auf feedback.md verweist |
| An GitHub senden | GitHub über gh | nur der Text (keine Bilder) |
| Nutzungsanzeige in der Fußzeile (nur Claude Code und Codex) | Anthropic, ChatGPT | Nutzungsabfrage mit Ihrer eigenen Anmeldung |
| Hinweis zum GitHub-Stern | GitHub über Ihr gh | prü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 anlegt | Ihr 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) | Sentry | Stacktrace 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.mdgeschrieben werden. - Von der Seite erfasster Text wird in
feedback.mdals 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
@mentionsjemanden 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.
| Gesendet | Nicht gesendet |
|---|---|
|
|
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)