Referencia
Datos y privacidad
Las revisiones están en la carpeta de tu proyecto. Los ajustes están en ~/.ferret/, y las claves y las cuentas en la carpeta de datos de usuario del sistema operativo. Solo los informes de fallos llegan al desarrollador, a través de Sentry, y puedes desactivarlos. El feedback que decidas enviar desde la app se convierte en un issue público de GitHub.
#Dentro de .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
Las revisiones hechas antes del cambio de nombre están en .ade-movie/reviews/. Se siguen mostrando y abriendo, y las nuevas revisiones van a .ferret/reviews/.
Al empezar a grabar, se añade .ferret/ a .git/info/exclude. Se tienen en cuenta los worktrees y los submódulos. .gitignore nunca se modifica. Una revisión interrumpida se puede recuperar desde el historial si sus registros se conservaron. En ese caso la app avisa de que pueden faltar los últimos segundos.
#Conservación
Conservar grabaciones (7 días de forma predeterminada, 30 días o Siempre): al iniciar, las revisiones completadas más antiguas que eso pierden recording.webm y work/. Se conservan feedback.md y las imágenes de los hallazgos. Las revisiones incompletas nunca se limpian. La limpieza se ejecuta al iniciar, para el último proyecto abierto.
#Qué sale de tu equipo
| Cuándo | Destino | Datos |
|---|---|---|
| Transcripción: En el dispositivo (gratis) | ninguno | — |
| Transcripción: OpenAI / compatible | OpenAI o tu Base URL | fragmentos de audio |
| Descarga de modelos | Hugging Face | solicitud del archivo |
| Organizar | tu CLI de Claude Code / Codex, o el endpoint de LLM que definas en organizer | solo texto y registro de acciones (sin imágenes, audio ni vídeo) |
| Comprobación de aceptación (modelo de decisión, desactivada de forma predeterminada) | tu agente, a través del relay local, a Ollama / Cloudflare / AI Gateway / TypeSafe / tu URL | lo que envía el agente: el texto del hallazgo, «Done when» y las capturas BEFORE/AFTER (solo modelos de imagen) |
| Enviar al agente | el agente de tu terminal | una instrucción que apunta a feedback.md |
| Enviar a GitHub | GitHub mediante gh | solo el texto del cuerpo (sin imágenes) |
| Uso en el pie de la ventana (solo Claude Code y Codex) | Anthropic, ChatGPT | solicitud de uso con tu propio inicio de sesión |
| Petición de estrella en GitHub | GitHub mediante tu gh | comprueba si diste estrella al repositorio, y solo la da si haces clic en Dar estrella en GitHub |
| Buscar actualizaciones (manual) | servidor de descarga (Cloudflare R2) | solicitud de latest.json |
| Enviar feedback desde la app (solo cuando lo envías; próximamente) | el relay de feedback del desarrollador (un Cloudflare Worker), que abre un issue público en JapanMarketing-Dev/ferret | tu texto, si es un error o una idea, la versión de la app y del sistema operativo y la CPU, y hasta 3 capturas que adjuntes. Se ocultan las claves, los tokens, las direcciones de correo y las rutas de la carpeta personal. El relay no guarda tu dirección IP (consulta Feedback desde la app) |
| Un fallo o un error (con Enviar informes de fallos activado) | Sentry | stack trace y versiones del sistema operativo, la CPU y la app (consulta Informes de fallos) |
- La app no tiene analítica, ni trazas de rendimiento, ni reproducción de sesiones. Los únicos datos que envía sin que lo pidas son los informes de fallos: errores, una sesión por inicio y avisos de inicio lento y de bloqueo, todo descrito más abajo y todo controlado por Enviar informes de fallos.
- Los valores de las URL que parecen secretos (tokens, claves) se ocultan antes de escribirse en
feedback.md. - El texto capturado de la página se marca como datos en
feedback.md, así que se indica al agente que no siga las instrucciones que contenga. - Este sitio web (no la app) cuenta las visitas con Cloudflare Web Analytics: sin cookies, sin seguimiento entre sitios y sin datos personales.
#Feedback desde la app
Próximamente
El formulario de feedback de la app y su relay aún no se han publicado. Esta sección describe cómo funcionarán.
Podrás enviar un informe de error o una idea desde Ferret sin cuenta de GitHub. Solo se envía cuando tú lo envías, y se convierte en un issue público en JapanMarketing-Dev/ferret (se abre en una pestaña nueva), con la etiqueta from-app. No incluyas nada que no publicarías en abierto.
- La app lo envía desde tu ordenador a un pequeño relay (un Cloudflare Worker gestionado por el desarrollador), que abre el issue con su propio token de GitHub. Este relay es el único servidor del desarrollador que recibe algo de lo que escribes.
- Se envía: tu título y tu texto, si es un error o una idea, la versión de la app y hasta 3 capturas PNG o JPEG que adjuntes. El nombre y la versión del sistema operativo, la arquitectura de la CPU y el ID de instalación aleatorio solo se envían si los dejas incluidos. No se envía: tu nombre, tu correo, tu cuenta de GitHub, los archivos del proyecto, las grabaciones ni los hallazgos.
- Antes de crear el issue, el relay oculta el texto que parece una clave o un token, las direcciones de correo y el nombre de usuario en las rutas de la carpeta personal, y evita que las
@mentionsnotifiquen a nadie. También elimina la ubicación y otros metadatos de las capturas. Revisa tu texto de todos modos: el ocultado no lo detecta todo. - El relay no guarda tu dirección IP. Para limitar la frecuencia con la que un mismo remitente puede publicar (5 por hora, 20 por día), cuenta un hash con clave de la dirección IP (y del ID de instalación, si se envía) durante un máximo de 24 horas y luego lo elimina. Ninguno de los dos aparece en el issue.
- El relay guarda las capturas en Cloudflare R2 con nombres imposibles de adivinar y las muestra en el issue. Para que se elimine un issue o sus capturas, comenta en el issue o abre uno nuevo.
- El código del relay está en
workers/feedback-relaydel repositorio.
#Informes de fallos
Cuando la app falla o se encuentra con un error no controlado, Ferret envía un informe de fallo a Sentry (se abre en una pestaña nueva) para que se pueda corregir el error. Está activado de forma predeterminada. Desactívalo en Ajustes → Privacidad → Enviar informes de fallos, o con Desactivar en el aviso que aparece en el primer inicio. Desactivarlo surte efecto al instante. Volver a activarlo surte efecto en el siguiente inicio. Las versiones de desarrollo (pnpm dev) también envían, con la etiqueta development, para que los desarrolladores puedan corregir los fallos que encuentran mientras trabajan. Las ejecuciones E2E y los tests unitarios nunca envían.
| Se envía | No se envía |
|---|---|
|
|
La app instalada envía como máximo 10 informes por inicio y solo la mitad de los errores de JavaScript (los fallos nativos siempre se envían). Las versiones de desarrollo envían todos los errores, hasta 50 por inicio. El mismo error solo se envía una vez por inicio. Los inicios lentos (más de 5 segundos) y los bloqueos largos de la app (más de 1 segundo) se envían como avisos, como máximo una vez cada 10 minutos. No se usan trazas de rendimiento ni reproducción de sesiones. La app usa el plan gratuito de Sentry. Si se llena, los informes adicionales se descartan y no se cobra nada a nadie.
¿Compilas Ferret tú mismo? Define FERRET_SENTRY_DSN (el nombre antiguo MOVIE_ADE_SENTRY_DSN también funciona) con tu propio DSN de Sentry, o con una cadena vacía para no enviar nada. El código está en src/main/telemetry.ts y src/shared/telemetry.ts.
Ayuda a traducir esta página en GitHub (se abre en una pestaña nueva)