pdftract/crates/pdftract-cli
jedarden a149c5748f feat(pdftract-3990k): log-policy enforcement - NEVER-log secrets
Integrates log-policy enforcement as a Tier-1 quality gate in CI and
installs the panic hook for SecretString redaction in backtraces.

Changes:
- Add log-policy-check to quality-matrix in pdftract-ci.yaml
- Install panic_hook in main.rs for crash dump redaction
- Create verification note at notes/pdftract-3990k.md

Existing implementations verified:
- secrecy crate (v0.10) in workspace dependencies
- SecretString used consistently for credentials
- redact_headers_for_log() in mcp/http.rs strips auth headers
- check-log-policy.sh CI gate scans for forbidden patterns
- CONTRIBUTING.md documents NEVER-log secrets policy
- Fuzz test (tests/log_secret_fuzz.rs) with 10,000 case coverage

Acceptance criteria:
- secrecy crate added  PASS (already in workspace)
- SecretString used for credentials  PASS
- CI gate runs on every PR  PASS
- Fuzz-test confirms no credential leaks  PASS
- Auth headers stripped from logging  PASS
- Panic hook redacts SecretString  PASS
- CONTRIBUTING.md section  PASS

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 13:31:04 -04:00
..
benches feat(pdftract-3h9xo): implement threads JSON output + schema integration 2026-05-25 13:40:15 -04:00
src feat(pdftract-3990k): log-policy enforcement - NEVER-log secrets 2026-05-28 13:31:04 -04:00
tests chore(pdftract-36glh): remove unused JpxDecoder import and add verification note 2026-05-28 05:23:13 -04:00
build.rs feat(pdftract-1t5sj): implement book_chapter profile with fixtures and tests 2026-05-27 22:30:09 -04:00
Cargo.toml feat(pdftract-91e1i): HTTP fetch sequence implementation 2026-05-28 13:17:00 -04:00
header chore(pdftract-36glh): remove unused JpxDecoder import and add verification note 2026-05-28 05:23:13 -04:00
pdftract-cli.cdx.json feat(pdftract-67tm8): implement MCP stdio transport with integration tests 2026-05-23 00:16:42 -04:00