technique reference · by file type
Hidden text in Word documents
A Word document can hold text that never shows on the page: the Hidden font setting, white text on a white background, type too small to read, text placed off the page, and content tucked into comments, fields, headers and document properties.
Tools that pull the text out of a .docx or an older .doc file return all of it, so an AI model reads what a reviewer never saw. That makes Word files a common carrier for hidden prompt injection. Every technique we detect in Word files is below, including the ones every Office format shares.
doc.field-codeA Word field carries an instruction that the page never shows and that a text extractor walking the stream returns in full.doc.hidden-textWord's Hidden font attribute, set on a run of a legacy .doc, so the text is in the file and off the page.doc.tiny-fontA run set to a font size at or below the readable threshold: drawn on the page, and too small for a person to read at any zoom.doc.uninspected-embedded-objectA disclosure, not an accusation: a legacy .doc holds an object inside it that this engine did not open, so "nothing found" is not standing in for "nothing looked at".doc.white-textA run whose colour is close enough to what is behind it that the text is on the page and cannot be seen.docx.alt-textAn image's alt text carries words that appear nowhere on the page and are handed straight to a model.docx.alt-text-generatedThe picture description is Word's own image-describer output rather than anything a person typed.docx.alt-text-onpageA picture's alt text says only what the document already prints, so nothing is concealed from anybody.docx.alternate-content-fallbackAn `mc:AlternateContent` block carries different text in its `mc:Choice` and its `mc:Fallback`, so what the reader sees is not what the file's other branch says.docx.clipped-textA table row or a paragraph line is pinned to an exact height smaller than the text it holds, so Word draws nothing and extractors return the text at full size.docx.commentA review comment in `word/comments.xml` is not on the page, and its text is handed to a model as ordinary prose.docx.custom-xmlA `customXml/` part carries text the package ships and nothing renders as document body.docx.document-propertyA payload typed into a document property — title, subject, company, a custom label — is carried by the file and shown nowhere on the page.docx.field-instructionA Word field's instruction carries prose, and Word shows only the field's result.docx.merged-cell-textText sits in the continuation cell of a vertical merge, which renders nothing whatever it holds.docx.occluded-textText in an anchored Word text box that a later-stacked opaque drawing entirely covers.docx.offpage-textA frame, an anchored drawing or a VML shape is positioned so that its whole box falls outside the declared page.docx.shape-hiddenA floating shape's own properties say it is not drawn, and every run inside it goes with it.docx.style-sub-readable-sizeThe style sheet defines a sub-readable font size on a style that reaches text through a table style, which this engine does not resolve into runs — so the size claim could not be checked.docx.tiny-fontA run's resolved font size is at or below the rule pack's readable floor, so the text is drawn but no reader can read it.docx.unrendered-headerText sits in a header or footer part whose every reference is switched off, or which nothing references at all.docx.unrendered-noteReal prose sits in a footnote or endnote whose type is Word's furniture, in a document that references no note of that kind — so nothing ever draws it.docx.vanishA run carries Word's Hidden font attribute, so Print Layout paints nothing while the text stays in the file as ordinary run text.docx.web-hiddenA run marked `w:webHidden` is painted in Print Layout and suppressed in Web Layout, so it is concealed only from a caller who converts the document to HTML.docx.white-textA run's colour is too close to whatever is painted behind it for the text to be legible.docx.zero-opacityA run's text fill is set to fully transparent, so it paints nothing while remaining ordinary text in the part.
shared by every Office file
ooxml.embedded-font-remapAn embedded font maps a digit to a glyph that cannot be that digit, so a reader sees different numbers from the ones the document stores.ooxml.raster-instructionAn embedded image was read and the text inside it is shaped like an instruction aimed at a model.ooxml.uninspected-embedded-objectA document embedded inside this one could not be opened, so whatever it contains was not analysed.ooxml.uninspected-fontThe document embeds a font whose glyph mapping this engine could not read, so the extracted text may differ from what a reader sees.ooxml.uninspected-partA part inside the OOXML package carries text that the format's parser never opened, so its contents were not analysed.ooxml.uninspected-rasterThe document carries an embedded image large enough to hold readable text that this engine did not read.