ODF Security Policy

This document defines what openxml-audit security-core checks do and do not guarantee.

Scope

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.

What Security-Core Validates

Signature structure

Encryption structure

Cryptographic verification policy

Non-Guarantees

Security-core does not guarantee:

These require environment-specific crypto policy, trust stores, and potentially external services.

Dependency-Gated Hook Path

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.