Skip to content

Security and Integrity

File integrity principles

  1. Minimize file-surface changes during modify workflows
  2. Validate critical workbook outputs after save
  3. 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_policy is "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.