Resumen
PayCal incluye una capa de diagnósticos integrada llamada Phantom Wing. De forma predeterminada es casi silenciosa: solo captura errores graves no controlados y nunca envía nada sin su consentimiento explícito.
Si tiene un problema y quiere compartir más contexto con soporte, puede activar diagnósticos adicionales en Configuración - Depuración (opcional). Cada ajuste es independiente; puede activar solo el que sea relevante. Los tres están desactivados de forma predeterminada.
Los tres controles opcionales
Cada control vive en el panel Depuración (opcional) al final de la página de Configuración. Están diseñados solo para solucionar problemas; activarlos puede ralentizar ligeramente las interacciones porque el navegador realiza trabajo adicional.
| Ajuste | Qué habilita | Quién lo ve |
|---|---|---|
| Mensajes de consola | Emite advertencias, registros informativos y marcadores de rendimiento en la consola de desarrollo del navegador. Para autodiagnóstico, abra DevTools y busque mensajes con prefijo [PayCal]. |
Solo usted: consola del navegador, nunca transmitido. |
| Diagnósticos detallados | Habilita registro interno paso a paso. Phantom Wing captura ciclos de vida de operaciones en un registro en memoria incluido solo en un informe de soporte que usted elija compartir. | Solo usted, salvo que comparta un informe de soporte. |
| Información de red | Registra tiempos de solicitudes API, tamaños de respuesta y si se aplicó agrupación o caché. Ayuda a diagnosticar lentitud en operaciones específicas. | Solo usted: consola del navegador, nunca transmitido. |
Qué hace Phantom Wing por defecto
Incluso con los tres controles desactivados, Phantom Wing ejecuta un monitor ligero que captura solo fallos graves:
- Excepciones JavaScript no capturadas (
window.onerror) - Rechazos de promesas no controlados
- Llamadas fetch que fallan por error de red, no errores HTTP gestionados por función
Estos datos básicos permanecen completamente en memoria y nunca se transmiten. Se muestran como un resumen de un segundo en la consola al cargar la página para que pueda ver si algo falló, y luego se descartan.
// Baseline output when all clear (console, diagnostics off): [PHANTOM WING] All clear - no errors or warnings detected. // Baseline output when issues exist: [PHANTOM WING] Error Summary Total issues: 2 across 2 grouped location(s). WARN 1: FormSubmit timed out after 8000ms ERROR 1: Uncaught TypeError in calendar renderer
Phantom Wing y telemetría
Phantom Wing tiene un canal ligero de telemetría usado para medir la confiabilidad de funciones de forma agregada, por ejemplo detectar si una operación falla a una tasa inusual en la plataforma.
Qué envía la telemetría
- Conteos de eventos anonimizados por hora, por ejemplo
pw.performance.metrics: count=1, bucket_hour=2026030914 - Categoría y tipo de error, nunca el mensaje completo ni la traza
- Sin identificadores de usuario, tokens de sesión ni direcciones IP
Qué nunca envía la telemetría
- Su nombre, correo electrónico o detalles de cuenta
- Ingresos, período de pago o datos financieros
- Mensajes de error completos o trazas
- Rutas URL o cadenas de consulta
- Pulsaciones de teclado o valores de formularios
Límite de tasa y retroceso
Los envíos de telemetría tienen límite de tasa en el servidor por usuario y por minuto. Si el cliente supera el umbral, el servidor responde silenciosamente y descarta el exceso; nada se almacena. El cliente también aplica retroceso exponencial: tras dos fallos consecutivos del servidor, desactiva automáticamente la telemetría durante diez minutos.
// Telemetry payload shape (no personal data):
{
"type": "pw.performance.metrics",
"fields": {
"count": 1,
"bucket_hour": 2026030914,
"flush_reason": "timer"
}
}
Redacción de datos
Antes de almacenar un valor en memoria o transmitirlo por telemetría, Phantom Wing aplica una redacción automática. Los valores que coinciden con patrones sensibles conocidos se reemplazan por [REDACTED]:
- Direcciones de correo electrónico
- Tokens Bearer y valores de encabezado de autorización
- Tokens CSRF
- Cadenas que parecen claves criptográficas o bloques codificados en base64 por encima de una longitud mínima
La redacción se aplica a todos los argumentos pasados a métodos de consola interceptados y a todos los valores de telemetría antes de la cola. No puede omitirse activando diagnósticos.
Guardas de alcance: páginas donde se suprimen diagnósticos
El envío de telemetría se suprime por completo en páginas de autenticación (/auth/). Esto significa que, incluso con Información de red activada, no se envía telemetría durante inicio de sesión, registro o recuperación. Esta defensa en profundidad evita que datos cercanos a credenciales aparezcan en canales de diagnóstico.
Su control
Los tres ajustes de diagnóstico se almacenan como preferencias de cuenta, no como cookies del navegador. Siguen a su cuenta entre dispositivos y sesiones y están desactivados por defecto para todas las cuentas, incluidas las nuevas. Puede cambiarlos en cualquier momento en Configuración - Depuración (opcional).
Desactivar un ajuste surte efecto en la siguiente carga de página. No se conserva ningún dato de diagnóstico entre sesiones: el registro en memoria de Phantom Wing se borra al salir de la página o cerrar la pestaña.
Resumen
- Los tres controles de depuración están desactivados por defecto y usted debe activarlos explícitamente
- Mensajes de consola e Información de red nunca salen de su dispositivo
- Diagnósticos detallados permanece en memoria y solo se comparte si usted decide compartir un informe
- La telemetría envía solo conteos agregados y anonimizados: cero datos personales
- Todos los valores se redactan antes de almacenarse o transmitirse, sin importar los ajustes
- La telemetría se suprime por completo en todas las páginas de autenticación
- El límite de tasa y el retroceso automático evitan reportes excesivos accidentales
Phantom Wing está diseñado para que pueda dejar todos los diagnósticos desactivados indefinidamente. Los controles opcionales existen para dar a usted y al equipo de soporte un lenguaje compartido cuando algo falla, no para recopilar datos por defecto.