Security and Integrity¶
File integrity principles¶
- Minimize file-surface changes during modify workflows
- Validate critical workbook outputs after save
- Keep regression tests for high-risk edit paths
Signed OOXML packages¶
Signature presence is separate from encryption and workbook protection.
Workbook.vba_signature_status() reports whether inner VBA signature streams
or outer OOXML signature artifacts are present. It does not verify the
signature, certificate, signer identity, or trust chain.
Modify mode uses a safe default for outer package signatures:
- A no-op save copies the source package byte-for-byte.
- Any queued mutation is rejected before output replacement while
package_signature_policyis"reject". - Call
set_package_signature_policy("remove")before the mutation to opt in to removing outer signature parts, relationships, and content-type metadata.
wb = wolfxl.load_workbook("signed.xlsm", modify=True)
wb.set_package_signature_policy("remove")
wb.active["A1"] = "edited"
wb.save("unsigned-edited.xlsm")
The "remove" policy produces an unsigned output. WolfXL does not create or
cryptographically verify digital signatures.
Reporting an integrity issue¶
Include:
- input workbook (or minimal repro)
- exact code used
- expected output vs actual output
- WolfXL version and environment
Safe rollout suggestions¶
- Use side-by-side comparison in early rollout stages.
- Keep fallback path to existing engine until confidence is established.
- Track regressions explicitly in changelog.