Defensive file handling
The implementation validates extensions, limits extreme file sizes, rejects unsafe ZIP paths, sanitizes download names and avoids inserting file-controlled text as HTML.
Dependency boundary
JSZip and PDF.js are installed through the package lock and bundled into the static build. Production does not fetch core processing code from a public CDN.
Limits
A browser is not an antivirus scanner. Do not open untrusted downloaded documents, and keep the browser and operating system current. Large or intentionally hostile archives can exhaust memory before all content is inspected.