{"service":"NumerSkan","language":"pl-PL","policyVersion":"1.0","publicPage":"https://numerskan.com/polityka-http","securityHeaders":["X-Content-Type-Options: nosniff","X-Frame-Options: SAMEORIGIN","Referrer-Policy: strict-origin-when-cross-origin","Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()","Cross-Origin-Opener-Policy: same-origin-allow-popups","X-Permitted-Cross-Domain-Policies: none","Strict-Transport-Security: max-age=31536000"],"privateNoStorePaths":["/admin/*","/diagnostyka-google","/api/admin/*","/api/lookup","/api/comments","/api/web-vitals","/api/health"],"publicCacheContracts":[{"path":"/api/public/community-summary","cacheControl":"public, max-age=300, s-maxage=900","cors":"*","scope":"aggregate-only"},{"path":"/api/public/community-summary.csv","cacheControl":"public, max-age=300, s-maxage=900","cors":"*","scope":"aggregate-only"},{"pathPattern":"machine-readable static discovery resources","cacheControl":"public, max-age=3600, s-maxage=3600","scope":"static-discovery"}],"principles":["Prywatne, administracyjne i mutujące endpointy nie powinny być współdzielone w cache.","Publiczne API agregatowe może używać krótkiego cache publicznego, ponieważ nie zawiera danych osobowych ani danych pojedynczego numeru.","Globalna reguła /api/* nie może nadpisywać Cache-Control publicznego /api/public/*.","Odpowiedzi błędów 5xx z publicznego API powinny używać no-store.","Nagłówki bezpieczeństwa nie zastępują walidacji wejścia, autoryzacji ani kontroli pochodzenia żądania.","Polityka CSP wymaga osobnego wdrożenia po pełnym zinwentaryzowaniu skryptów Google/CMP i nie jest włączana automatycznie."],"csp":{"enabledByThisRelease":false,"reason":"CSP wymaga osobnego audytu skryptów Google, CMP i pozostałych źródeł przed włączeniem."}}