Panoramica
PayCal include un livello diagnostico integrato chiamato Phantom Wing. Per impostazione predefinita è quasi del tutto silenzioso: acquisisce solo errori gravi non gestiti e non invia nulla senza il tuo consenso esplicito.
Se incontri un problema e vuoi condividere più contesto con il supporto, puoi abilitare diagnostica aggiuntiva in Impostazioni - Debugging (opzionale). Ogni impostazione è indipendente; puoi attivare solo quella pertinente. Tutte e tre sono Disattivate per impostazione predefinita.
I tre controlli opzionali
Ogni controllo si trova nel pannello Debugging (opzionale) in fondo alla pagina Impostazioni. Sono pensati solo per la risoluzione dei problemi; abilitarli può rallentare leggermente le interazioni perché il browser esegue lavoro aggiuntivo.
| Impostazione | Cosa abilita | Chi lo vede |
|---|---|---|
| Messaggi console | Emette avvisi, log informativi e marker di prestazioni nella console sviluppatore del browser. Per autodiagnosi, apri DevTools e cerca messaggi con prefisso [PayCal]. |
Solo tu: console del browser, mai trasmesso. |
| Diagnostica dettagliata | Abilita logging interno passo per passo. Phantom Wing cattura i cicli di vita delle operazioni in un log in memoria incluso solo in un report di supporto che scegli di condividere. | Solo tu, salvo condivisione di un report di supporto. |
| Approfondimenti rete | Registra tempi delle richieste API, dimensioni delle risposte e uso di batching o cache. Aiuta a diagnosticare lentezze su operazioni specifiche. | Solo tu: console del browser, mai trasmesso. |
Cosa fa Phantom Wing per impostazione predefinita
Anche con tutti e tre i controlli disattivati, Phantom Wing esegue un monitor leggero che cattura solo errori gravi:
- Eccezioni JavaScript non intercettate (
window.onerror) - Promise rejection non gestite
- Chiamate fetch che falliscono per errore di rete, non errori HTTP gestiti dalla singola funzione
Questi dati base restano interamente in memoria e non vengono mai trasmessi. Sono mostrati per un secondo nella console del browser al caricamento della pagina, poi scartati.
// 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
Phantom Wing ha un canale di telemetria leggero usato per misurare l’affidabilità delle funzioni in forma aggregata, per esempio rilevando se un’operazione fallisce a un tasso insolito sulla piattaforma.
Cosa invia la telemetria
- Conteggi evento anonimizzati per ora, per esempio
pw.performance.metrics: count=1, bucket_hour=2026030914 - Categoria e tipo di errore, mai il messaggio completo o lo stack trace
- Nessun identificatore utente, token di sessione o indirizzo IP
Cosa non invia mai la telemetria
- Nome, email o dettagli dell’account
- Guadagni, periodo paga o dati finanziari
- Messaggi di errore completi o stack trace
- Percorsi URL o query string
- Tasti premuti o valori dei campi modulo
Rate limit e back-off
Gli invii di telemetria sono limitati lato server per utente al minuto. Se il client supera la soglia, il server conferma silenziosamente e scarta l’eccesso; nulla viene salvato. Il client applica anche back-off esponenziale: dopo due errori server consecutivi disabilita automaticamente l’invio per dieci minuti.
// Telemetry payload shape (no personal data):
{
"type": "pw.performance.metrics",
"fields": {
"count": 1,
"bucket_hour": 2026030914,
"flush_reason": "timer"
}
}
Redazione dei dati
Prima che un valore sia memorizzato o trasmesso tramite telemetria, Phantom Wing applica una redazione automatica. I valori che corrispondono a pattern sensibili noti vengono sostituiti con [REDACTED]:
- Indirizzi email
- Token Bearer e valori header di autorizzazione
- Token CSRF
- Stringhe simili a chiavi crittografiche o blob base64 oltre una lunghezza minima
La redazione opera su tutti gli argomenti passati ai metodi console intercettati e su tutti i valori di telemetria prima della coda. Non può essere aggirata abilitando la diagnostica.
Guardrail di ambito: pagine dove la diagnostica è soppressa
L’invio di telemetria è completamente soppresso sulle pagine di autenticazione (/auth/). Anche con Approfondimenti rete attivo, nessuna telemetria viene inviata durante accesso, registrazione o recupero. Questa difesa in profondità impedisce che dati vicini alle credenziali compaiano nei canali diagnostici.
Il tuo controllo
Le tre impostazioni diagnostiche sono salvate come preferenze account, non cookie del browser. Seguono l’account tra dispositivi e sessioni e sono Disattivate per ogni account, inclusi quelli nuovi. Puoi cambiarle in qualsiasi momento in Impostazioni - Debugging (opzionale).
Disattivare un’impostazione ha effetto al successivo caricamento pagina. Nessun dato diagnostico viene conservato tra sessioni: il log in memoria di Phantom Wing viene cancellato quando cambi pagina o chiudi la scheda.
Riepilogo
- Tutti e tre i controlli debug sono Disattivati per impostazione predefinita e devono essere abilitati esplicitamente da te
- Messaggi console e Approfondimenti rete non lasciano mai il dispositivo
- Diagnostica dettagliata resta in memoria ed è condivisa solo se scegli di condividere un report
- La telemetria invia solo conteggi aggregati anonimizzati: zero dati personali
- Tutti i valori sono redatti prima di archiviazione o trasmissione, indipendentemente dalle impostazioni
- La telemetria è completamente soppressa su tutte le pagine di autenticazione
- Rate limit e back-off automatico impediscono sovrasegnalazioni accidentali
Phantom Wing è progettato perché tu possa lasciare tutte le diagnostiche disattivate a tempo indefinito. I controlli opzionali servono a dare a te e al supporto un linguaggio comune quando qualcosa va storto, non a raccogliere dati per impostazione predefinita.