Internal
Public Access
Implements CSP to prevent XSS attacks and complete Mozilla Observatory security requirements. Changes: - Added django-csp>=3.8 to requirements.txt - Added CSPMiddleware to middleware stack - Configured CSP directives in selfhosted.py: - default-src 'self' (only load resources from same origin) - script-src/style-src allow 'unsafe-inline' (needed for Django admin) - img-src allows https: and data: URIs - frame-ancestors 'none' (prevent clickjacking) - form-action 'self' (prevent form hijacking) This policy balances security with Django admin functionality. After deployment, Mozilla Observatory should show all green checks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>