<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Regentflow</title>
    <description>The latest articles on DEV Community by Regentflow (@regentflow).</description>
    <link>https://dev.to/regentflow</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4195848%2Fc78a54ca-85d3-4097-9c56-a8221025f041.png</url>
      <title>DEV Community: Regentflow</title>
      <link>https://dev.to/regentflow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/regentflow"/>
    <language>en</language>
    <item>
      <title>28 of our 30 PDF tools never touch a server. Here's how we built them</title>
      <dc:creator>Regentflow</dc:creator>
      <pubDate>Tue, 20 Oct 2026 09:47:18 +0000</pubDate>
      <link>https://dev.to/regentflow/28-of-our-30-pdf-tools-never-touch-a-server-heres-how-we-built-them-4e6m</link>
      <guid>https://dev.to/regentflow/28-of-our-30-pdf-tools-never-touch-a-server-heres-how-we-built-them-4e6m</guid>
      <description>&lt;p&gt;Most free PDF sites work the same way: you upload your file, their server does the work, and you download the result. That's fine for a menu. It's less fine for a payslip, a supplier contract or a staff ID scan.&lt;/p&gt;

&lt;p&gt;When we built &lt;a href="https://regentflow.io/pdf-tools" rel="noopener noreferrer"&gt;PDF Studio&lt;/a&gt; inside Regentflow, we set a rule: &lt;strong&gt;by default, the file never leaves the device.&lt;/strong&gt; 28 of the 30 tools follow it completely. The other two have an optional AI feature, and they say so before it runs (more on that below).&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;p&gt;Everything runs in the browser with four libraries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;pdf-lib&lt;/strong&gt; for writing, merging, splitting and editing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;@pdf-lib/fontkit&lt;/strong&gt; for embedding fonts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pdf.js&lt;/strong&gt; (pdfjs-dist) for rendering and parsing pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SheetJS&lt;/strong&gt; for Excel to PDF&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The browser reads the file locally, the work happens in JavaScript on the page, and the result comes back as a download. There's no upload step, so there's nothing on a server to leak, keep or delete.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two exceptions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Redact PDF&lt;/strong&gt; has an optional "AI find" for scanned pages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF Editor&lt;/strong&gt; has an optional AI read and rewrite.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To read a scanned page, these send an image of that one page to our server and an AI model. They cost credits, never run automatically, and every other part of those tools stays local. We'd rather say this plainly than hide it in a privacy policy.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Organise pages:&lt;/strong&gt; &lt;a href="https://regentflow.io/business-tools/merge-pdf" rel="noopener noreferrer"&gt;merge&lt;/a&gt;, &lt;a href="https://regentflow.io/business-tools/split-pdf" rel="noopener noreferrer"&gt;split&lt;/a&gt;, rotate, crop, page organizer, compare&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make it smaller:&lt;/strong&gt; &lt;a href="https://regentflow.io/business-tools/compress-pdf" rel="noopener noreferrer"&gt;compress&lt;/a&gt;, flatten&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protect it:&lt;/strong&gt; &lt;a href="https://regentflow.io/business-tools/redact-pdf" rel="noopener noreferrer"&gt;redact&lt;/a&gt;, watermark, metadata editor, inspect &amp;amp; clean&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edit and fill:&lt;/strong&gt; PDF editor, fill &amp;amp; add text, e-sign, annotate, find &amp;amp; replace, form filler&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Convert:&lt;/strong&gt; image to PDF, PDF to images, PDF to text, PDF to Word, Excel to PDF&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extras:&lt;/strong&gt; page numbers, headers &amp;amp; footers, extract &amp;amp; rebuild text, font detection, certificates, report builder, batch&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What it costs
&lt;/h2&gt;

&lt;p&gt;Every tool is free and unlimited. The one exception is the PDF editor: editing is free, and downloading the edited file costs A$1 (or A$5 for ten). Pro members get unlimited downloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a business-tools company built this
&lt;/h2&gt;

&lt;p&gt;Regentflow is mostly team tools for cafes, bars and restaurants: stocktakes your whole team counts on their own phones, rosters built from staff availability, and free invoices. Our users kept leaving to fix a PDF somewhere else. Now they don't have to.&lt;/p&gt;

&lt;p&gt;Try it: &lt;strong&gt;&lt;a href="https://regentflow.io/pdf-tools" rel="noopener noreferrer"&gt;regentflow.io/pdf-tools&lt;/a&gt;&lt;/strong&gt;. Which tool should we build next?&lt;/p&gt;

</description>
      <category>pdf</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
