pdftract/crates/pdftract-core/src
jedarden 0dcae8766e feat(pdftract-kdp6): implement profile loader secret key hardening
Add PROFILE_SECRETS_FORBIDDEN diagnostic and enhanced profile validation
to prevent accidental publication of credentials in profile YAML files.

Changes:
- Add DiagCode::ProfileSecretsForbidden to diagnostics catalog
- Create pdftract-core/src/profiles/ module with loader.rs
- Implement separator-tolerant key matching (api_key/apiKey/api-key/api.key)
- Expand forbidden keys from 7 to 17 entries
- Add line number detection for error reporting
- Update ProfilePathCheck to use enhanced validation

Closes: pdftract-kdp6

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 04:41:04 -04:00
..
attachment feat(pdftract-core): add /AF associated files array walker 2026-05-24 01:35:23 -04:00
cache feat(pdftract-2i6rt): implement cache CLI subcommand and HTTP integration 2026-05-23 06:33:43 -04:00
fingerprint feat(pdftract-154mz): fix canonicalization module compilation 2026-05-20 19:24:38 -04:00
font feat(pdftract-1uj5): implement Type 3 font encoding resolution 2026-05-24 04:28:11 -04:00
layout feat(pdftract-oh30a): implement per-page readability aggregation 2026-05-24 03:28:41 -04:00
parser test(pdftract-sy8x): implement lexer proptest harness and curated corpus 2026-05-24 02:36:37 -04:00
profiles feat(pdftract-kdp6): implement profile loader secret key hardening 2026-05-24 04:41:04 -04:00
receipts feat(pdftract-zy2jx): generate JSON Schema from Rust output types 2026-05-24 01:29:14 -04:00
render feat(pdftract-4my): implement pdfium-render path behind full-render feature 2026-05-23 16:28:08 -04:00
schema feat(pdftract-j6yd): implement signatures array output + validation_status enum + schema integration 2026-05-24 04:05:34 -04:00
signature feat(pdftract-6arz): implement signature metadata extraction 2026-05-24 03:42:50 -04:00
table feat(pdftract-3zhf): add unified TableDetector::detect entry point 2026-05-24 00:51:59 -04:00
classify.rs feat(pdftract-2zw): page classification fixtures + integration tests + reproducibility gate 2026-05-23 15:04:05 -04:00
diagnostics.rs feat(pdftract-kdp6): implement profile loader secret key hardening 2026-05-24 04:41:04 -04:00
document.rs feat(pdftract-3zhf): add unified TableDetector::detect entry point 2026-05-24 00:51:59 -04:00
dpi.rs feat(pdftract-sg6): implement DPI selection logic for OCR rendering 2026-05-23 17:37:40 -04:00
extract.rs feat(pdftract-j6yd): implement signatures array output + validation_status enum + schema integration 2026-05-24 04:05:34 -04:00
graphics_state.rs feat(pdftract-byq): implement direct image compositing path (Phase 5.2.1) 2026-05-23 15:46:38 -04:00
hybrid.rs feat(pdftract-4y9l): implement hybrid page routing with bbox merge rule 2026-05-23 17:48:00 -04:00
lib.rs feat(pdftract-kdp6): implement profile loader secret key hardening 2026-05-24 04:41:04 -04:00
markdown.rs feat(pdftract-vk0gc): implement markdown anchors with parser regex 2026-05-24 02:49:16 -04:00
ocr.rs feat(pdftract-core): add run_tesseract integration and WER calculation 2026-05-24 01:12:33 -04:00
options.rs feat(pdftract-vk0gc): implement markdown anchors with parser regex 2026-05-24 02:49:16 -04:00
preprocess.rs fix(pdftract-27n3): remove duplicate import in preprocess module 2026-05-23 21:55:11 -04:00
render.rs feat(pdftract-p7yll): implement cm operator diagnostics 2026-05-24 04:13:16 -04:00
semaphore.rs fix(pdftract-bf-5mry9): fix compilation bugs in rayon parallel extraction 2026-05-23 12:02:54 -04:00
url_validation.rs feat(pdftract-udo67): implement URL credential parsing 2026-05-24 02:15:16 -04:00