Ops-dashboard/lib
Scrum4Me Agent aa1fd41bec feat(security): rate-limit /api/flows/start, CSRF double-submit cookie, CSP headers
- Rate-limit /api/flows/start to 10 req/min per user (in-memory, matches login pattern)
- Add middleware.ts: validates x-csrf-token header against csrf_token cookie on all
  API POST requests; issues the cookie on GET if missing; sets CSP, X-Frame-Options,
  X-Content-Type-Options, and Referrer-Policy on all responses
- Add lib/csrf.ts: client-side apiFetch() wrapper that injects the CSRF header
- Update all client components (login, useFlowRun, docker, caddy, git, systemd)
  to use apiFetch() for POST requests
- Cookie config in login route already correct (NODE_ENV check, httpOnly, sameSite=strict)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 20:01:43 +02:00
..
agent-client.ts feat(docker): agent-client helper, Docker container list page 2026-05-13 17:27:35 +02:00
csrf.ts feat(security): rate-limit /api/flows/start, CSRF double-submit cookie, CSP headers 2026-05-13 20:01:43 +02:00
parse-caddy.ts feat(caddy): add caddy_list_certs whitelist entry and cert parser 2026-05-13 17:48:41 +02:00
parse-docker.ts feat(docker): agent-client helper, Docker container list page 2026-05-13 17:27:35 +02:00
parse-git.ts feat(git): /git overview page and diff viewer 2026-05-13 17:35:11 +02:00
parse-systemd.ts feat(systemd): unit overview + journal viewer pages 2026-05-13 17:41:54 +02:00
prisma.ts feat: Prisma schema, migrations en seed voor auth en audit-log 2026-05-13 17:04:27 +02:00
session.ts feat: login page, session management, auth API routes en proxy guard 2026-05-13 17:10:07 +02:00
utils.ts feat: Next.js + Tailwind + shadcn/ui project skeleton 2026-05-13 16:59:21 +02:00