Context
Phase 3 deliverables include security headers. API responses do not set standard hardening headers.
Problem
Browser clients and security scanners flag missing X-Content-Type-Options, X-Frame-Options, and related headers.
Proposed scope
- Add
tower-http SetHeaderLayer or custom middleware
- Set nosniff, DENY frame ancestors, referrer policy
- HSTS header when TLS termination detected (optional env flag)
Acceptance criteria
References
crates/api/src/main.rs
docs/ROADMAP.md Phase 3
docs/security-checklist.md
Context
Phase 3 deliverables include security headers. API responses do not set standard hardening headers.
Problem
Browser clients and security scanners flag missing
X-Content-Type-Options,X-Frame-Options, and related headers.Proposed scope
tower-httpSetHeaderLayer or custom middlewareAcceptance criteria
X-Content-Type-Options: nosniffX-Frame-Options: DENYor CSP frame-ancestorsReferences
crates/api/src/main.rsdocs/ROADMAP.mdPhase 3docs/security-checklist.md