import type { MiddlewareHandler } from "hono"; const CSP = [ "default-src 'self'", "script-src 'self'", "style-src 'self' 'unsafe-inline'", "img-src 'self' data: https:", "font-src 'self'", "connect-src 'self'", "frame-ancestors 'none'", "base-uri 'self'", "form-action 'self'", "upgrade-insecure-requests", ].join("; "); export const securityHeaders: MiddlewareHandler = async (c, next) => { await next(); c.header("X-Frame-Options", "DENY"); c.header("X-Content-Type-Options", "nosniff"); c.header("X-XSS-Protection", "1; mode=block"); c.header("Referrer-Policy", "strict-origin-when-cross-origin"); c.header("Permissions-Policy", "geolocation=(), microphone=(), camera=()"); if (process.env.NODE_ENV === "production") { c.header("Content-Security-Policy", CSP); } };