Template prompt text in a legacy master
Placeholder prompt text carried in a legacy .ppt slide master — the template's own "click to edit" wording — which reaches every extractor and renders on no slide.
How the text is hidden
A binary .ppt is a compound file whose PowerPoint Document stream is a tree of records. Text lives in TextCharsAtom (UTF-16) and TextBytesAtom (one byte per character) atoms, and what a given atom IS depends on the container enclosing it. Text inside the main-master container, in a drawing shape that also holds an OEPlaceholderAtom, is the template's placeholder prompt; it is stored in the file and drawn on no slide. Legacy PowerPoint also materialises the same master wording into every notes page, so a notes page can consist of nothing but text the template wrote.
Why a model still reads it
The words are ordinary text atoms in the same stream as the slide bodies. Any reader that walks the record tree and collects text returns them, with nothing in the byte layout marking them as template furniture rather than content.
What we do about it
The record walk tracks the enclosing container per stack frame and asks containsPlaceholderAtom at the shape level, but only inside a master — so a footer or logo in the master, which does render on every slide using it, is not marked. Those runs get invisibleReason: 'hidden-attr' with role: 'body' and visible: false; a notes atom whose every line also appears in the master is routed to the same branch rather than being reported as a speaker note. The rule ppt-master-inherited fires on document.format == 'ppt' && run.invisibleReason == 'hidden-attr' && block.role == 'body' at informational with action: 'flag', so the text stays in the canonical output and is reported rather than removed.
How often it fires
96.4% of archive.org legacy .ppt — 140 real presentations, measured 2026-08-29.
This is an alert-volume number and nothing else. It says how often the alarm sounds on documents as found — not how often it is right, and not whether what it found was harmless. Documents as found may themselves carry concealment. Read it against the population named above rather than as a property of documents in general.
Check your own file
Three commands: a key, credit, a verdict.
Start with the API