Paperless-ngx — Hardening Checklist

For exposing paperless.czechito.com to the internet via Cloudflare Tunnel. Generated 2026-02-14.

Security Posture Summary

9 published CVEs, all patched, none critical. Active maintenance, responsible disclosure. Documents stored unencrypted at rest — the auth layer is the defense.

SeverityCountWorst Example
Critical0
Moderate4Arbitrary file storage outside app dirs (Jan 2026)
Low5Stored XSS in metadata, ReDoS, auth header bypass

Pre-Exposure Checklist

1. Application Configuration

2. Authentication

3. Cloudflare Tunnel Setup

4. Network / Infrastructure

5. Ongoing Maintenance

Architecture Diagram

Internet
  │
  ▼
Cloudflare Edge (TLS, DDoS, WAF)
  │
  ▼
Cloudflare Access (optional email OTP / IP allowlist)
  │
  ▼ (Cloudflare Tunnel — outbound from DS923+, no inbound ports)
  │
DS923+ → cloudflared container
  │
  ▼
Paperless-ngx container (2FA + OIDC)
  │
  ├── PostgreSQL (internal Docker network only)
  └── Redis (internal Docker network only)