This document defines what openxml-audit security-core checks do and do not guarantee.
Security-core is opt-in via the ODF validator:
from openxml_audit.odf import OdfValidator
validator = OdfValidator(
schema_validation=True,
semantic_validation=True,
security_validation=True,
)
Cryptographic verification is also optional and dependency-gated:
validator = OdfValidator(
security_validation=True,
verify_cryptography=True,
)
If no verifier backend is available, a policy diagnostic is emitted.
META-INF/documentsignatures.xml manifest entry media type (ODFSEC001)ODFSEC002)ds:Signature (ODFSEC003)ds:SignedInfo + ds:Reference shape (ODFSEC004)'/' cannot carry manifest:encryption-data (ODFSEC101)ODFSEC102)ODFSEC103)ODFSEC104)ODFSEC900)ODFSEC901)Security-core does not guarantee:
These require environment-specific crypto policy, trust stores, and potentially external services.
A custom verifier can be injected with cryptographic_verifier.
Built-in default verifier loading is best-effort and currently attempts optional signxml.
Install with:
pip install -e ".[odf-crypto]"
If unavailable, validation continues with structural checks and emits ODFSEC900 when crypto verification is requested.