Skip to main content
ImageDocResizer

How We Handle Your Files

Last updated: 1 November 2026

ImageDocResizer is built on a simple technical principle: files should exist on our servers only for the duration required to complete your requested processing, and not a moment longer. Below is an exhaustive technical description of how data moves through our architecture.

1. Where and How Files Are Processed

ImageDocResizer is a server-side processing utility. Unlike browser-only tools that struggle with large files or complex document formats, processing is executed on our dedicated Linux application server (VPS) running an optimized Node.js and Express backend.

We utilize enterprise-grade native libraries for performance and fidelity: Libvips (via Sharp) for image resizing and format conversion, Ghostscript (executed with strict -dSAFER containment) for PDF rasterization and downsampling, and LibreOffice in headless mode for document conversions (Word, Excel, PowerPoint, OpenDocument).

Incoming web traffic is proxied through Cloudflare Edge servers, enforcing modern TLS 1.3 encryption in transit, HTTP/3 delivery, and DDoS mitigation before requests reach our origin reverse proxy.

2. In-Memory Processing vs. Temporary Storage

Single Image Operations: For individual image resizing and format conversions (e.g. resizing a JPG to 100 KB), processing is executed entirely in-memory using Node.js RAM buffers. The input buffer is received, processed by Libvips, and streamed directly back to your browser without ever being written to the server hard disk.

Batch Processing & CLI Documents: When you process batches of multiple images (up to 5 files) or convert complex documents (PDF, DOCX, XLSX, PPTX), temporary working files are written to the operating system temporary directory (os.tmpdir()) under isolated random UUID prefixes.

These temporary files serve only to allow CLI tools to read source data and write output files, and to allow batch downloads via ZIP archive.

3. Retention Limits and Automated File Sweeping

Hard Retention Ceiling: The maximum lifespan of any temporary file on our server is exactly 1 hour (60 minutes).

Automated Cleanup Sweeper: A dedicated background sweeper function (sweepOrphanedFiles) runs automatically on server boot and repeats continuously at 10-minute intervals. The sweeper inspects all batch directories and temporary files with application prefixes (such as pdfcomp_, gs_in_, gs_out_, doc_lo_, and batch_).

Definitive Unlinking: Any file or temporary directory with a modified timestamp older than 60 minutes is unlinked and permanently deleted from the filesystem using synchronous deletion routines. Uploaded and converted files are strictly excluded from all server backup snapshots.

4. Rate Limiting and What Is (and Is Not) Logged

Abuse Prevention: To protect server availability, we enforce rate limiting using express-rate-limit. General image operations permit up to 60 requests per minute per IP, while heavy document conversions permit up to 10 requests per minute.

In-Memory Rate Limiting: Rate limit counters and client IP addresses (derived via trusted Cloudflare proxy headers) are maintained strictly in transient server memory (RAM) within a 60-second sliding window. IP addresses are NOT written to a database, NOT logged to persistent disk files, and NOT retained across server reboots.

Zero Permanent Request Logs: We do not maintain access databases, user lookup tables, file hash registries, or query logs linked to personal identifiers.

5. Zero Cookies and Zero Third-Party Trackers

No Tracking Cookies: ImageDocResizer does not set session cookies, advertising cookies, or persistent local storage identifiers in your browser.

No Third-Party Analytics: There are zero third-party tracking scripts, advertising SDKs, Google Analytics tags, or Facebook tracking pixels loaded on any page.

EXIF & Metadata Stripping: When processing images through our Sharp/Libvips pipeline, embedded EXIF camera metadata, GPS coordinates, device serial numbers, and thumbnail caches are stripped automatically to protect your privacy.

6. Operational File Limits

Images: Maximum 25 MB per file; maximum batch size of 5 images simultaneously.

PDF Documents: Maximum 50 MB per file.

Office Documents: Maximum 50 MB per file (Word, Excel, PowerPoint, ODT, ODS, RTF, CSV, TXT).

Files exceeding these ceilings are rejected immediately at the gateway before processing begins.

7. Architecture Details for Owner Confirmation

In accordance with our technical transparency policy, the following infrastructural details reflect verified code settings and are documented for user confirmation:

• Origin Server: Dedicated Linux VPS behind Nginx reverse proxy with trust-proxy set to 2 hops for Cloudflare edge compatibility.

• Host Log Rotation: Standard Nginx access logs on the operating system host level follow default distribution log rotation (weekly gzip retention, rotated and purged).

• Confirmation Note: If you require custom data processing agreements or specialized enterprise compliance documentation, please contact our administrative team at contact@imagedocresizer.com.