Skip to content

Commit a64087c

Browse files
Antikodeclaude
authored andcommitted
feat: ship Redact tool (25th tool) — text-run removal + black-box, complete since cycle 131 but never wired up
redact.js/redact-engine.js were a fully working implementation added alongside Grayscale but the HTML page was never built, so the tool was never linked or shipped. Built redact.html, wired it into nav across every page, added it to tools.html's grid, sitemap.xml, and llms.txt. Also caught and fixed a stale "23 tools" count on tools.html itself (missed by prior sweeps of the alternative pages) and bumped the alternative-page counts from 24 to 25. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 133d950 commit a64087c

44 files changed

Lines changed: 969 additions & 16 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ or any static file server — there's no build step.
3131

3232
## Status
3333

34-
Twenty-four tools live: Merge, Split (extract/split-to-zip), Delete Pages (remove
34+
Twenty-five tools live: Merge, Split (extract/split-to-zip), Delete Pages (remove
3535
specific pages by range and keep the rest as one file — unlike Split, which
3636
only pulls a range out or explodes every page, this one lets you drop pages
3737
2 and 4 while keeping 1, 3, 5 together; blocks client-side if the delete
@@ -166,6 +166,13 @@ PDFs with no compressible JPEGs still get re-serialized (object streams on),
166166
which sometimes shaves a little size on its own — the before/after size shown
167167
is always the real result, never a faked number.
168168

169+
Redact (draws a rectangle in page coordinates and tokenizes the affected
170+
page's content stream to drop every Tj/TJ/'/'' text-show operator whose
171+
estimated bounding box overlaps it, deleting the matched text from the file
172+
before drawing a solid black box over the same area) was written alongside
173+
Grayscale but its HTML page went unshipped for several cycles — the JS was
174+
complete and correct, it just had no page to load it. Shipped now.
175+
169176
## Analytics
170177

171178
No-signup visit counter via [counterapi.dev](https://counterapi.dev) — counts

bookmarks.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@
141141
<a href="./bookmarks.html" aria-current="page">Add Bookmarks</a>
142142
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
143143
<a href="./pages-per-sheet.html">Pages per Sheet</a>
144+
<a href="./redact.html">Redact</a>
144145
<a href="./tools.html">All Tools</a>
145146
<a href="./guide.html">Guide</a>
146147
</nav>

border.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
<a href="./bookmarks.html">Add Bookmarks</a>
136136
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
137137
<a href="./pages-per-sheet.html">Pages per Sheet</a>
138+
<a href="./redact.html">Redact</a>
138139
<a href="./tools.html">All Tools</a>
139140
<a href="./guide.html">Guide</a>
140141
</nav>

compress.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@
159159
<a href="./bookmarks.html">Add Bookmarks</a>
160160
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
161161
<a href="./pages-per-sheet.html">Pages per Sheet</a>
162+
<a href="./redact.html">Redact</a>
162163
<a href="./tools.html">All Tools</a>
163164
<a href="./guide.html">Guide</a>
164165
</nav>

crop.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
<a href="./bookmarks.html">Add Bookmarks</a>
136136
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
137137
<a href="./pages-per-sheet.html">Pages per Sheet</a>
138+
<a href="./redact.html">Redact</a>
138139
<a href="./tools.html">All Tools</a>
139140
<a href="./guide.html">Guide</a>
140141
</nav>
@@ -245,7 +246,7 @@ <h2>Deleting pages or splitting a PDF too? Both live too.</h2>
245246
<section class="about">
246247
<h2>Trimming what's visible, not what's there</h2>
247248
<p>Crop sets a custom CropBox on every page — the region a compliant PDF viewer actually renders — by margins you specify for each side, in points. It's the right tool for trimming a wide scan margin or removing a printer's bleed area before sharing a document.</p>
248-
<p>Worth knowing before you rely on this for anything sensitive: cropping doesn't delete the content outside the new CropBox, it only hides it from view. The original page content stream, including anything trimmed away, is still physically present in the file and recoverable by anyone who knows to look for it — this is not a redaction tool. If you need something permanently removed, use <a href="./delete-pages.html">Delete Pages</a> for whole pages, since there's currently no tool here for redacting part of a page's content.</p>
249+
<p>Worth knowing before you rely on this for anything sensitive: cropping doesn't delete the content outside the new CropBox, it only hides it from view. The original page content stream, including anything trimmed away, is still physically present in the file and recoverable by anyone who knows to look for it — this is not a redaction tool. If you need something permanently removed, use <a href="./delete-pages.html">Delete Pages</a> for whole pages, or <a href="./redact.html">Redact</a> if you need to black out and strip the underlying text from part of a page instead.</p>
249250
</section>
250251

251252
</main>

delete-pages.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
<a href="./bookmarks.html">Add Bookmarks</a>
136136
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
137137
<a href="./pages-per-sheet.html">Pages per Sheet</a>
138+
<a href="./redact.html">Redact</a>
138139
<a href="./tools.html">All Tools</a>
139140
<a href="./guide.html">Guide</a>
140141
</nav>

duplicate-pages.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
<a href="./bookmarks.html">Add Bookmarks</a>
136136
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
137137
<a href="./pages-per-sheet.html">Pages per Sheet</a>
138+
<a href="./redact.html">Redact</a>
138139
<a href="./tools.html">All Tools</a>
139140
<a href="./guide.html">Guide</a>
140141
</nav>

extract-images.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
<a href="./bookmarks.html">Add Bookmarks</a>
136136
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
137137
<a href="./pages-per-sheet.html">Pages per Sheet</a>
138+
<a href="./redact.html">Redact</a>
138139
<a href="./tools.html">All Tools</a>
139140
<a href="./guide.html">Guide</a>
140141
</nav>

fill-form.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
<a href="./bookmarks.html">Add Bookmarks</a>
136136
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
137137
<a href="./pages-per-sheet.html">Pages per Sheet</a>
138+
<a href="./redact.html">Redact</a>
138139
<a href="./tools.html">All Tools</a>
139140
<a href="./guide.html">Guide</a>
140141
</nav>

flatten.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
<a href="./bookmarks.html">Add Bookmarks</a>
130130
<a href="./split-by-bookmarks.html">Split by Bookmarks</a>
131131
<a href="./pages-per-sheet.html">Pages per Sheet</a>
132+
<a href="./redact.html">Redact</a>
132133
<a href="./tools.html">All Tools</a>
133134
<a href="./guide.html">Guide</a>
134135
</nav>

0 commit comments

Comments
 (0)