The "decided upstream, not at the API call" model is exactly right, and this week it got a sharper edge: research disclosed by V12 shows the upstream problem is not just the PDF version, it is the producer's randomness. MuPDF before 1.28.5 generated its AES-256 file keys from an LCG seeded with the epoch second - 9 effective bits, 512 candidate keys, brute-forced in milliseconds. Foxit derived the key from the timestamp directly. So a pipeline can land on the 256-bit path, report AES-256 to the user, and still produce files that open without the password. For anyone picking a generator or converter as the intervention point, the vendor question is no longer only which revision it writes, but where the file key comes from. Have you seen any producer that actually documents its key-generation source?