import type { NextConfig } from "next"; const nextConfig: NextConfig = { // Emits a self-contained .next/standalone server (only the deps actually // used at runtime, no full node_modules) - what the Dockerfile copies in. output: "standalone", // Baseline security headers (clickjacking, MIME-sniffing, referrer leakage, // browser feature access). No Content-Security-Policy yet: this app has no // inventory of its script/style/connect sources, and shipping a guessed // CSP risks silently breaking Next.js hydration or the Supabase client — // TODO revisit once the actual source list is audited. async headers() { return [ { source: "/:path*", headers: [ { key: "X-Frame-Options", value: "SAMEORIGIN" }, { key: "X-Content-Type-Options", value: "nosniff" }, { key: "Referrer-Policy", value: "strict-origin-when-cross-origin" }, { key: "Permissions-Policy", value: "camera=(), microphone=(), geolocation=()" }, { key: "Strict-Transport-Security", value: "max-age=63072000; includeSubDomains" }, ], }, ]; }, }; export default nextConfig;