An upstream token is what makes gated repositories fetchable, and a gated repository's licence is between the operator whose token accepted the terms and its publisher. Serving those weights to anyone who can reach the port is redistribution, which most such licences forbid -- and the design rests on the stored copy being for the operator's own use (spec §7). Nothing said so when upstream.token_file was set and auth.mode was "none", which is the shipped default. Warns at startup and reports an advisory from `doctor`. Checks that the token file has content rather than merely existing, because the deploy renders it whether or not the secret behind it was set. Advisories are a new, non-failing tier in `doctor`. It runs in the deploy, so promoting this to an error would block a deployment on a question that is the operator's to answer: whether mesh-only reach already counts as own use is a licensing judgement, not something this binary should decide. auth.mode stays explicit rather than being inferred from the presence of auth.token_file. Inference fails open -- a rendered-but-empty credential would silently disable authentication and the service would come up looking healthy -- whereas an explicit mode turns the same slip into a refusal to start. The redundancy is what makes losing either half detectable. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XZG2i4AmfSqE97EJGBVb64