Spec: record the RP hostnames, and that the RP ID is the full host
The spec never named the RP hostname, which was fine while it was unknown and is a gap now that it is not. oficina, sqid bds, addresses at <app>.<sqid>.oncarlos.com. carloku.com is the console brand and is not this. The second half binds Docs even though the RP belongs to the home: WebAuthn accepts an RP ID that is a registrable suffix of the origin host, so oncarlos.com would be accepted -- and it is shared by every Carloku tenant, which would scope our people's credentials across other people's apps. Full host, always, asserted by a test.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011F5CivVm4CmL9ByfSSAaXA
1 file changed,
+11
−0
docs/superpowers/specs/2026-08-30-docs-design.md+11 −0
No CI script — run details
Intent
diff --git a/docs/superpowers/specs/2026-08-30-docs-design.md b/docs/superpowers/specs/2026-08-30-docs-design.md| index 6f2c791..17d467f 100644 |
| --- a/docs/superpowers/specs/2026-08-30-docs-design.md |
| +++ b/docs/superpowers/specs/2026-08-30-docs-design.md |
| @@ -476,6 +476,17 @@ Docs never sends a document title to the home. |
| invention. The window is still sized by the guest tail — the person who |
| signed in once, months ago, to comment on one document. Docs has far more |
| of them than Sheets does. |
| +- **The hostnames, recorded 2026-08-30.** The account is `oficina`, sqid |
| + `bds`; default addresses are `<app>.<sqid>.<apps-domain>` on the hosted |
| + apps-domain `oncarlos.com`. So both home origins and every Docs instance |
| + are distinct `oncarlos.com` hosts under `bds`. (`carloku.com` is the |
| + console brand and is not this.) |
| +- **The RP ID is the full host, always** — a constraint that binds Docs even |
| + though the RP is the home's. WebAuthn permits an RP ID that is a |
| + registrable suffix of the origin's hostname, so `oncarlos.com` would be |
| + *accepted* — and it is shared by every Carloku tenant, which would scope |
| + our people's credentials across other people's apps. Asserted by a test |
| + rather than remembered. |
| ### 9.3 The canvas preference |