Visão geral
A PayCal inclui uma camada de diagnósticos integrada chamada Phantom Wing. Por padrão ela é quase totalmente silenciosa: captura apenas erros graves não tratados e nunca envia nada sem seu opt-in explícito.
Se você tiver um problema e quiser compartilhar mais contexto com o suporte, pode ativar diagnósticos extras em Configurações - Depuração (opcional). Cada configuração é independente; você pode ativar apenas a relevante. As três começam Desativadas.
Os três controles opcionais
Cada controle fica no painel Depuração (opcional) no fim da página de Configurações. Eles são apenas para solução de problemas; ativá-los pode deixar interações um pouco mais lentas porque o navegador faz trabalho extra.
| Configuração | O que habilita | Quem vê |
|---|---|---|
| Mensagens do console | Emite avisos, logs informativos e marcadores de desempenho no console de desenvolvedor do navegador. Para autodiagnóstico, abra o DevTools e procure mensagens com [PayCal]. |
Somente você: console do navegador, nunca transmitido. |
| Diagnósticos detalhados | Habilita logging interno passo a passo. O Phantom Wing captura ciclos de vida de operações em um log em memória incluído apenas em relatório de suporte que você escolher compartilhar. | Somente você, salvo se compartilhar um relatório de suporte. |
| Insights de rede | Registra tempos de solicitações API, tamanhos de resposta e uso de batching ou cache. Ajuda a diagnosticar lentidão em operações específicas. | Somente você: console do navegador, nunca transmitido. |
O que o Phantom Wing faz por padrão
Mesmo com os três controles desligados, o Phantom Wing executa um monitor leve que captura apenas falhas graves:
- Exceções JavaScript não capturadas (
window.onerror) - Rejeições de promises não tratadas
- Chamadas fetch que falham por erro de rede, não erros HTTP tratados por recurso
Esses dados básicos ficam inteiramente na memória e nunca são transmitidos. Eles aparecem por um segundo no console do navegador ao carregar a página e depois são descartados.
// 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 e telemetria
O Phantom Wing tem um canal leve de telemetria usado para medir confiabilidade de recursos de forma agregada, por exemplo detectando taxas incomuns de falha.
O que a telemetria envia
- Contagens de eventos anonimizadas por hora, por exemplo
pw.performance.metrics: count=1, bucket_hour=2026030914 - Categoria e tipo de erro, nunca a mensagem completa ou stack trace
- Sem identificadores de usuário, tokens de sessão ou endereços IP
O que a telemetria nunca envia
- Seu nome, email ou detalhes da conta
- Ganhos, período de pagamento ou dados financeiros
- Mensagens completas de erro ou stack traces
- Caminhos de URL ou query strings
- Teclas digitadas ou valores de formulários
Limite de taxa e back-off
Envios de telemetria têm limite no servidor por usuário por minuto. Se o cliente exceder o limite, o servidor reconhece silenciosamente e descarta o excesso; nada é armazenado. O cliente também aplica back-off exponencial: após duas falhas do servidor, desativa telemetria por dez minutos automaticamente.
// Telemetry payload shape (no personal data):
{
"type": "pw.performance.metrics",
"fields": {
"count": 1,
"bucket_hour": 2026030914,
"flush_reason": "timer"
}
}
Redação de dados
Antes de qualquer valor ser armazenado ou transmitido por telemetria, o Phantom Wing aplica redação automática. Valores que correspondem a padrões sensíveis são substituídos por [REDACTED]:
- Endereços de email
- Tokens Bearer e valores de cabeçalho de autorização
- Tokens CSRF
- Strings parecidas com chaves criptográficas ou blobs base64 longos
A redação opera em todos os argumentos de métodos de console interceptados e todos os campos de telemetria antes da fila. Ela não pode ser contornada ativando diagnósticos.
Guardas de escopo: páginas onde diagnósticos são suprimidos
O envio de telemetria é totalmente suprimido em páginas de autenticação (/auth/). Mesmo com Insights de rede ativo, nada é enviado durante login, cadastro ou recuperação. Essa defesa em profundidade impede que dados próximos a credenciais apareçam em canais diagnósticos.
Seu controle
As três configurações são salvas como preferências da conta, não cookies. Elas acompanham sua conta entre dispositivos e sessões e ficam Desativadas por padrão em todas as contas, inclusive novas. Você pode alterá-las em Configurações - Depuração (opcional).
Desativar uma configuração vale no próximo carregamento da página. Nenhum dado diagnóstico é retido entre sessões: o log em memória do Phantom Wing é limpo quando você sai da página ou fecha a aba.
Resumo
- Os três controles de debug começam Desativados e devem ser ativados explicitamente por você
- Mensagens do console e Insights de rede nunca saem do seu dispositivo
- Diagnósticos detalhados ficam em memória e só são compartilhados se você escolher compartilhar relatório
- Telemetria envia apenas contagens agregadas anonimizadas: zero dados pessoais
- Todos os valores são redigidos antes de armazenamento ou transmissão, independentemente das configurações
- Telemetria é totalmente suprimida em todas as páginas de autenticação
- Limite de taxa e back-off automático evitam excesso acidental de relatórios
O Phantom Wing foi projetado para que você possa deixar todos os diagnósticos desligados indefinidamente. Os controles opcionais existem para dar a você e ao suporte uma linguagem comum quando algo dá errado, não para coletar dados por padrão.