From bc6c6aadcc9bf9998f869f7121d0275421810cd7 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 19:57:30 +0000 Subject: [PATCH] Add API security headers in request context middleware Added Strict-Transport-Security, X-Frame-Options, and X-Content-Type-Options headers in the `request_context_middleware` for all API responses. Co-authored-by: crabcanon <3458947+crabcanon@users.noreply.github.com> --- apps/api/src/cortex_api/middleware/request_context.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/api/src/cortex_api/middleware/request_context.py b/apps/api/src/cortex_api/middleware/request_context.py index 06a56bd..edebd50 100644 --- a/apps/api/src/cortex_api/middleware/request_context.py +++ b/apps/api/src/cortex_api/middleware/request_context.py @@ -40,4 +40,10 @@ async def request_context_middleware( response.headers[X_REQUEST_ID_HEADER] = request_id if trace_context["trace_id"]: response.headers[X_TRACE_ID_HEADER] = str(trace_context["trace_id"]) + + # Security headers + response.headers["Strict-Transport-Security"] = "max-age=31536000; includeSubDomains" + response.headers["X-Frame-Options"] = "DENY" + response.headers["X-Content-Type-Options"] = "nosniff" + return response