Verify it yourself
Every finding in this dossier was produced by a method you can re-run. These four checks are the method, unbundled: capture history, playlist metadata, description-signal analysis, and transcript matching against the January 2012 interview. Each one states plainly what it proves and what it does not — and when a check fails, it says so instead of guessing.
The two network checks (capture history and playlist metadata) call a small
FastAPI service. That service runs only while the session that built this site is alive, so it will
eventually go dark — which is exactly why verify.py
exists. It is the same code, as a standalone command-line script with no dependencies beyond the Python
standard library (plus yt-dlp on your PATH for the playlist check).
Check 3 (description analysis) and check 4 (transcript matching) run entirely in this
page's own logic path and are the checks to reach for first — and if the backend is down,
the page falls back to running them locally in your browser rather than showing you nothing.
Check 1 · Description signals
Paste a video description. The check quotes the description's own words back at you in five categories. This is the primary demonstration on this page because it needs no network at all, and because in the 2025–26 wave the descriptions were where the workflow disclosed itself.
Signal analysis offline-capable
That the uploader's own description discloses AI narration, licensed stock footage, an affiliate funnel, suppression framing or discovery optimisation. The evidence is the publisher's text, quoted verbatim with surrounding context.
Nothing about the authenticity of the underlying footage, and nothing about intent. A channel can disclose AI narration over genuine 2012 video. Signal counts are counts, not a score, and there is no threshold at which this check declares anything “disinformation.”
Sample text is the description of the 1 December 2025 “Be Inspired” recut — the upload that removed the fiction disclaimer (provenance §5).
Check 2 · Transcript match
Paste a caption or transcript snippet from any clip. It is compared, with
difflib, against a small corpus of lines confirmed verbatim in the 2:30:48 January 2012
original — including the disclaimer passage at 61–93 seconds. A match anchors the clip
you are looking at to that recording and gives you its true timestamp.
Fuzzy match against the 2012 corpus offline-capable
That a specific line in a 2025–26 clip appears in the 2012 recording, and where. This is how a re-cut is dated to its source rather than to its upload.
A non-match means only that the snippet is not one of the corpus lines. The corpus is deliberately small — only lines transcribed verbatim from the original are included — so absence here is not evidence of fabrication.
Filler words, bracketed [Music] markers and punctuation are normalised
before comparison, so auto-generated captions match cleanly.
Corpus source: the January 2012 Project Camelot interview, mirrored at
archive.org
and YouTube. Bundled as
corpus_2012.json.
Check 3 · Archive capture history
The strongest durable dating signal on the open web. The Internet Archive CDX API returns every capture it holds for a URL, which establishes that the URL existed no later than the earliest capture — independent of any date the platform itself displays.
Internet Archive CDX needs the live backend
That a URL existed on or before a specific timestamp, with a snapshot you can open. Useful for showing that a 2013 mirror of the interview — and its description — predates any 2025–26 recut.
The asymmetry matters: zero captures is not evidence that a page did not exist. Crawl coverage is uneven and YouTube pages are captured erratically. This check can only ever establish an upper bound on a first-seen date, never a lower bound.
Pre-filled with the 2013 mirror of the full interview (provenance §1).
Check 4 · Playlist metadata
The check that dissolved the “coordinated operation” reading of the playlist. Owner, last-modified date, and per-video uploader, duration and view count — which together show a single curator collecting other people's uploads and abandoning the list in 2022.
yt-dlp --flat-playlist needs the live backend
Who owns a playlist, when it was last touched, and whether the videos in it were uploaded by other channels. Divergent uploader names mean curation, not publication.
Nothing about coordination, funding or motive. It also cannot see deletions: a video removed before you ran the check simply is not there. Single-video metadata calls are frequently blocked by YouTube bot checks from datacenter addresses — when that happens this reports a failed check rather than an empty result dressed up as a finding.
Pre-filled with the “Bill Wood Project Looking Glass” playlist examined in provenance §1. Expect a 30–60 second wait.
Run it after this page is gone
Download verify.py. The backend on
this page is a thin wrapper around that exact file — one source of truth, so the web tool and the
script cannot drift apart.
python3 verify.py archive https://www.youtube.com/watch?v=VtHCofbE1PM
python3 verify.py playlist "https://www.youtube.com/playlist?list=PLq9uLOwjoHHrPGh_P4815IJFCUbXdeOsv"
python3 verify.py describe -f description.txt
python3 verify.py transcript "get to a target usually by some extraordinary means"
python3 verify.py --json archive https://example.com # machine-readable
Python 3.9+, standard library only. yt-dlp is required for the playlist
check and nothing else. The 2012 corpus is embedded in the script, so it works with no files
alongside it.
Checks that fail print the reason and stop. If a result on this page contradicts something written in the dossier, the result wins — and the method page records what would falsify each of these findings.