mirror of
https://github.com/storytold/gridcraft.git
synced 2026-10-24 10:46:50 -06:00
Protect Sheet and Unprotect Sheet were journaled with their `password` param, so the password showed in plain text in the journal dialog and `engine.journal`, and a recorded script (Automate > Record Actions) saved it in the workbook's hidden `_sc_scripts` name. Session::execute now journals the params without secret ones (`password`, or a name ending in `Password`). A replayed entry runs without that param: Protect Sheet protects with the same options but no password, and the matching Unprotect Sheet still succeeds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>