Skip to main content
IPI includes 34 hiding techniques across 7 document formats. Each technique exploits a different mechanism for concealing instructions within a document so that AI agents process them while humans cannot easily see them. 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

PDF Techniques

PDF has the broadest technique coverage with 10 techniques split across two phases.

Phase 1 — Basic Hiding

Technique IDNameDescription
white_inkWhite InkWhite text on white background — invisible to humans but extractable by PDF parsers
off_canvasOff CanvasText positioned at negative coordinates, outside the visible page area
metadataMetadataPayload stored in PDF metadata fields (Author, Subject, Keywords)

Phase 2 — Advanced Hiding

Technique IDNameDescription
tiny_textTiny Text0.5pt font — below human visual threshold but parseable by text extraction
white_rectWhite RectangleText drawn on the page then covered by an opaque white rectangle overlay
form_fieldForm FieldHidden AcroForm text field with payload as the field value
annotationAnnotationPayload placed in the PDF annotation/comment layer
javascriptJavaScriptDocument-level JavaScript action with embedded payload
embedded_fileEmbedded FileHidden file attachment stream within the PDF structure
incrementalIncrementalPayload placed in a PDF incremental update section

Image Techniques

3 techniques targeting vision-language models (VLMs) and OCR pipelines.
Technique IDNameDescription
visible_textVisible TextHuman-readable text overlay on the image
subtle_textSubtle TextLow contrast, small font, or edge-placed text — hard for humans to notice
exif_metadataEXIF MetadataPayload stored in EXIF metadata fields

Markdown Techniques

4 techniques targeting document processing pipelines that ingest Markdown.
Technique IDNameDescription
html_commentHTML CommentPayload in HTML comment tags (<!-- -->) — invisible when rendered
link_referenceLink ReferencePayload in an unused link reference definition at the bottom of the file
zero_widthZero-WidthPayload encoded using zero-width Unicode characters (invisible in rendered output)
hidden_blockHidden BlockPayload in an HTML div with display:none — hidden when rendered in browsers

HTML Techniques

4 techniques targeting web content and HTML document processing.
Technique IDNameDescription
script_commentScript CommentPayload in a JavaScript comment inside a <script> tag
css_offscreenCSS Off-ScreenPayload in an element positioned off-screen using CSS
data_attributeData AttributePayload in an HTML data-* attribute
meta_tagMeta TagPayload in an HTML <meta> tag content attribute

DOCX Techniques

6 techniques targeting Microsoft Word document processing.
Technique IDNameDescription
docx_hidden_textHidden TextText with the Word hidden font attribute — invisible in normal view
docx_tiny_textTiny Text0.5pt font — below human visual threshold
docx_white_textWhite TextWhite text on white background
docx_commentCommentPayload in a Word comment/annotation
docx_metadataMetadataPayload in document core properties (author, subject, etc.)
docx_header_footerHeader/FooterPayload in the document header or footer

ICS Techniques

4 techniques targeting calendar invite processing (iCalendar format).
Technique IDNameDescription
ics_descriptionDescriptionPayload in the event DESCRIPTION property
ics_locationLocationPayload in the event LOCATION property
ics_valarmVALARMPayload in the VALARM reminder DESCRIPTION
ics_x_propertyX-PropertyPayload in a custom X- extension property

EML Techniques

3 techniques targeting email processing pipelines.
Technique IDNameDescription
eml_x_headerX-HeaderPayload in a custom X- email header
eml_html_hiddenHTML HiddenPayload in a hidden HTML div (display:none) within the email body
eml_attachmentAttachmentPayload in a text file attachment

Technique Summary by Format

FormatTechnique CountTechnique IDs
PDF10white_ink, off_canvas, metadata, tiny_text, white_rect, form_field, annotation, javascript, embedded_file, incremental
Image3visible_text, subtle_text, exif_metadata
Markdown4html_comment, link_reference, zero_width, hidden_block
HTML4script_comment, css_offscreen, data_attribute, meta_tag
DOCX6docx_hidden_text, docx_tiny_text, docx_white_text, docx_comment, docx_metadata, docx_header_footer
ICS4ics_description, ics_location, ics_valarm, ics_x_property
EML3eml_x_header, eml_html_hidden, eml_attachment
Total34