Repository navigation
Keep encrypted PDF passwords outside assistant tool arguments - #231
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Private local PDF password entry replaces password-bearing assistant tool arguments. Credentials are memory-only, exact-source/session-bound, expire, and can be locked. Legacy arguments reject before work without reflection. Existing permissions and encrypted-output safeguards remain.
Verification
Independent source and exact-package review PASS. Darwin arm64 Node v22.23.2 results:
Exact review package: b827a0144f88d5501c4e4a0284c9b022c196c0a8 in Open-Document-Alliance/pdf-tools-plugin#1. Built from 4b89180, version 0.14.0+127.g4b89180, with 1,595 files. All 39 packaged server blobs independently match source.
The actual packaged launcher passed 64-tool discovery, 12 password refusals, two download-secret refusals, form reading and rendering. Ten isolated-browser checks passed against identical packaged runtime bytes, including wrong/right entry, cleared input, Lock and post-lock refusal. Tool digest: 17e2067e2c014bfc77e234432af45f7711494104f2a14d5f652e42e917251128.
Full CI run 39506149017 passed all eight jobs. Attempt 2 reran only one stalled/cancelled Node 20 shard; the other seven successes were preserved. PR #231 merged as 48bf4c1 with an exact tree match to the reviewed head. The previous run found stale documentation inventories, legacy error expectations and oracle source identities. All affected tests now pass. Oracle regeneration changed only five source-binding metadata values, not cases or expected extraction truth. The final successor has no runtime delta.
Limitations
Browser qualification substitutes the platform opener. No native ChatGPT/Claude installation acceptance, allowlisting or manual release is inferred. Same-user/root compromise and guaranteed JavaScript memory erasure are outside scope. Encrypted geometry limitations remain qualified; signature detection describes its partial encrypted text support. No email sent.