The 2026 attack surface. Attackers are no longer typing 'ignore all
previous instructions' — they hide it inside images, ASCII art, EXIF,
PDF streams, and zero-width Unicode. This release adds the detection
layer text-only scanners miss.
- strip_invisible_unicode (dep-free)
- detect_ascii_art (dep-free, handles ArtPrompt class)
- MultimodalScanner orchestrator + MultimodalScanResult
- Image OCR via Pillow + pytesseract ([multimodal] extra)
- PDF stream extraction via pypdf ([multimodal] extra)
- CLI: scan-image, scan-pdf, scrub
- 22 new tests; 333 total
See CHANGELOG.md.