Repository navigation
Hosted lists each computer by the name it enrolled under - #1396
Conversation
The remote enrollment poll now carries the Burrow's label (by default its hostname), reduced by the shared reduceBurrowLabel: control, format, surrogate, and line/paragraph separator characters gone, whitespace collapsed, at most 64 code points. Hosted stores it in a new nullable dormouse_relay_burrows.label column whose CHECK refuses what the reduction strips, and the account route lists it. An older Burrow sends none and still enrolls. The self-host Relay still learns no label, and no Pocket route returns Hosted's. The privacy page lists the name among what Hosted stores for an enrolled computer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A computer row and a passkey's "from" line show the name the computer enrolled under, falling back to the short id for one enrolled before Hosted kept names. Stories show a named and an unnamed computer, and a 64-character hostname at phone width. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deploying mouseterm with
|
| Latest commit: |
732001e
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://fabcb2f3.mouseterm.pages.dev |
| Branch Preview URL: | https://hosted-computer-names.mouseterm.pages.dev |
dormouse-bot
left a comment
There was a problem hiding this comment.
The nightly audit prompt still says the opposite of what this PR ships. .github/audit/remote.md, under Is the relay actually opaque?, tells the auditor: "The Relay must be unable to read a pairing decision, a Burrow label, a remote-api message, …". After this change, Hosted's Relay receives the label in plaintext on POST /api/burrow/enroll/poll and stores it in dormouse_relay_burrows.label. An auditor following that line will report a finding, and per docs/specs/security.md a failed audit holds the release. The specs were updated (remote-security-model.md → "Residual metadata", relay.md), but the prompt was not. The bullet could scope the label clause to the encrypted channel, for example "a Burrow label (other than the one Hosted's remote enrollment poll carries for its account page)". That way the auditor still checks every other path.
…eads Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Fixed in 732001e: |
|
Thanks, the scoped bullet in 732001e resolves my review finding. The auditor still checks every other path a label could take, and Hosted's enrollment poll is the one exception it now allows. |
Hosted's account page listed every computer as "Computer abcd1234". The remote enrollment poll now carries the computer's name, by default its hostname (the existing
BurrowNameFieldprefill). Hosted stores it and shows it on the computer row and in the passkey "from …" line. A computer enrolled before this keeps showing its short id.reduceBurrowLabel(remote-lib-common), which strips control, format and separator characters and caps the name at 64 code points. The CHECK on migration012's column refuses anything that reduction would strip, and an older Burrow that sends no name still enrolls.relay.mdandremote-security-model.md→ "Residual metadata" name this one exception.TERMS_VERSION.🤖 Generated with Claude Code