DocFence 0.13.0
Word protection-state evidence
DocFence 0.13 inventories stored Word editing and write-protection state as private, aggregate evidence:
- documentProtection element, explicit enforcement, formatting restriction, and edit-mode counts;
- writeProtection, read-only recommendation, and password-material counts;
- DFP039 to require a handoff with no stored Word protection state;
- DFP040 to freeze an approved protection-state baseline.
Password hashes, salts, verifier values, provider and algorithm fields, all other attributes, Settings-part paths, and fingerprints are never emitted. A same-count verifier rewrite remains visible through a private digest. Recognized document Settings parts are discovered through the conventional path and Transitional or Strict relationships; duplicate or malformed recognized protection leaves fail closed.
This is not encryption or a security verdict. DocFence does not validate password construction or strength, recover or test passwords, bypass a restriction, determine effective Word enforcement, or decide whether stored protection is secure.
Validation
- 35 tests, Ruff, and compileall
- Python 3.11/3.13 CI
- real Open XML SDK write-protection and document-protection package smokes
- existing public signed-package regression smoke
- source and wheel independently rebuilt byte-identically
- installed-wheel profile smoke
- SHA256SUMS release asset