/** * @copyright 2026 NHCarrigan * @license Naomi's Public License * @author Naomi Carrigan */ import { FastifyPluginAsync } from "fastify"; import fastifyPlugin from "fastify-plugin"; import fastifyHelmet from "@fastify/helmet"; const helmetPlugin: FastifyPluginAsync = async (app) => { await app.register(fastifyHelmet, { contentSecurityPolicy: { directives: { defaultSrc: ["'self'"], styleSrc: ["'self'", "'unsafe-inline'"], imgSrc: ["'self'", "data:", "https:"], scriptSrc: ["'self'"], connectSrc: ["'self'", process.env.FRONTEND_URL ?? "http://localhost:4200"], }, }, crossOriginEmbedderPolicy: false, crossOriginResourcePolicy: { policy: "cross-origin" }, }); }; export default fastifyPlugin(helmetPlugin);