Skip to content

feat: add PDF password removal - #210

Merged
mithun-srinivas merged 1 commit into
mithun-srinivas:mainfrom
Pawankumar3210:feature/unlock-pdf
Sep 2, 2026
Merged

mithun-srinivas merged 1 commit into
mithun-srinivas:mainfrom
Pawankumar3210:feature/unlock-pdf

Conversation

@Pawankumar3210

Copy link
Copy Markdown
Contributor

Which issue does this close?

Closes #84

What changed

Added a new Unlock PDF operation at src/operations/unlock-pdf/.

The tool lets users select a password-protected PDF, enter the known password, and download an unprotected copy. It uses the same locally bundled qpdf WebAssembly engine introduced for Protect PDF and runs entirely in the browser.

The implementation follows DoxDock's plugin pattern and reuses the shared Dropzone, Progress, Note, DownloadButton, and useJob components.

Acceptance criteria

  • Given the correct password, the output PDF opens without requiring a password.
  • A wrong password shows a clear error and does not produce an output.
  • Runs fully offline with no external network requests.

Checklist

  • Runs fully offline: no network calls, no CDNs, no external assets.
  • Uses the same local qpdf WebAssembly engine as Protect PDF.
  • Follows the plugin pattern and reuses shared components.
  • npm test — 40/40 tests passed.
  • npm run build — passed.
  • ESLint — passed.

Proof

Manual browser testing with a real password-protected PDF confirmed:

  • Correct password → PDF successfully unlocked.
  • Wrong password → clear error displayed and no output produced.
  • Empty password → Unlock PDF action remains disabled.
  • The downloaded unlocked PDF opens without requesting a password.

The UI also clearly states that the tool only removes protection when the user already knows the password and does not crack or bypass passwords.

@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

@Pawankumar3210 is attempting to deploy a commit to the Mithun Srinivas' projects Team on Vercel.

A member of the Team first needs to authorize it.

@mithun-srinivas

Copy link
Copy Markdown
Owner

Perfect companion to Protect PDF @Pawankumar3210, thanks. Reusing the same local qpdf engine, decrypting only with the password the user provides, and being upfront that it does not crack or bypass anything is exactly right. The clear error on a wrong password and the zero-external-network E2E check make this a clean one.

Merging now, every check is green. Small follow-up on our side: I'll add a proper unlock icon so it does not fall back to the generic document glyph. Thanks for closing out the security pair!

@mithun-srinivas
mithun-srinivas merged commit d1b7119 into mithun-srinivas:main Sep 2, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unlock PDF — remove a known password from a PDF

2 participants