See
docs/specs/glossary.mdfor Burrow, Client, and Relay vocabulary. Owns the account application's security checks. Defers identity behavior todocs/specs/hosted.mdand terminal access todocs/specs/remote-security-model.md. Readdocs/specs/security.mdfirst; provisioning and real-provider acceptance are pending.
- FAIL IF Hosted accepts a request URL outside configured
APP_ORIGIN, grants marketing-origin credentialed CORS, or permits a state-changing auth request without exact Origin and CSRF checks; inspecthosted/server/worker-app.tsand the packed adapter. - FAIL IF authentication cookies have a Domain attribute, lack
__Host-, Secure, HttpOnly, or Path=/ in HTTPS, or session tokens appear in browser JSON or persistent browser storage; inspect the adapter andhosted/src/api.ts. - FAIL IF the production HTML permits third-party scripts, framing, or inline script execution, any response bypasses
secureHeadersincluding a misconfigured deployment's error, or anything but a content-hashed/assets/file is cacheable, the SPA fallback's shell included; inspectsecureHeadersinhosted/server/headers.ts, binding resolution inhosted/server/worker-app.ts, and asset routing inhosted/wrangler.jsonc. - FAIL IF marketing scripts, analytics, provider avatars, or remote fonts enter the Hosted frontend; inspect the frontend import graph and deployed response when available.
Pinned by hosted/server/tests/workers.test.ts.
- FAIL IF the consumer changes
authPolicyaway from explicit linking or multiple independent logins, or accepts an explicit connection callback after its initiating login was revoked; inspecthosted/server/policy.tsand the packed adapter. - FAIL IF an unused provider credential enables login, an unknown provider name is accepted, or incomplete enabled credentials silently degrade; inspect
providerBindingsinhosted/server/policy.ts. - FAIL IF Hosted account login mints a Burrow ACL grant or substitutes for the existing encrypted pairing/presence proof. No Hosted endpoint currently implements terminal access.
Pinned by hosted/server/tests/workers.test.ts and hosted/server/tests/policy.test.ts.
Must vendor pgstencil from a commit on its main. A Dormouse branch may vendor a pgstencil branch while a cross-repo change is in flight; main must not merge it until pgstencil has.
-
FAIL IF a production Worker exposes the captured-email inbox or deterministic clock controls, or imports the testing injection module; inspect
hosted/server/worker.ts, the build configuration, andhosted/server/tests/worker-entry.ts. -
FAIL IF an archive's SHA-256 differs from
vendor/build.json,build.jsonrecordsdirty, either archive'spackage/dist/provenance.jsonis missing, recordsdirty, or names a commit other thanbuild.json's, the core/auth pnpm overrides cease resolving to those archives, or a runtime import depends on a sibling source checkout. -
FAIL IF
vendor/build.json's commit is not on pgstencilmain(gh api repos/diffplug/pgstencil/compare/<commit>...main, statusaheadoridentical), or that commit'ssecurity-auditcheck run (gh api repos/diffplug/pgstencil/commits/<commit>/check-runs) is missing or notsuccess. pgstencil's own audit is the evidence for the packed code; Dormouse audits only how Hosted configures it. -
FAIL IF the local email inbox accepts a foreign Host or Origin or cross-site Fetch Metadata; inspect
allowedDevRequestinhosted/server/dev-host-guard.ts, including the upgrade guard inhosted/server/dev.ts. -
FAIL IF the production deploy can proceed without
preflightestablishing an uncached Hyperdrive, a matching migration/runtime database, and distinct runtime and migration roles; inspectpreflightinhosted/scripts/production.mjsand its ordering ahead of the deploy step in.github/workflows/hosted-production.yml. -
FAIL IF preview mail or OAuth calls reach external providers, preview configuration copies production routes/bindings, or a preview exposes deterministic time controls; inspect
hosted/server/preview-worker.ts,hosted/scripts/preview.mjs, andhosted/server/tests/workers.test.ts.
Pinned by hosted/server/tests/artifacts.test.ts, hosted/server/tests/workers.test.ts, hosted/server/tests/policy.test.ts, hosted/scripts/production.test.mjs.
Production activation, not checked until Hosted is provisioned: the live Hyperdrive and role values that preflight reads, and Cloudflare script injection excluded for the Hosted hostname (hosted/README.md). Checked-in placeholders prove none of them.
Public hosted voice and Relay need their own abuse, authorization, data-disclosure, and recovery checks first; docs/specs/hosted.md owns the staged work.