-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprivacy.html
More file actions
189 lines (177 loc) · 9.7 KB
/
Copy pathprivacy.html
File metadata and controls
189 lines (177 loc) · 9.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0d0f0c" />
<meta name="format-detection" content="telephone=no, date=no, address=no, email=no" />
<link rel="preload" href="vendor/fonts/ibmplexmono-400.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="vendor/fonts/fraunces-normal-300.woff2" as="font" type="font/woff2" crossorigin />
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data: blob:; font-src 'self'; connect-src 'self' https://api.counterapi.dev https://formsubmit.co; object-src 'none'; base-uri 'self'; form-action 'self' https://formsubmit.co;" />
<meta name="referrer" content="strict-origin-when-cross-origin" />
<title>Privacy Policy — ClientPDF</title>
<meta name="description" content="ClientPDF's privacy policy: PDF processing happens in your browser; files are never uploaded. Data: an anonymous visit counter and optional waitlist email." />
<link rel="canonical" href="https://abyworkings-coder.github.io/clientpdf/privacy.html" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Privacy Policy — ClientPDF" />
<meta property="og:description" content="PDF processing happens entirely in your browser. Files are never uploaded. Here's exactly what data ClientPDF does and doesn't collect." />
<meta property="og:url" content="https://abyworkings-coder.github.io/clientpdf/privacy.html" />
<meta property="og:site_name" content="ClientPDF" />
<meta property="og:image" content="https://abyworkings-coder.github.io/clientpdf/og-image.jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Privacy Policy — ClientPDF" />
<meta name="twitter:description" content="PDF processing happens entirely in your browser. Files are never uploaded." />
<meta name="twitter:image" content="https://abyworkings-coder.github.io/clientpdf/og-image.jpg" />
<link rel="icon" href="./logo.svg" type="image/svg+xml" />
<link rel="icon" href="./favicon-32.png" sizes="32x32" type="image/png" />
<link rel="icon" href="./favicon-16.png" sizes="16x16" type="image/png" />
<link rel="apple-touch-icon" href="./apple-touch-icon.png" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://abyworkings-coder.github.io/clientpdf/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Privacy Policy",
"item": "https://abyworkings-coder.github.io/clientpdf/privacy.html"
}
]
}
</script>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<a class="skip-link" href="#main-content">Skip to main content</a>
<noscript><div class="noscript-banner">ClientPDF requires JavaScript — all files are processed locally in your browser and never uploaded. Please enable JavaScript to use these tools.</div></noscript>
<div class="grain"></div>
<header class="topbar">
<div class="wrap topbar-inner">
<div class="brand">
<span class="brand-mark">◆</span>
<span class="brand-name">Client<em>PDF</em></span>
</div>
<nav class="toolnav" aria-label="Tools">
<a href="./index.html">Merge</a>
<a href="./split.html">Split</a>
<a href="./delete-pages.html">Delete Pages</a>
<a href="./duplicate-pages.html">Duplicate Pages</a>
<a href="./insert-pages.html">Insert Blank Pages</a>
<a href="./rotate.html">Rotate</a>
<a href="./reorder.html">Reorder</a>
<a href="./compress.html">Compress</a>
<a href="./page-numbers.html">Page Numbers</a>
<a href="./images-to-pdf.html">Images to PDF</a>
<a href="./extract-images.html">Extract Images</a>
<a href="./pdf-to-jpg.html">PDF to JPG</a>
<a href="./watermark.html">Watermark</a>
<a href="./metadata.html">Metadata</a>
<a href="./crop.html">Crop Pages</a>
<a href="./resize.html">Resize Pages</a>
<a href="./grayscale.html">Grayscale PDF</a>
<a href="./border.html">Page Borders</a>
<a href="./image-watermark.html">Image Watermark</a>
<a href="./flatten.html">Flatten Form Fields</a>
<a href="./fill-form.html">Fill Form Fields</a>
<a href="./bookmarks.html">Add Bookmarks</a>
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
<a href="./pages-per-sheet.html">Pages per Sheet</a>
<a href="./redact.html">Redact</a>
<a href="./tools.html">All Tools</a>
<a href="./guide.html">Guide</a>
</nav>
<div class="topbar-status">
<span class="dot" aria-hidden="true"></span>
<span>running locally in this tab — nothing uploaded</span>
</div>
</div>
</header>
<main class="wrap" id="main-content" tabindex="-1">
<article class="article">
<h1>Privacy Policy</h1>
<p class="article-meta">Last updated 2026-08-05 · plain-language version, no legalese</p>
<p>
ClientPDF is a static, client-side tool. There is no backend server that your files
pass through. This page explains exactly what happens to your data — because most
"free PDF tool" privacy policies are long enough that nobody reads them, and this one
isn't going to be.
</p>
<h2>Your PDF files never leave your device</h2>
<p>
Every tool on this site — merge, split, compress, rotate, watermark, and the rest —
runs entirely in your browser using <a href="https://github.com/Hopding/pdf-lib" target="_blank" rel="noopener">pdf-lib</a>,
a JavaScript library. When you drop a file into any tool, it's read and processed in
your browser's memory and never transmitted anywhere. You can verify this yourself:
open DevTools, watch the Network tab, and use any tool — see <a href="./guide.html">this guide</a>
for the exact 10-second test. We don't store your files, we don't see your files, and
we have no way to access your files, because they never reach us.
</p>
<h2>What we do collect</h2>
<p>We collect two things, and nothing else:</p>
<ol>
<li>
<strong>An anonymous page-view counter.</strong> Each page load pings a counter
service with a coarse bucket for where the visit came from (<code>github</code>,
<code>direct</code>, or <code>other</code>) — no cookies, no IP logging on our end,
no per-visitor identifier. It's a total-count tool, not a tracking tool. You can see
the exact code for this in the inline script at the bottom of any page.
</li>
<li>
<strong>An email address, only if you submit it.</strong> Every tool page has an
optional "Notify me" form for a future Pro batch-mode tier. If you type your email
into that form and submit it, it's forwarded via <a href="https://formsubmit.co" target="_blank" rel="noopener">formsubmit.co</a>
to the site operator, along with the URL path of the tool page you submitted it from
(e.g. <code>/redact.html</code>), so we know which tool prompted the signup, for the
sole purpose of letting you know when Pro is available.
We don't sell it, share it with third parties, or use it for anything else. If you
don't submit that form, we don't have your email. As a fallback in case that network
request fails, the browser also keeps a local copy of what you submitted in your own
<code>localStorage</code> — this never leaves your device and isn't a cookie or a
tracker, it just means the signal isn't lost if the request to formsubmit.co doesn't
go through.
</li>
</ol>
<h2>What we don't do</h2>
<ul>
<li>No tracking or profiling analytics (no Google Analytics, no Meta Pixel, no per-visitor identifiers, no cross-site tracking) — the only external calls this site makes are the anonymous page-view counter and, if you submit the waitlist form, the formsubmit.co request described above.</li>
<li>No advertising trackers.</li>
<li>No cookies.</li>
<li>No accounts, no login, no user profiles.</li>
<li>No selling or sharing of any data with anyone.</li>
</ul>
<h2>Who operates this site</h2>
<p>
ClientPDF is built and run by <a href="https://github.com/abyworkings-coder" target="_blank" rel="noopener">Auto Company</a>
(GitHub: <a href="https://github.com/abyworkings-coder" target="_blank" rel="noopener">abyworkings-coder</a>).
This is a solo-operator static tool, not a company with a dedicated legal or support team.
There's no formal support email yet — the best way to reach us is by opening an issue on
the <a href="https://github.com/abyworkings-coder/clientpdf" target="_blank" rel="noopener">GitHub repository</a>.
</p>
<h2>Changes to this policy</h2>
<p>
If what this site collects ever changes, this page will be updated to reflect it —
the "Last updated" date above will move. Given the site's design (no server, no
accounts), we don't expect that to happen often.
</p>
<p class="article-meta">See also: <a href="./terms.html">Terms of Service</a>.</p>
</article>
</main>
<footer class="footer">
<div class="wrap footer-inner">
<span>ClientPDF — built by <a href="https://github.com/abyworkings-coder" target="_blank" rel="noopener">Auto Company</a></span>
<span>No servers were harmed in the making of this tool.</span>
<span class="footer-legal"><a href="./privacy.html">Privacy</a> · <a href="./terms.html">Terms</a></span>
</div>
</footer>
<script src="./counter.js"></script>
</body>
</html>