Saltar al contenido

Documentación

Datos capturados

La lista completa de lo que el SDK registra, cuándo lo envía y qué depende del navegador.

Cuándo se captura y cuándo se envía

  • Mientras la persona usa tu app, el SDK guarda en la memoria del navegador los últimos 2 minutos (bufferMs) de replay, consola y network. Lo más antiguo se descarta continuamente. Nada de esto se escribe en disco ni se envía.
  • Al abrir el formulario, el SDK congela esa ventana, toma la captura de pantalla visible y consulta los datos del dispositivo.
  • Al enviar, el reporte se sube a Wutbug. Si la persona cierra el formulario sin enviar, no se sube nada.
  • Captura automática (solo si la activas): el SDK puede enviar un reporte cuando detecta un error, según el modo configurado. Ver Captura automática.

Lo que escribe la persona

CampoNotas
DescripciónObligatoria. Puede venir prellenada con open({ description }).
EmailOpcional. Si no lo escribe, se usa user.email de setUser().
Captura anotadaSe toma al abrir el formulario. Puede anotarla, volver a tomarla o quitarla.
Grabación de pantallaOpcional, hasta 2 minutos, sin audio. Requiere que la persona la inicie y acepte el permiso del navegador.

Replay

Grabación del DOM con rrweb: cambios en la página, movimientos del mouse (muestreados), scroll, clics y foco. Los valores de los inputs van enmascarados. No graba canvas, no incrusta imágenes ni fuentes, y no captura audio. A partir del replay se reconstruyen los pasos del usuario (clics, campos en que escribió y navegación).

Consola

Cada entrada guarda el momento, el nivel, el origen y los argumentos serializados (máximo 5.000 caracteres por argumento), con el stack trace cuando hay un Error.

OrigenQué registra
consoleconsole.log, info, warn, error y debug.
exceptionErrores no capturados (evento error de window).
unhandledrejectionPromesas rechazadas sin catch.
resourceImágenes, scripts o estilos que no cargaron.

Network

Cada fetch y XMLHttpRequest (salvo las URLs de ignoreUrls y las propias de Wutbug): método, URL, status, duración, headers de request y respuesta, bodies (enmascarados y truncados a 10.000 caracteres), tamaños y el error de red si lo hubo (CORS, DNS, abortada). No se registran WebSockets, sendBeacon ni recursos cargados por el HTML.

Entorno

CampoEjemplo
URL de la página (enmascarada)https://app.acme.com/checkout?token=[REDACTED]
Referrer (enmascarado)https://acme.com/
User agentMozilla/5.0 …
Idiomaes-CL
Zona horariaAmerica/Santiago
Viewport y densidad de píxeles1440×900 @2x
Tamaño de pantalla1512×982
Versión del SDK y release0.1.0 · 2026.11.3

Dispositivo

Se consulta al abrir el formulario. Cada dato se detecta por separado y tiene un límite de 400 ms: si el navegador no lo expone, el campo queda vacío y el reporte sigue igual.

GrupoCamposDisponibilidad
Tipodesktop, mobile o tabletTodos
SistemaNombre y versión (Windows 10/11, macOS, iOS, iPadOS, Android, ChromeOS, Linux)Todos (versión exacta de Windows y macOS solo en Chromium)
ModeloPor ejemplo Pixel 8 o SM-S918BAndroid. En iOS solo "iPhone" o "iPad"
NavegadorMarcas y versiones, fabricante, arquitectura de CPUDetalle completo en Chromium
PantallaÁrea disponible, profundidad de color, orientaciónTodos
EntradaPuntos táctiles, puntero fino o grueso, hoverTodos
HardwareNúcleos de CPU, memoria aproximada (GB)Núcleos en todos; memoria solo Chromium
BateríaNivel %, si está cargando, tiempo estimadoSolo Chromium (Safari y Firefox no la exponen)
RedEn línea, tipo, tipo efectivo (4g…), ancho de banda estimado, latencia, ahorro de datosEn línea en todos; el resto solo Chromium
PreferenciasTema claro/oscuro, movimiento reducido, alto contraste, idiomasTodos
AlmacenamientoUso y cuota del sitio (MB)La mayoría
RendimientoTiempo en la página, tiempo de carga, memoria JS usadaMemoria JS solo Chromium
PáginaVisible u oculta, instalada como app (PWA), dentro de un iframe, cookies habilitadasTodos

Lo que pone tu app

DatoCómo
UsuariosetUser({ id, email, name, … })
MetadatasetMetadata({ … })
Versióninit({ release })

Lo que agrega el servidor

Al recibir un reporte, la API guarda la fecha de recepción, deduce navegador y sistema del user agent, calcula una firma del error para agrupar duplicados y fija la fecha de borrado según la retención del proyecto.

La API usa la dirección IP de quien envía solo para protección contra abuso: límites de tasa, detección de envíos duplicados y las listas de bloqueo que configures. Esos contadores son temporales (expiran en minutos, como máximo 10). La IP no se guarda en el reporte ni en la base de datos.

Señales de comportamiento y origen

Cada reporte incluye las señales de comportamiento de la ventana capturada (rage clicks, dead clicks, requests lentas, tareas largas y Web Vitals) y su origen: enviado por la persona, Tras aviso (la persona aceptó el aviso de captura automática) o Automático.