media-rip/backend
xpltd cbaec9ad36 R020: Zero outbound telemetry — CSP + security headers
Verified: no external URLs in frontend (no CDN fonts, no analytics,
no Google Fonts, no external scripts). All fonts use system fallback
chains (JetBrains Mono → Cascadia Code → Fira Code → monospace).
No outbound HTTP calls in backend code.

Added SecurityHeadersMiddleware enforcing:
- Content-Security-Policy: default-src 'self', script/font/connect
  restricted to 'self', style allows 'unsafe-inline' for Vue scoped
  styles, img allows data: URIs, object-src 'none', frame-ancestors
  'none'
- X-Content-Type-Options: nosniff
- X-Frame-Options: DENY
- Referrer-Policy: no-referrer

These headers prevent any accidental introduction of external
resources in future development — CSP violations will block them.
2026-03-19 06:53:08 -05:00
..
app R020: Zero outbound telemetry — CSP + security headers 2026-03-19 06:53:08 -05:00
media_rip.egg-info M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
tests Auto format label with extension, preferences persistence, toast, full delete 2026-03-19 03:16:38 -05:00
.gitignore M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
pyproject.toml M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00
requirements.txt M001: media.rip() v1.0 — complete application 2026-03-18 20:00:17 -05:00