Справочник

Данные и конфиденциальность

Ревью хранятся в папке вашего проекта. Настройки — в ~/.ferret/, а ключи и аккаунты — в папке пользовательских данных ОС. Разработчику попадают только отчёты о сбоях, через Sentry, и их можно отключить. Отзыв, который вы сами решите отправить из приложения, становится публичным issue на GitHub.

#Содержимое .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

Ревью, созданные до переименования, хранятся в .ade-movie/reviews/. Они по-прежнему показываются в списке и открываются, а новые ревью сохраняются в .ferret/reviews/.

При начале записи .ferret/ добавляется в .git/info/exclude. Worktree и подмодули учитываются. .gitignore никогда не изменяется. Прерванное ревью можно восстановить из истории, если его записи сохранились. В этом случае приложение предупредит, что последние секунды могут отсутствовать.

#Срок хранения

Хранить записи (по умолчанию 7 дней, 30 дней или Всегда): при запуске у завершённых ревью старше этого срока удаляются recording.webm и work/. feedback.md и изображения замечаний сохраняются. Незавершённые ревью никогда не очищаются. Очистка выполняется при запуске, для последнего открытого проекта.

#Что покидает ваш компьютер

КогдаКудаДанные
Распознавание: На устройстве (бесплатно)никуда—
Распознавание: OpenAI / совместимыйOpenAI или ваш Base URLфрагменты аудио
Скачивание моделиHugging Faceзапрос файла
Обработатьваш CLI Claude Code / Codex или LLM-эндпоинт, заданный в organizerтолько текст и журнал действий (без изображений, аудио и видео)
Проверка приёмки (модель решений, по умолчанию выключена)ваш агент — через локальный релей — в Ollama / Cloudflare / AI Gateway / TypeSafe / ваш URLто, что отправляет агент: текст замечания, «Готово, когда» и скриншоты ДО/ПОСЛЕ (только для моделей с изображениями)
Отправить агентуагент в вашем терминалеодна инструкция со ссылкой на feedback.md
Отправить в GitHubGitHub через ghтолько текст (без изображений)
Использование в нижней панели (только Claude Code и Codex)Anthropic, ChatGPTзапрос использования с вашим собственным входом
Предложение поставить звезду на GitHubGitHub через ваш ghпроверяет, поставили ли вы звезду репозиторию, и ставит её, только если вы нажмёте Поставить звезду
Проверить обновления (вручную)сервер загрузки (Cloudflare R2)запрос latest.json
Отправка отзыва из приложения (только когда вы его отправляете; скоро появится)релей отзывов разработчика (Cloudflare Worker), который создаёт публичный issue в JapanMarketing-Dev/ferretваш текст, тип (ошибка или идея), версия приложения / ОС и процессор, а также до 3 приложенных вами скриншотов. Ключи, токены, адреса электронной почты и пути к домашней папке маскируются. Релей не хранит ваш IP-адрес (см. Отзывы из приложения)
Сбой или ошибка (включено Отправлять отчёты о сбоях)Sentryтрассировка стека и версии ОС / процессора / приложения (см. Отчёты о сбоях)
  • В приложении нет аналитики, трассировки производительности и записи сеансов (session replay). Единственное, что оно отправляет без вашего запроса, — отчёты о сбоях: ошибки, один сеанс на запуск и предупреждения о медленном запуске и зависаниях. Всё это описано ниже и управляется параметром Отправлять отчёты о сбоях.
  • Похожие на секреты значения в URL (токены, ключи) скрываются перед записью в feedback.md.
  • Текст, взятый со страницы, помечается в feedback.md как данные, поэтому агенту указывается не выполнять найденные в нём инструкции.
  • Этот сайт (не приложение) считает просмотры страниц с помощью Cloudflare Web Analytics: без cookie, без межсайтового отслеживания и без персональных данных.

#Отзывы из приложения

Скоро

Форма отзыва в приложении и её релей ещё не выпущены. В этом разделе описано, как они будут работать.

Вы сможете отправить сообщение об ошибке или идею прямо из Ferret без аккаунта GitHub. Отзыв отправляется только тогда, когда вы его отправляете, и становится публичным issue в JapanMarketing-Dev/ferret (откроется в новой вкладке) с меткой from-app. Не включайте ничего, что вы не стали бы публиковать открыто.

  • Приложение отправляет отзыв с вашего компьютера на небольшой релей (Cloudflare Worker, который поддерживает разработчик), и тот создаёт issue со своим токеном GitHub. Этот релей — единственный сервер разработчика, который получает что-либо написанное вами.
  • Отправляется: ваш заголовок и текст, тип (ошибка или идея), версия приложения и до 3 приложенных вами скриншотов PNG или JPEG. Название и версия ОС, архитектура процессора и случайный идентификатор установки отправляются, только если вы оставите их включёнными. Не отправляются: ваше имя, адрес электронной почты, аккаунт GitHub, файлы проекта, записи и замечания.
  • Перед созданием issue релей маскирует текст, похожий на ключи или токены, адреса электронной почты и имя пользователя в путях к домашней папке, а также не даёт @mentions никого уведомить. Кроме того, он удаляет из скриншотов геоданные и другие метаданные. Всё равно проверьте свой текст: маскирование не может поймать всё.
  • Релей не хранит ваш IP-адрес. Чтобы ограничить частоту отправки от одного отправителя (5 в час, 20 в день), он учитывает хеш с ключом от IP-адреса (и от идентификатора установки, если он отправлен) не дольше 24 часов, а затем удаляет его. Ни то ни другое не появляется в issue.
  • Скриншоты хранятся релеем в Cloudflare R2 под неугадываемыми именами и показываются в issue. Чтобы удалить issue или его скриншоты, оставьте комментарий к issue или создайте новый.
  • Код релея находится в workers/feedback-relay в репозитории.

#Отчёты о сбоях

Когда приложение падает или сталкивается с необработанной ошибкой, Ferret отправляет отчёт о сбое в Sentry (откроется в новой вкладке), чтобы ошибку можно было исправить. По умолчанию это включено. Отключить можно в Настройки → Конфиденциальность → Отправлять отчёты о сбоях или кнопкой Отключить в уведомлении, которое показывается при первом запуске. Отключение действует сразу. Повторное включение начинает действовать со следующего запуска. Сборки для разработки (pnpm dev) тоже отправляют отчёты, с тегом development, чтобы разработчики могли исправлять сбои, с которыми сталкиваются во время работы. Прогоны E2E и модульные тесты никогда ничего не отправляют.

ОтправляетсяНе отправляется
  • Тип ошибки и сообщение, где пути к домашней папке показаны как ~
  • Трассировка стека (в каком месте кода Ferret это произошло)
  • Для нативных сбоев: только какой процесс упал, почему он завершился (например, crashed или oom) и версия приложения
  • Название и версия ОС, архитектура процессора, версии Electron / Chrome / Node, версия приложения, размер экрана, объём памяти
  • События жизненного цикла приложения непосредственно перед ошибкой (например, app.ready) и сбои при запуске
  • Какая часть приложения дала сбой: область экрана, которую не удалось отрисовать (и имена её компонентов React), вызов IPC, терминал, который не удалось запустить, упавший или зависший процесс либо страница приложения, которая не загрузилась
  • Где вы находились в приложении: режим редактора или фидбэка, открытая вкладка (Браузер, Замечания, Настройки или просто file) и шла ли запись
  • Один сеанс на запуск (начат, завершён штатно или аварийно), чтобы можно было измерить долю запусков без сбоев для каждой версии
  • Случайный идентификатор установки (создаётся при первом запуске и хранится в папке настроек приложения), чтобы можно было посчитать число затронутых установок. Он не связан с вашим именем, адресом электронной почты или устройством
  • Только для сбоев JavaScript: последние 50 строк собственного журнала Ferret (например, [startup] и [recording]), сокращённые и очищенные от путей, URL, адресов электронной почты и ключей
  • Путь к папке проекта и имена файлов (заменяются на <project>)
  • URL, открытые во встроенном браузере, и любые другие веб-адреса (заменяются на <url>)
  • Вывод терминала, расшифровки речи, замечания, текст страниц, скриншоты
  • Адреса электронной почты и API-ключи или токены (заменяются)
  • Ваше имя, имя устройства, IP-адрес (не хранится), cookie, локальные переменные
  • Дампы памяти нативных сбоев (minidump). В них может оказаться всё, что было в памяти, поэтому они остаются на вашем компьютере
  • Щелчки, сетевые запросы и любые строки журнала, кроме собственных строк Ferret

Установленное приложение отправляет не более 10 отчётов за запуск и только половину ошибок JavaScript (нативные сбои отправляются всегда). Сборки для разработки отправляют каждую ошибку, до 50 за запуск. Одна и та же ошибка отправляется только один раз за запуск. Медленный запуск (дольше 5 секунд) и долгие зависания приложения (дольше 1 секунды) отправляются как предупреждения, не чаще одного раза в 10 минут. Трассировка производительности и запись сеансов не используются. Приложение использует бесплатный тариф Sentry. Если его лимит исчерпан, лишние отчёты отбрасываются, и никто ничего не платит.

Собираете Ferret сами? Задайте в FERRET_SENTRY_DSN (старое имя MOVIE_ADE_SENTRY_DSN тоже работает) свой Sentry DSN или пустую строку, чтобы ничего не отправлять. Код находится в src/main/telemetry.ts и src/shared/telemetry.ts.

Помочь с переводом этой страницы на GitHub (откроется в новой вкладке)