diff --git a/docs/app/[[...mdxPath]]/layout.tsx b/docs/app/[[...mdxPath]]/layout.tsx index b60765e..19ab875 100644 --- a/docs/app/[[...mdxPath]]/layout.tsx +++ b/docs/app/[[...mdxPath]]/layout.tsx @@ -30,7 +30,7 @@ export default async function RootLayout({ children }: { children: ReactNode }) diff --git a/firebase.json b/firebase.json index ac10c22..133ce47 100644 --- a/firebase.json +++ b/firebase.json @@ -9,7 +9,42 @@ "**/node_modules/**" ], "cleanUrls": true, - "trailingSlash": false + "trailingSlash": false, + "headers": [ + { + "source": "/**", + "headers": [ + { + "key": "Content-Security-Policy", + "value": "default-src 'self'; script-src 'self' 'unsafe-inline' va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self' vitals.vercel-insights.com; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; upgrade-insecure-requests;" + }, + { + "key": "X-Content-Type-Options", + "value": "nosniff" + }, + { + "key": "X-Frame-Options", + "value": "DENY" + }, + { + "key": "X-XSS-Protection", + "value": "0" + }, + { + "key": "Referrer-Policy", + "value": "strict-origin-when-cross-origin" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains; preload" + }, + { + "key": "Permissions-Policy", + "value": "camera=(), microphone=(), geolocation=()" + } + ] + } + ] }, { "target": "docs", @@ -20,7 +55,42 @@ "**/node_modules/**" ], "cleanUrls": true, - "trailingSlash": false + "trailingSlash": false, + "headers": [ + { + "source": "/**", + "headers": [ + { + "key": "Content-Security-Policy", + "value": "default-src 'self'; script-src 'self' 'unsafe-inline' va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; connect-src 'self' vitals.vercel-insights.com; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; upgrade-insecure-requests;" + }, + { + "key": "X-Content-Type-Options", + "value": "nosniff" + }, + { + "key": "X-Frame-Options", + "value": "DENY" + }, + { + "key": "X-XSS-Protection", + "value": "0" + }, + { + "key": "Referrer-Policy", + "value": "strict-origin-when-cross-origin" + }, + { + "key": "Strict-Transport-Security", + "value": "max-age=31536000; includeSubDomains; preload" + }, + { + "key": "Permissions-Policy", + "value": "camera=(), microphone=(), geolocation=()" + } + ] + } + ] } ] }