Diagnósticos opcionais e Phantom Wing

A PayCal inclui uma camada opcional de diagnósticos controlada por você. Aqui está exatamente o que ela coleta, o que permanece no seu dispositivo e como é usada.

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

  1. Os três controles de debug começam Desativados e devem ser ativados explicitamente por você
  2. Mensagens do console e Insights de rede nunca saem do seu dispositivo
  3. Diagnósticos detalhados ficam em memória e só são compartilhados se você escolher compartilhar relatório
  4. Telemetria envia apenas contagens agregadas anonimizadas: zero dados pessoais
  5. Todos os valores são redigidos antes de armazenamento ou transmissão, independentemente das configurações
  6. Telemetria é totalmente suprimida em todas as páginas de autenticação
  7. 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.