Skip to content
AB

Product requirements document

Live, with users

DailyToolNest

Free, no-account PDF, image, data and date tools, with a Sensitive mode that runs entirely in the browser and a privacy claim anyone can verify.

Last updated

1. Summary

DailyToolNest is a free, no-account suite of everyday file utilities: 19 tools for PDFs, images, data files and dates. Every file tool offers two modes. Sensitive mode processes the file entirely in the browser with WebAssembly, on a separate origin that the browser itself stops from sending data anywhere. Normal mode handles files too large for the device on an encrypted, sandboxed server that deletes them within minutes. The product is live at dailytoolnest.com and has live users.

2. Problem and context

Who has the problem. Anyone who needs to compress, merge, split or convert a file quickly: office workers, students, job seekers, small businesses and people handling their own paperwork.

What it costs them. Free online converters usually require uploading the file to an unknown server. People upload tax returns, bank statements, IDs, contracts and medical records without knowing how long the file is kept, who can read it, or whether it is used for something else. Many of these sites also rely on ads, fake download buttons, countdown timers and forced sign-ups.

The gap. Privacy claims on these sites can't be checked. DailyToolNest is built so the privacy claim for Sensitive mode can be verified by the user in the browser's own network panel.

3. Users and personas

PersonaWhat they need
Privacy-conscious professionalProcess a confidential contract, ID or financial record without it leaving the laptop
Everyday user on a phoneShrink a PDF or photo to meet an upload limit, convert an iPhone HEIC photo, with no account
Office or admin workerMerge, split, reorder and rotate PDF pages; convert CSV and JSON; count working days between dates
Technical or security reviewerConfirm for themselves that nothing is uploaded, and read how the system is built

4. Goals and non-goals

Goals

  • Make the private option the easy option: Sensitive mode is offered before a file is chosen.
  • Make the privacy claim verifiable, not just stated.
  • Handle large files honestly: say when a file is too big for the device and let the user choose Normal mode, never upload silently.
  • Keep pages clean: no ads, no dark patterns, no third-party analytics.

Non-goals (stated on the site's Limitations page)

  • OCR, true redaction, PDF/A conversion and multi-gigabyte data tools.
  • Accounts, saved history, a paid tier, API keys and large batch processing.
  • A desktop app and interface languages other than English.

5. Requirements

Functional requirements

F-1. Choose the processing mode first. As a user, I want to pick on-device or server processing before I select a file, so that I know where my file will go.

  • Each file tool shows both modes and explains them in plain language before the file picker.
  • Sensitive mode opens on the separate device origin.

F-2. Process on the device. As a privacy-conscious user, I want the tool to run in my browser, so that my file is never uploaded.

  • Processing runs in WebAssembly inside Web Workers.
  • No request carrying file data leaves the browser; the device origin's Content Security Policy blocks outbound connections.

F-3. Know the device limit. As a user on a phone, I want to know if my file is too large for my device before I start.

  • The tool estimates a safe limit from the device's reported memory and CPU count and shows it.
  • If the file is too large, the tool says so and offers Normal mode. It never uploads without the user choosing to.

F-4. Process on the server when needed. As a user with a large file, I want to use a server without leaving my file behind.

  • The user confirms server processing explicitly.
  • The file and its output are deleted when the page closes, five minutes after the download, or after fifteen minutes, whichever comes first.

F-5. Preview before and after. As a user, I want to see the file I picked and the file I got back.

  • Previews render in the browser from bytes it already has, so in Normal mode previewing sends nothing.
  • When a preview can't be produced (password-protected or damaged PDFs, multi-file ZIP results), the tool says why.

F-6. Never make a file worse for nothing. As a user compressing a PDF, I want to choose between lossless and lossy compression.

  • "Keep quality" is lossless and is the default. "Smaller" and "Smallest" re-encode images, and the tool says so first.
  • Compress PDF never returns a file larger than the input.

F-7. Verify it myself. As a reviewer, I want step-by-step instructions to confirm Sensitive mode sends nothing.

  • A public guide explains how to check the Network panel and the CSP header.

Tool catalogue (live)

  • PDF (8): Compress, Merge, Split, Rotate, Organize, PDF to JPG, Flatten, JPG to PDF
  • Image (3): Image Compressor (JPEG, PNG, WebP, AVIF), Image Resizer, HEIC to JPG
  • Data (2): CSV to JSON, JSON to CSV
  • Date (4): Days Between Dates, Age Calculator, Business Days Calculator, Add or Subtract Days

Non-functional requirements

AreaRequirement
PrivacySensitive mode has zero egress of file bytes, enforced by the browser through CSP on a separate origin
SecurityTLS 1.3 in transit; AES-256-GCM at rest; gVisor-sandboxed containers with network egress disabled
RetentionServer files and their keys are destroyed on a fixed timer (15 minutes at most)
AnalyticsNo third-party analytics or ad trackers; visits are counted with a hash whose secret is replaced every night
HostingSelf-hosted in Nuremberg, Germany, under GDPR
Supply chainWASM engines built from open-source libraries (qpdf, libheif, jSquash); build hashes and SBOM published at /.well-known/dtn-build.json
CompatibilitySensitive mode needs a modern browser with WebAssembly and Web Workers; Normal mode has no such requirement
AccessibilityAssumption: pages follow WCAG AA (skip link present; full audit not confirmed)

6. Solution overview and architecture

DailyToolNest two-origin architectureThe user chooses a mode: Sensitive mode, Normal mode. Then Where it runs: Static Vite app, Next.js App Router. Then Processing: In the browser, Processing sandbox. Then Storage and deletion: Never uploaded, Encrypted job storageTHE USER CHOOSES A MODESensitive modedevice.dailytoolnest.comNormal modedailytoolnest.comWHERE IT RUNSStatic Vite appWASM in Web Workers;CSP blocks all outboundconnectionsNext.js App RouterBehind Caddy; TLS 1.3to the sandboxPROCESSINGIn the browserqpdf, libheif, jSquashas WebAssemblyProcessing sandboxgVisor container, nonetwork egressSTORAGE AND DELETIONNever uploadedThe file stays on thedeviceEncrypted jobstorageAES-256-GCM; shreddedon close, 5 min afterdownload or at 15 min
Sensitive mode (left) never sends file bytes anywhere: the device origin's CSP blocks all outbound connections. Normal mode (right) uses a sandboxed server that shreds files on a fixed timer.
  • Main origin (dailytoolnest.com): Next.js App Router. Serves the tool pages, guides, documentation and Normal-mode processing.
  • Device origin (device.dailytoolnest.com): a static Vite build with no server rendering, no API endpoints and no backend state. Its CSP (default-src 'none', connect-src locked down, frame-ancestors 'none', form-action 'none') means even the site's own code cannot send a file anywhere.
  • Processing engines: qpdf, libheif and jSquash compiled to WebAssembly for the browser; the same jobs run in sandboxed containers for Normal mode.
  • Server limits (Limitations page): 40 MB per file, 120-second jobs, 100 MB output, up to 5 files per merge.

The product's own Security Architecture page describes the two-origin isolation in more detail.

7. AI design

DailyToolNest does not use AI to process files. All processing is deterministic. The site states that documents are never inspected, sold or used to train AI models.

8. Success metrics

Confirmed

  • Live at dailytoolnest.com with live users.
  • 19 tools across 4 categories.

Metrics to track

  • Daily distinct visitors (from the privacy-preserving visit count)
  • Jobs completed per tool, split by Sensitive and Normal mode
  • Share of jobs run in Sensitive mode
  • Share of Sensitive-mode jobs that hit the device limit and switch to Normal mode
  • Job failure rate per tool
  • Median processing time per tool and mode

9. Release history and roadmap

WhenRelease
LaunchPublic launch with PDF, image, data and date tools, Sensitive and Normal modes

Not built yet (from the Limitations page): OCR, true redaction (a flattened-redaction design exists but hasn't shipped), PDF/A conversion, larger data tools.

10. Risks and open questions

Risks

  • Device memory. Low-memory phones have a lower Sensitive-mode limit, which pushes more users toward Normal mode.
  • Preview glyphs. On the device origin, PDF previews can't fetch the character maps some non-Latin fonts need, so a few previews show missing glyphs. The output file isn't affected.
  • Trust in Normal mode. Server processing is protected and short-lived, but users still have to trust it; the product therefore steers confidential files to Sensitive mode.

11. My role

Assumption: Amar conceived, designed, built and runs DailyToolNest end to end: product definition, the two-origin privacy architecture, the WebAssembly processing engines, the sandboxed server pipeline, the self-hosted infrastructure in Germany and the public trust documentation.