DocFence 0.39.0
DocFence 0.39.0
DocFence can now inventory the direct lock declarations on Word content controls (w:sdtPr/w:lock) without exposing control text, tags, IDs, or XML paths.
- Reports five privacy-preserving aggregate groups: no direct declaration,
unlocked,sdtLocked,contentLocked, andsdtContentLocked. - Keeps an absent direct declaration distinct from an explicit
unlockeddeclaration. - Adds
content_control_lock_inventory_changedfor state and assignment changes, including equal-count reassignment. - Adds policy rules
require_content_control_locks(DFP090) andno_content_control_lock_changes(DFP091).
This is static markup inspection, not a claim about effective client-side enforcement or runtime behavior.
Validation: 66 tests passed; ruff and package checks passed; the tag CI matrix passed on Python 3.11 and 3.13.
Artifacts built from tag v0.39.0:
docfence-0.39.0-py3-none-any.whl:9943320e57d2d7dbd406657243b938ff28f9bc691ac830e97549de14c4ac6c61docfence-0.39.0.tar.gz:ba4945111486e305d8eaf330c85ea54b25f92af1699c79fa73af90d16c46e3fb