Toolit background removal quality case study — 2026-10-12 Photos were NOT taken by Toolit. Each source's CC0 license was checked on the experiment date. See sources.json for original file pages, credits, input dimensions, preparation and SHA-256 hashes. CC0 does not imply endorsement by the photographer or person pictured. The portrait is a pre-June-2017 Unsplash CC0 file; this is not a claim about all Unsplash photographs. Files: *-input.png: full-frame prepared input (maximum long edge 1280px) *-balanced.png / *-detail.png: unretouched transparent browser PNG output *-comparison.webp: input / Balanced 512 / Detailed 768, navy compositing *-crop.webp: identical region from the same three files results.json: execution scope, runtime, model/code hashes and 8 outputs figures.json: crop rectangles, dimensions, display steps and figure hashes Full-frame input files are not camera originals: public Wikimedia thumbnails were normalized for orientation, stripped of metadata and saved as PNG. Comparison images are resized, composited on #243247 and saved losslessly. No sharpening, generative repair, color correction or manual masking was used. Reproduce in the matching Toolit web checkout (Node 22.13+): npm ci npm run build node scripts/measure-background-removal-quality.mjs --prepare node scripts/measure-background-removal-quality.mjs --serve Open http://localhost:4186/ in Chrome and click the experiment button. Wait for all eight outputs, then stop the loopback server with Ctrl+C. node scripts/measure-background-removal-quality.mjs --figures To reuse the exact archived inputs, skip --prepare (remote thumbnails may change). Compare the local model/component/worker hashes to results.json. The harness uses the actual built worker and current component helpers; it fixes preferGpu=false (WASM), 512 and 768. It is not a complete UI test. Inference sessions are released after each run. No analytics are emitted. The harness saves outputs to this evidence directory on the same computer; it is not a production upload endpoint. It binds to loopback only. There are no ground-truth masks or representative accuracy percentages. These four cases do not establish speed, mobile quality, WebGPU equivalence or a competitor ranking. Future code/model/browser changes may alter output.