{"service":"NumerSkan","auditVersion":"1.0","release":"6.117.4","releaseLabel":"v185.4","scope":"source-architecture-not-browser-bundle","globalClientRuntime":["MobileMenu","PrivacyChoicesButton","WebVitalsReporter"],"routes":[{"path":"/","strategy":"client-island","clientIslands":["LookupForm"],"dataMode":"revalidated","priority":"critical","note":"Homepage pozostaje server-first; formularz sprawdzania numeru jest główną wyspą klienta. Dane serwerowe mają revalidate=300."},{"path":"/narzedzia","strategy":"client-island","clientIslands":["IncidentReactionWizard","ScamRiskTest"],"dataMode":"static","priority":"high","note":"Hub nie importuje czterech cięższych narzędzi. Interaktywne są tylko test rozmowy i reakcja po kontakcie."},{"path":"/analizator-sms","strategy":"client-island","clientIslands":["SmsAnalyzer"],"dataMode":"local-only","priority":"high","note":"Analiza działa lokalnie w przeglądarce; strona nie potrzebuje pobierania danych użytkownika z serwera."},{"path":"/sprawdz-link","strategy":"client-island","clientIslands":["LinkStructureChecker"],"dataMode":"local-only","priority":"high","note":"Analiza URL działa lokalnie i nie otwiera badanego adresu."},{"path":"/kierunkowy-kraju","strategy":"client-island","clientIslands":["CountryPrefixLookup"],"dataMode":"local-only","priority":"normal","note":"Rozpoznawanie prefiksu korzysta z lokalnego katalogu kodów."},{"path":"/dziennik-incydentu","strategy":"client-island","clientIslands":["IncidentJournal"],"dataMode":"local-only","priority":"high","note":"Formularz działa lokalnie i nie zapisuje danych incydentu po stronie NumerSkan."},{"path":"/raporty/sygnaly-spolecznosci-30-dni","strategy":"dynamic-server","clientIslands":[],"dataMode":"dynamic-db","priority":"normal","note":"Raport i warstwa insightów są generowane serwerowo; brak dodatkowej interaktywnej wyspy klienta."},{"path":"/centrum-zaufania","strategy":"dynamic-server","clientIslands":[],"dataMode":"dynamic-db","priority":"normal","note":"Proof layer pobiera snapshot po stronie serwera i pozostaje bez dedykowanego JavaScriptu klienta."},{"path":"/dla-mediow","strategy":"dynamic-server","clientIslands":[],"dataMode":"dynamic-db","priority":"normal","note":"Aktualny snapshot do cytowania jest renderowany serwerowo."}],"principles":["Koszt źródeł komponentów klienta nie jest równy rozmiarowi bundla przeglądarki; to wskaźnik do wykrywania regresji architektury.","Interaktywność powinna pozostawać w małych wyspach klienta, a reszta strony server-first.","Narzędzia lokalne nie powinny importować niezwiązanych narzędzi ani wysyłać wpisanych treści do API NumerSkan.","Core Web Vitals muszą być oceniane na danych terenowych po wdrożeniu; statyczny build nie potwierdza LCP, INP ani CLS w realnym ruchu.","Globalny reporter Web Vitals powinien pozostać małym komponentem klienta i wysyłać wyłącznie metryki techniczne."],"fieldMeasurement":{"source":"WebVitalsReporter -> /api/web-vitals","metrics":["CLS","FCP","INP","LCP","TTFB"],"interpretation":"Dane terenowe pojawiają się dopiero po realnych wizytach użytkowników; endpoint audytu nie symuluje Core Web Vitals."}}