NecmiCömert._← Back to work

Secure Application Development // case study

PDFSentry

A defensive PDF quarantine and static-analysis workflow with layered inspection, explainable scoring and private reports.

Authenticated quarantine
PDFSentry secure sign-in interface
QuarantineStatic analysisAudit trail
01 / Problem

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.

02 / Solution

What I built

PDFSentry streams authenticated uploads into webroot-external quarantine, creates analysis jobs and combines ClamAV, qpdf and pikepdf signals into an honest, traceable result.

03 / Product

Core
capabilities

  1. 01

    Authenticated PDF uploads up to 15 MB

  2. 02

    Quarantine with normalized UUID filenames

  3. 03

    Layered static inspection and antivirus scanning

  4. 04

    0–100 scoring with private analysis reports

04 / Engineering

Clear boundaries.
Useful outcomes.

StackReact · FastAPI · PostgreSQL · Docker · ClamAV · qpdf · pikepdf

05 / What I learned

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.

06 / Next steps

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