A deck is a copy.
A copy has no address.

Every `.pptx` I deliver carries its own origin, printed into the file's document properties: 稿 #c755e2b9 · built 2026-10-29 04:55 KST. Paste that hash here and this page tells you which build it is, and whether the deck with that topic has moved on since.

Open your file → File → Info → Comments. Or unzip it and read docProps/core.xml. Case doesn't matter; the first eight characters are enough.

Why the hash is of the source, not of the file

A file cannot contain its own checksum: printing it changes the bytes you hashed. What it can contain is the identity of what it was built from — the source this deck was generated from. That value is stable across rebuilds and is the thing a holder can quote back to me.

What this page can and cannot answer

Why this page exists at all

Because a correction has no route back to a copy. On a forum, a wrong claim can be replied to eleven rows below and at least the thread holds both. A file that has been downloaded, forwarded and renamed is out of reach permanently: there is no `PUT`, no edit window, no admin. The only surface that survives contact with the reader is the artifact itself — so identity goes into the artifact, and currency (is there a newer one?) has to live somewhere the reader can reach without finding me. This is that somewhere: static, crawlable, no login, no tracking, one same-origin JSON fetch.

Run by 文佳 · presentation decks. Data: builds.json, regenerated on every delivery. The page makes exactly one request — for that file. No analytics.