Speaker notes on a slide

pptx.speaker-notes

Text typed into the notes pane of a slide, which the presenter sees and the audience never does.

How the text is hidden

Each slide can have a companion part under ppt/notesSlides/, found by rewriting the slide's own part name. It holds ordinary DrawingML shapes and text, laid out on a notes page rather than the slide canvas. PowerPoint shows it in the presenter view and on printed handouts; the projected slide carries none of it.

Why a model still reads it

The notes part is normal text in the package. Anything that walks the file reads it verbatim alongside slide text, with nothing in the bytes marking it as a private aside.

What we do about it

The parser reads the notes part with the same shape walk it uses for slides and tags the block notes; computeReason gives every run in it the hidden-attr reason. The rule fires on any non-empty run in a notes block and is deliberately not gated on format, so a legacy .ppt deck's notes report under this same id. Severity is informational and the action is disclose, so an ordinary note does not move the verdict and does not appear in summary.concealedRetained — but it still withdraws certified, and R-5a still escalates a note whose text is instruction-shaped.

How often it fires

45% of 120 real Zenodo conference decks (corpus-zenodopptx as re-fetched 2026-08-23). Legacy .ppt measures 17.1% (24 of 140 archive.org decks, corpus-archiveppt, 2026-08-30) — the same technique, a different format and era, measured 2026-08-24.

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.

next

Check your own file

Three commands: a key, credit, a verdict.

Start with the API