Three files, hashes recorded, nothing edited after the capture. This is what the teardown's claims sit on.
| File | What it is | Bytes |
|---|---|---|
| served-shell.html.txt | The exact 3,396-byte HTML returned by GET https://tripo3d.uk/, unmodified — an empty Nuxt shell, no app code, no assets. Saved as .txt on purpose: see integrity | 3,396 |
| announcement.json | Byte-for-byte body of GET /api/announcement — the operator's own admission that the backend accounts run out of credits | 555 |
| bundles.sha256 | SHA-256 of all 49 JS chunks (1,320,125 B total) as served on 2026-10-21 — the manifest that proves which build was analysed | 3,827 |
| MANIFEST.sha256 | Hashes of the three files above, in shasum -c format | 253 |
cd tripo3d-uk-evidence shasum -a 256 -c MANIFEST.sha256 # the download is intact curl -s https://tripo3d.uk/ | shasum -a 256 # live build — will drift, see below curl -s https://tripo3d.uk/api/announcement | shasum -a 256
Why the shell ships as .txt: anything served
with an HTML content-type gets rewritten in flight — this site's own skin injector appends a newline and a
<script> block to every page, and Cloudflare appends its analytics beacon. A file you
download as .html would therefore never hash to the manifest. Sent as
text/plain, the bytes arrive exactly as captured, so the hash is checkable. Rename a copy to
.html locally if you want to render the empty shell.
The live shell will drift as they redeploy — the value of a hash is that it pins the build this analysis was written against (Last-Modified 2026-09-14 11:43:40 GMT), not that the origin never changes.
The operator's backend is not here — no account, no API, no way in. What the
teardown does publish is the front-end: ../tripo3d-uk-mirror/ runs the same 49 chunks
(each still matching bundles.sha256) with a small guard that answers
/api/announcement from the captured body and fabricates the rest locally, so the
workspace and the eight /admin screens render without a real session — any password
gets in, every number is a constant, and a submitted job ends in a sample model — the
Khronos duck, labelled DEMO — after seven seconds of fake progress, never something generated from
the picture you uploaded. The shell it boots from is the 3,396-byte document in this folder, with
seven documented deltas (relative asset URLs, router base, guard + cache-buster, icon link,
noindex) — see ../tripo3d-uk-mirror/MIRROR.md.