Why it matters
A .pdf extension or MIME type does not make an uploaded document trustworthy. Malformed structures, active content and scanner failures all need explicit handling.
Secure Application Development // case study
A defensive PDF quarantine and static-analysis workflow with layered inspection, explainable scoring and private reports.
A .pdf extension or MIME type does not make an uploaded document trustworthy. Malformed structures, active content and scanner failures all need explicit handling.
PDFSentry streams authenticated uploads into webroot-external quarantine, creates analysis jobs and combines ClamAV, qpdf and pikepdf signals into an honest, traceable result.
Authenticated PDF uploads up to 15 MB
Quarantine with normalized UUID filenames
Layered static inspection and antivirus scanning
0–100 scoring with private analysis reports
StackReact · FastAPI · PostgreSQL · Docker · ClamAV · qpdf · pikepdf
Secure file handling is a workflow, not a MIME check. Quarantine, ownership, bounded processing, failure semantics and verdict language have to agree across the full system.
Recursive embedded-object scanning, stale-job recovery, secure cookie authentication, stronger object-graph analysis and encrypted retention policies remain deliberate improvements.
Source code, setup instructions and the complete technical documentation are available in the repository.
Open repository ↗