惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
P
Privacy International News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
Project Zero
Project Zero
T
Threatpost
Spread Privacy
Spread Privacy
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
AWS News Blog
AWS News Blog
H
Heimdal Security Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
P
Privacy & Cybersecurity Law Blog
J
Java Code Geeks
罗磊的独立博客
博客园 - Franky
博客园 - 叶小钗
S
Security Affairs
月光博客
月光博客
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The Last Watchdog
The Last Watchdog
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
A
Arctic Wolf
Cloudbric
Cloudbric
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V2EX - 技术
V2EX - 技术
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News | PayPal Newsroom
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
W
WeLiveSecurity
云风的 BLOG
云风的 BLOG
The Register - Security
The Register - Security
I
InfoQ
F
Fortinet All Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
Lohrmann on Cybersecurity

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Merge PDFs Privately: No Upload, No Adobe [2026 Guide]
Luca Sammarc · 2026-04-23 · via DEV Community

The privacy problem with online PDF mergers

Search merge PDF online and the top ten results are all variations of the same architecture: you drop files onto a web form, the files POST to a server, a backend process merges them, the result comes back as a download link. The UX looks instant. The privacy footprint is not.

Every one of those servers holds your documents for at least a few minutes, sometimes hours. Most privacy policies promise deletion after 1 to 2 hours or when processing completes. That is probably true for normal traffic. It is not verifiable. It does not help you if a server is compromised during the window. It does not help you if the vendor is subpoenaed. It does not help you if the vendor is secretly training a machine learning model on the documents flowing through.

For most casual use this is fine. Combining two photos of a grocery receipt — who cares. But PDF is the universal format for sensitive documents: invoices with business details, contracts with signatures, tax returns, medical records, bank statements, legal filings. Routing these through a third-party server violates internal security policies at almost every company.

How browser-based PDF merge works

Modern browsers are full application runtimes. They can read files from your disk via the File API, parse binary formats in JavaScript, and download the result as a Blob — without ever sending the bytes over the network.

SammaPix PDF Merge uses pdf-lib, an open-source PDF manipulation library written in TypeScript. The library implements the PDF specification well enough to parse a PDF byte stream into a document object, copy pages across documents while preserving shared resources, serialize the merged document back to PDF bytes, and return the bytes as a Blob for download.

The entire operation happens inside your browser tab JavaScript sandbox. Open DevTools Network during a merge and you will see zero outbound requests that contain your PDF data. The only traffic is the initial page load and optional analytics pixels that contain no file content. Read the tool source yourself — pdf-lib is MIT-licensed on GitHub.

How major PDF tools handle your files

A quick audit of top-ranked PDF mergers in April 2026. iLovePDF: uploads server-side, retains for a few hours. SmallPDF: uploads server-side, retains for 1 hour per policy. PDF24: uploads server-side, short time unspecified. Adobe online: uploads to Adobe cloud, manual deletion required. PDFsam desktop: runs locally, open source Java, no upload. SammaPix PDF Merge: browser only, no transmission.

The four server-based services are generally reputable and their claims are probably honest. The point is not that they are evil — it is that you cannot verify the claims and you do not have to make the tradeoff at all.

When PDF privacy matters

Privacy concerns are not paranoia — they map to concrete, common situations. Freelance invoicing: your invoices contain client names, rates, business addresses. Employment contracts and offers: signed versions contain full names, SSN, salary details, home addresses. Medical records: HIPAA in the US and GDPR in the EU put meaningful liability on transmission to unqualified third parties. Tax returns: often contain full financial fingerprints. Legal filings: attorney-client privileged material must not transit third-party cloud services.

Encrypted and password-protected PDFs

PDF has two common encryption modes that often get conflated. Encrypted-for-viewing: the file is technically encrypted but the viewing password is blank. Adobe Reader opens it without prompting. Most office-generated PDFs are in this category. Password-required: genuinely locked, requires the password to render.

SammaPix PDF Merge loads PDFs with ignoreEncryption true which handles case 1 transparently. Case 2 requires the password to decrypt before merging.

What gets preserved in the merge

Text content: yes, pixel-perfect. Images and graphics: yes, pixel-perfect. Fonts embedded and non-embedded: yes. Hyperlinks: yes. Form fields fillable: yes, mostly. Annotations and comments: partial, simple ones preserved. Digital signatures: preserved but invalidated because merge changes bytes. Document-level bookmarks: not preserved, known limitation. Attachments (files embedded in PDF): partial.

For bookmark-heavy workflows a desktop tool like Adobe Acrobat or PDFsam is better. For invoicing, contract packs, and most office use cases the browser-based merge handles everything.

The merge workflow step by step

One: open SammaPix PDF Merge. Any modern browser works. Two: drop up to 10 PDFs on the free plan, 50 on Pro, 100 megabytes per file max. Three: drag rows up or down to set the final order. Click the trash icon to remove files. Four: click Merge N PDFs. Progress bar shows page-by-page combine. Five: download the merged PDF.

How to verify no upload happened

Do not take our word for it. Verify yourself. One: open Chrome or Firefox DevTools. Two: go to the Network tab. Three: check Preserve log so entries persist across page changes. Four: load the PDF Merge page and clear the log. Five: drop your PDFs and run the merge. Watch the Network tab. Six: no requests with your PDF bytes as payload. The only entries will be static assets or at most a small analytics beacon with zero file content.

Offline alternatives if you need desktop

For larger batches, bookmark-preserving merges, or air-gapped environments, these desktop tools run fully offline. PDFsam Basic: open source Java app, Windows Mac Linux, preserves bookmarks, no file size limit. pdftk: command-line tool for Linux Mac, scriptable, preserves everything. Preview on macOS: built-in, drag pages between PDFs in thumbnails view. Adobe Acrobat Pro: paid, full feature set.

Free browser-based PDF tools

SammaPix runs three complementary PDF tools, all client-side via pdf-lib. PDF Merge for combining multiple PDFs. JPG to PDF for building PDF from images. PDF to Image for extracting images from PDF.

FAQ

Do most free PDF mergers upload my files? Yes — most of them. iLovePDF, SmallPDF, PDF24, Adobe online all route uploads through servers. Browser-based tools like SammaPix PDF Merge run locally.

Is merging PDFs in the browser secure for sensitive documents? Yes — provably more secure than server-based alternatives. Verify by opening DevTools Network tab during a merge.

How does pdf-lib handle encrypted PDFs? SammaPix loads with ignoreEncryption true which handles encrypted-for-viewing transparently. Password-required PDFs must be decrypted first.

Can I reorder PDFs before merging? Yes. Drag rows up or down after upload.

What is the file size limit? Up to 100 megabytes per file, 10 files per batch on free, 50 on Pro.

Does the merged PDF preserve bookmarks and form fields? Text images page layout and most form fields are preserved cleanly. Document-level bookmarks are a known limitation of client-side PDF libraries.


Originally published at sammapix.com

Try it free: SammaPix — 27 browser-based image tools. Compress, resize, convert, remove background, and more. Everything runs in your browser, nothing uploaded.