Documentation Index
Fetch the complete documentation index at: https://docs.q-uestionable.ai/llms.txt
Use this file to discover all available pages before exploring further.
IPI includes 34 hiding techniques plus 1 control condition (none) across 7 document formats. Each hiding technique exploits a different mechanism for concealing instructions within a document so that AI agents process them while humans cannot easily see them; the control condition renders the payload as normal visible text for baseline comparison.
Techniques are format-specific — not all techniques apply to all formats. Use qai ipi techniques to list them programmatically, or --format to filter by format.
qai ipi techniques
qai ipi techniques --format pdf
Control Condition — none
The none technique renders the payload as normal, visible, readable text. It is the control condition for measuring whether any of the hiding techniques actually change agent behavior relative to an unhidden baseline. none applies to every supported format and is accessed via --technique none.
none is explicitly excluded from the --technique all preset, so it never sneaks into batch sweeps. Researchers who want the control in a sweep must request it explicitly.
PDF Techniques
PDF has the broadest technique coverage with 10 techniques split across two phases.
Phase 1 — Basic Hiding
| Technique ID | Name | Description |
|---|
white_ink | White Ink | White text on white background — invisible to humans but extractable by PDF parsers |
off_canvas | Off Canvas | Text positioned at negative coordinates, outside the visible page area |
metadata | Metadata | Payload stored in PDF metadata fields (Author, Subject, Keywords) |
Phase 2 — Advanced Hiding
| Technique ID | Name | Description |
|---|
tiny_text | Tiny Text | 0.5pt font — below human visual threshold but parseable by text extraction |
white_rect | White Rectangle | Text drawn on the page then covered by an opaque white rectangle overlay |
form_field | Form Field | Hidden AcroForm text field with payload as the field value |
annotation | Annotation | Payload placed in the PDF annotation/comment layer |
javascript | JavaScript | Document-level JavaScript action with embedded payload |
embedded_file | Embedded File | Hidden file attachment stream within the PDF structure |
incremental | Incremental | Payload placed in a PDF incremental update section |
Image Techniques
3 techniques targeting vision-language models (VLMs) and OCR pipelines.
| Technique ID | Name | Description |
|---|
visible_text | Visible Text | Human-readable text overlay on the image |
subtle_text | Subtle Text | Low contrast, small font, or edge-placed text — hard for humans to notice |
exif_metadata | EXIF Metadata | Payload stored in EXIF metadata fields |
Markdown Techniques
4 techniques targeting document processing pipelines that ingest Markdown.
| Technique ID | Name | Description |
|---|
html_comment | HTML Comment | Payload in HTML comment tags (<!-- -->) — invisible when rendered |
link_reference | Link Reference | Payload in an unused link reference definition at the bottom of the file |
zero_width | Zero-Width | Payload encoded using zero-width Unicode characters (invisible in rendered output) |
hidden_block | Hidden Block | Payload in an HTML div with display:none — hidden when rendered in browsers |
HTML Techniques
4 techniques targeting web content and HTML document processing.
| Technique ID | Name | Description |
|---|
script_comment | Script Comment | Payload in a JavaScript comment inside a <script> tag |
css_offscreen | CSS Off-Screen | Payload in an element positioned off-screen using CSS |
data_attribute | Data Attribute | Payload in an HTML data-* attribute |
meta_tag | Meta Tag | Payload in an HTML <meta> tag content attribute |
DOCX Techniques
6 techniques targeting Microsoft Word document processing.
| Technique ID | Name | Description |
|---|
docx_hidden_text | Hidden Text | Text with the Word hidden font attribute — invisible in normal view |
docx_tiny_text | Tiny Text | 0.5pt font — below human visual threshold |
docx_white_text | White Text | White text on white background |
docx_comment | Comment | Payload in a Word comment/annotation |
docx_metadata | Metadata | Payload in document core properties (author, subject, etc.) |
docx_header_footer | Header/Footer | Payload in the document header or footer |
ICS Techniques
4 techniques targeting calendar invite processing (iCalendar format).
| Technique ID | Name | Description |
|---|
ics_description | Description | Payload in the event DESCRIPTION property |
ics_location | Location | Payload in the event LOCATION property |
ics_valarm | VALARM | Payload in the VALARM reminder DESCRIPTION |
ics_x_property | X-Property | Payload in a custom X- extension property |
EML Techniques
3 techniques targeting email processing pipelines.
| Technique ID | Name | Description |
|---|
eml_x_header | X-Header | Payload in a custom X- email header |
eml_html_hidden | HTML Hidden | Payload in a hidden HTML div (display:none) within the email body |
eml_attachment | Attachment | Payload in a text file attachment |
| Format | Technique Count | Technique IDs |
|---|
| PDF | 10 | white_ink, off_canvas, metadata, tiny_text, white_rect, form_field, annotation, javascript, embedded_file, incremental |
| Image | 3 | visible_text, subtle_text, exif_metadata |
| Markdown | 4 | html_comment, link_reference, zero_width, hidden_block |
| HTML | 4 | script_comment, css_offscreen, data_attribute, meta_tag |
| DOCX | 6 | docx_hidden_text, docx_tiny_text, docx_white_text, docx_comment, docx_metadata, docx_header_footer |
| ICS | 4 | ics_description, ics_location, ics_valarm, ics_x_property |
| EML | 3 | eml_x_header, eml_html_hidden, eml_attachment |
| Control (all formats) | 1 | none (applies to every format) |
| Total | 34 hiding + 1 control | 34 hiding techniques + 1 control condition (none) |