Overzicht
PayCal bevat een ingebouwde diagnostische laag met de naam Phantom Wing. Standaard is die bijna volledig stil: hij legt alleen ernstige, onbehandelde fouten vast en verzendt niets zonder uw expliciete toestemming.
Als u een probleem tegenkomt en meer context met support wilt delen, kunt u extra diagnostiek inschakelen via Instellingen - Debugging (optioneel). Elke instelling is onafhankelijk; u kunt alleen de relevante inschakelen. Alle drie staan standaard Uit.
De drie optionele controles
Elke controle staat in het paneel Debugging (optioneel) onderaan uw instellingenpagina. Ze zijn alleen bedoeld voor probleemoplossing; inschakelen kan interacties licht vertragen doordat de browser extra werk uitvoert.
| Instelling | Wat dit inschakelt | Wie het ziet |
|---|---|---|
| Consoleberichten | Stuurt waarschuwingen, informatielogs en prestatiemarkers naar de ontwikkelaarsconsole. Voor zelfdiagnose opent u DevTools en zoekt u naar berichten met [PayCal]. |
Alleen u: browserconsole, nooit verzonden. |
| Gedetailleerde diagnostiek | Schakelt stapsgewijze interne logging in. Phantom Wing legt levenscycli van bewerkingen vast in een geheugenlog dat alleen wordt opgenomen in een supportrapport dat u deelt. | Alleen u, tenzij u een supportrapport deelt. |
| Netwerkinzichten | Logt API-timing, responsgroottes en of batching of caching is toegepast. Helpt traagheid bij specifieke bewerkingen te diagnosticeren. | Alleen u: browserconsole, nooit verzonden. |
Wat Phantom Wing standaard doet
Zelfs als alle drie controles uit staan, draait Phantom Wing een lichte basismonitor die alleen ernstige fouten vastlegt:
- Niet-afgevangen JavaScript-exceptions (
window.onerror) - Onbehandelde promise rejections
- Fetch-aanroepen die falen door een netwerkfout, niet HTTP-fouten die per functie worden afgehandeld
Deze basisgegevens blijven volledig in het geheugen en worden nooit verzonden. Ze verschijnen één seconde als samenvatting in de browserconsole bij het laden van de pagina en worden daarna weggegooid.
// 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 en telemetrie
Phantom Wing heeft een licht telemetriekanaal om betrouwbaarheid van functies geaggregeerd te meten, bijvoorbeeld om ongewoon hoge foutpercentages te ontdekken.
Wat telemetrie verzendt
- Geanonimiseerde eventtellingen per uur, bijvoorbeeld
pw.performance.metrics: count=1, bucket_hour=2026030914 - Foutcategorie en type, nooit het volledige foutbericht of stacktrace
- Geen gebruikers-ID’s, sessietokens of IP-adressen
Wat telemetrie nooit verzendt
- Uw naam, e-mailadres of accountgegevens
- Inkomsten, betaalperiode of financiële gegevens
- Volledige foutberichten of stacktraces
- URL-paden of querystrings
- Toetsaanslagen of formulierwaarden
Rate limiting en back-off
Telemetrie-inzendingen worden server-side per gebruiker per minuut begrensd. Overschrijdt de client de drempel, dan bevestigt de server stil en verwerpt het teveel; niets wordt opgeslagen. De client gebruikt ook exponentiële back-off: na twee serverfouten achter elkaar wordt telemetrie automatisch tien minuten uitgeschakeld.
// Telemetry payload shape (no personal data):
{
"type": "pw.performance.metrics",
"fields": {
"count": 1,
"bucket_hour": 2026030914,
"flush_reason": "timer"
}
}
Gegevensredactie
Voordat een waarde wordt opgeslagen of via telemetrie wordt verzonden, past Phantom Wing automatische redactie toe. Waarden die bekende gevoelige patronen volgen, worden vervangen door [REDACTED]:
- E-mailadressen
- Bearer-tokens en autorisatieheaderwaarden
- CSRF-tokens
- Teksten die lijken op cryptografische sleutels of lange base64-blobs
Redactie geldt voor alle argumenten van onderschepte consolemethoden en alle telemetriewaarden voordat ze in de wachtrij komen. Dit kan niet worden omzeild door diagnostiek in te schakelen.
Bereikwaarborgen: pagina’s waar diagnostiek wordt onderdrukt
Telemetrie wordt volledig onderdrukt op authenticatiepagina’s (/auth/). Ook met Netwerkinzichten aan wordt niets verzonden tijdens aanmelden, registreren of herstel. Dit voorkomt dat gegevens rond inloggegevens in diagnostische kanalen verschijnen.
Uw controle
Alle drie diagnostische instellingen worden opgeslagen als accountvoorkeuren, niet als browsercookies. Ze volgen uw account over apparaten en sessies en staan voor elk account, ook nieuwe, standaard Uit. U kunt ze altijd wijzigen via Instellingen - Debugging (optioneel).
Een instelling uitschakelen werkt bij de volgende paginalading. Er worden geen diagnostische gegevens tussen sessies bewaard: het geheugenlog van Phantom Wing wordt gewist wanneer u weg navigeert of het tabblad sluit.
Samenvatting
- Alle drie debugcontroles staan standaard Uit en moeten expliciet door u worden ingeschakeld
- Consoleberichten en Netwerkinzichten verlaten uw apparaat nooit
- Gedetailleerde diagnostiek blijft in het geheugen en wordt alleen gedeeld als u een rapport deelt
- Telemetrie verzendt alleen geanonimiseerde geaggregeerde tellingen: geen persoonsgegevens
- Alle waarden worden geredigeerd voor opslag of verzending, ongeacht instellingen
- Telemetrie is volledig onderdrukt op alle authenticatiepagina’s
- Rate limiting en automatische back-off voorkomen accidenteel overrapporteren
Phantom Wing is zo ontworpen dat u alle diagnostiek onbeperkt uit kunt laten. De optionele controles geven u en support een gedeelde taal wanneer er iets misgaat, niet om standaard gegevens te verzamelen.