Detect hidden manipulation in documents before AI reads them.
PurifyDocs scans PDF, DOCX, HTML, and TXT files for invisible text, prompt injections, encoded payloads, and zero-width Unicode tricks — then produces a sanitized, safe text output.
Scan a Document
Upload a PDF, DOCX, HTML, or TXT file. Files are scanned server-side and never stored.
Click to browse or drag & drop
PDF, DOCX, HTML, TXT — max 50 MB
What PurifyDocs Does
Documents fed to AI systems can contain hidden instructions invisible to humans — white text on a white background, zero-width Unicode characters, base64-encoded payloads, prompt injections in metadata or comments. PurifyDocs detects and removes these manipulations.
Multi-Format
PDF, DOCX, HTML, and plain text — detected by content, not extension.
Deep Detection
25+ detectors covering hidden text, tiny fonts, off-page content, metadata, annotations, and more.
Sanitized Output
Clean, AI-safe text with detected payloads removed and verified by re-scan.
Privacy First
Files are scanned and immediately deleted. Nothing is stored or tracked.
Supported Detectors
| Code | Detects |
|---|---|
ST-PDF-HIDDEN-TEXT-WHITE | White / near-white text invisible on the page |
ST-PDF-TINY-TEXT | Font size too small to be human-visible |
ST-PDF-OFFPAGE-TEXT | Text drawn outside the page media box |
ST-PDF-METADATA-PROMPT | Prompt-like / base64 payload in PDF metadata |
ST-PDF-ANNOTATION-PROMPT | Prompt-like / base64 payload in PDF annotations |
ST-PDF-OCR-MISMATCH | OCR text differs substantially from extracted text |
| Code | Detects |
|---|---|
ST-DOCX-WHITE-TEXT | White / near-white run text |
ST-DOCX-TINY-TEXT | Tiny run text (font size below threshold) |
ST-DOCX-HIDDEN-RUN | Run marked with <w:vanish/> |
ST-DOCX-COMMENT-PROMPT | Prompt-like / encoded payload in document comments |
ST-DOCX-HEADER-FOOTER-PROMPT | Hidden or prompt-like payload in headers/footers |
ST-DOCX-METADATA-PROMPT | Prompt-like / encoded payload in core metadata |
ST-DOCX-ALT-TEXT-PROMPT | Payload in drawing alt text |
| Code | Detects |
|---|---|
ST-HTML-HIDDEN-DISPLAY | Element hidden with display:none |
ST-HTML-HIDDEN-VISIBILITY | Element hidden with visibility:hidden |
ST-HTML-HIDDEN-OPACITY | Element hidden with opacity:0 |
ST-HTML-WHITE-TEXT | White / near-white text on light background |
ST-HTML-TINY-TEXT | Tiny font-size text |
ST-HTML-OFFSCREEN-TEXT | Text positioned off-screen via large negative offsets |
ST-HTML-COMMENT-PROMPT | Prompt-like / encoded payload in HTML comments |
ST-HTML-METADATA-PROMPT | Payload in <meta> tags or <title> |
ST-HTML-ALT-TEXT-PROMPT | Payload in alt / title attributes |
| Code | Detects |
|---|---|
ST-GEN-ZERO-WIDTH | Zero-width Unicode characters hiding text |
ST-GEN-BASE64-INSTRUCTION | Base64-encoded instruction payload |
ST-GEN-PROMPT-LIKE-INSTRUCTION | Prompt-injection phrasing in document text |