A Page with getServerSideProps
If you see me the page hasn't hydrated and is not interactive...
It get's prerendered per request and has access to request and response data
That's why it can use Nonce-based CSP, it has the chance to set a fresh nonce as attribute to scripts on each request.
Internal navigation to other pages
Request Headers
{
"host": "demo-next-safe-middleware.vercel.app",
"user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)",
"forwarded": "for=216.73.216.15;host=demo-next-safe-middleware.vercel.app;proto=https;sig=0QmVhcmVyIGYxM2VmMzJjY2M1ODEzMDVjODI0YWY3MzhiYjQxMDFlNGM1ZTE3Y2E1ZjJhZWM0MWFjOTFmN2VhMzQ2OGFiZTc=;exp=1794140077",
"x-vercel-ip-country-region": "OH",
"accept-encoding": "gzip, br, zstd, deflate",
"x-vercel-sc-headers": "{\"x-vercel-ept\":\"0\",\"Authorization\":\"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJibG9jayI6ZmFsc2UsImRvbWFpbiI6ImRlbW8tbmV4dC1zYWZlLW1pZGRsZXdhcmUudmVyY2VsLmFwcCIsInJlcXVlc3RJZCI6IjJ6ZmM2LTE3OTQxMzk3Nzc3OTAtMzJhODljMjcwZjM2IiwidW5saW1pdGVkIjpmYWxzZSwiaXNzIjoiZWRnZSIsImVudiI6InByb2R1Y3Rpb24iLCJvd25lcklkIjoidGVhbV9iTjZoSGNtcWhLQmZNcHhzWmJ4cGNxQk4iLCJwcm9qZWN0SWQiOiJwcmpfVWNxYXdpWVUzbmJuZXFqZVFjanI3U2ZzOG1JRCIsImV4cCI6MTc5NDE0MzY5NywiZGVwbG95bWVudElkIjoiZHBsX0VXUVlhTGFiSDVFRnk5TlJ0bUYxUjI3N3drVnMiLCJpYXQiOjE3OTQxMzk3NzcsInBsYW4iOiJob2JieSJ9.9GjlohEmOfQbaBQcrQewbzcAtqMWXy3ZcHTDLP3goLg\",\"x-vercel-function-platform\":\"vercel\\/proxy+edge\"}",
"x-forwarded-host": "demo-next-safe-middleware.vercel.app",
"x-vercel-ip-latitude": "39.96118",
"sc-no-header-leak": "1",
"x-vercel-forwarded-for": "216.73.216.15",
"x-vercel-ja4-digest": "t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3",
"x-forwarded-for": "216.73.216.15",
"sc-runtime-cache": "1",
"x-vercel-id": "cle1::2zfc6-1794139777790-32a89c270f36",
"x-vercel-deployment-url": "demo-next-safe-middleware-8balkz8ul-nibtime.vercel.app",
"x-vercel-sc-basepath": "",
"date": "Sun, 08 Nov 2026 12:09:37 GMT",
"content-security-policy": "default-src 'self';object-src 'none';base-uri 'none';img-src 'self' data: https://images.unsplash.com;font-src 'self' https://fonts.gstatic.com;script-src 'nonce-CjAc95pha5BLSCcU1gucHw==' 'strict-dynamic' https: 'unsafe-inline' 'sha256-2AH2VH1B+5jBCXgwJkVuj1TRGO0aUm9dcNatWrnyosU=' 'sha256-lBDbadDkyeD7bOL6E1HDHFZXy+jFNq5d5QL2yspKv/A=' 'sha256-9KBZhMnIhr6i6Vtn/+m7sBLmWhnSfquC+BYUfYZs21E=' 'sha384-WkFzsrcXKeJ3KlWNXojDiim8rplIj1RPsCbuv7dsLECoXY8C6Cx158CMgl+O+QKW' 'sha256-AMm26MMxJCNx0SXqH3vlggIMDFOLibAy7R3ZbWlnkNc=' 'sha256-rh00Yb2YifFnvhn/kB2DjTGonGCNy/zFuXeyP7HrcOI=' 'sha256-+dunERqp4mD6r1x1UkWg/2rUkdLmnSZrYNAgJPYyNcM=' 'sha256-x0vzTRUjbgg1fNYtjnv7XsClhqDVJzLi049YcesA3cY=' 'sha256-413F9Zu76LINTpXToCAmsXZmh4dUKKC6bqFz1+u2EQk=' 'sha256-I6lRYQSkcd0eKJEqp1ZVl83sJssLSy3jf3gMQixXQek=' 'sha256-Z8mKG9VKXNTHd/ghxWI3YvdcGurDHYGI3vRLZfEt/xo=' 'sha256-2ndgK4ndmuxA0YKc0zRGAtklqNCf0U8/8Nd8tlA63TA=' 'sha256-8QUUitFlSTJQ7z/fdcV9F6w3d634CM68mc6DQ8vNTJ4=' 'sha256-L0sJ4/IvqVP6U/IV0AmoYYC9Or9xCrukrULduMePh8E=' 'sha256-7jFFHYg24lua/zgQB4kYhdDA+xJPGsZbjGmPmOZBeUI=' 'sha256-w6bdX1mqFF+i8WNNGRUBH4btqooJ/crmMHOQuQUdx/M=' 'sha256-7jFh0AHwp6vyYGCKDw2j4lUSAcMbU1gEPUot/wRn5pA=' 'sha256-IprRZ4rmKr8dXg41TTdMveNgpQpECKjO8wHcOAiaIlI=' 'sha256-+w1/bgX7psAQ5sZe1CLQ8c9No7JnYqBeJfspZ2ci2vk=' 'sha256-x1yZbGsiuKKpaUHxiClcpoGNBuwRY1Mtblc10UxyA7g=' 'sha256-vtK6QM61/FFgk6J8Ud64+WJwyfalZY29Ru2JYGj8BaU=' 'sha256-YfPqVruxNUrhURCa6a0zfELn8GVZmIbOA4NJkwtjPyw=' 'sha256-Xqq/ujJfnRTXYl8oMSvWaesHV1fvMrkHpwtt9hdbU0g=' 'report-sample';style-src 'nonce-CjAc95pha5BLSCcU1gucHw==' 'sha256-0h0Ha1KEXibxI1pkH1Ag1lqpMsbVx7SR13/64S1f0iI=' 'sha256-mIxvY55smipKViZPiWrIlT0pyrPW7tFDSucq4IJ4Dvc=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-/cz+p719dOFygDAqDgEjHhHSRaka+kWXk3WHAOXiURk=' 'sha256-tnHpksLcaJdz/J2Ur+0LthxAfZ7tQIxLHOipbQYvmqM=' 'sha256-RkT3nEyK1ezLVIUunAjAbjB38Tn06a3wknKrzP1l3B8=' 'sha256-h3Y7nlrS1azfvWI18FF5nc73LkXAs5ZEkB2sa41t7zM=' 'unsafe-hashes' 'report-sample';report-uri /api/reporting;report-to default",
"x-vercel-proxy-signature": "Bearer f13ef32ccc581305c824af738bb4101e4c5e17ca5f2aec41ac91f7ea3468abe7",
"accept": "*/*",
"x-vercel-ip-continent": "NA",
"report-to": "{\"max_age\":1800,\"endpoints\":[{\"url\":\"/api/reporting\"}]}",
"x-vercel-ip-country": "US",
"x-vercel-ip-city": "Columbus",
"x-vercel-sc-host": "iad1.suspense-cache.vercel-infra.com",
"x-matched-path": "/gssp",
"x-vercel-proxied-for": "216.73.216.15",
"x-vercel-ip-postal-code": "43215",
"x-vercel-internal-intra-session": "3.3XoT4u7L6lcifswAPDCW/367oVP/jnMdH7vEtf5RCzO8bT7QYU3gS1HPgaGzVhBM",
"x-vercel-ip-as-number": "16509",
"x-vercel-ip-timezone": "America/New_York",
"x-vercel-proxy-signature-ts": "1794140077",
"x-vercel-ip-longitude": "-82.99879",
"x-real-ip": "216.73.216.15",
"x-forwarded-proto": "https",
"connection": "close",
"csp-nonce": "CjAc95pha5BLSCcU1gucHw=="
}Response Headers
{}