apps/mastermind, served only on mastermind.tuturuuu.com. Apex path hosting
is deferred and requires a separate Selene design. The Worker rejects
tuturuuu.com/mastermind and its children. It does not revive the retired app.
W1 serves an English or Vietnamese owner shell at /en and /vi.
Organization rendering follows in W2. There is no analytics or contact rendering.
Request admission
Every path, including assets and server functions, passes the Worker first. Missing configuration fails closed with 403 before storage, API or hub reads. Signing keys come from the team Access certs endpoint over HTTPS. A JWKS fetch error denies the request with 403 before any application data reads.- Require HTTPS and exactly
mastermind.tuturuuu.com. Preview and workers.dev hosts are refused regardless of forwarded headers. - Verify
Cf-Access-Jwt-Assertionusing RS256, issuerhttps://<CF_ACCESS_TEAM_DOMAIN>,CF_ACCESS_AUD, expiry and issue time. jose’screateRemoteJWKSetfetcheshttps://<CF_ACCESS_TEAM_DOMAIN>/cdn-cgi/access/certs. Its per-team, per-isolate cache uses a five-minute refetch cooldown, a ten-minute maximum cache age and a five-second fetch timeout. Unknown signing keys fail closed during cooldown; a rotated key can be accepted after a successful refetch. No static signing-key configuration or network-error fallback is used. - Require the JWT email to equal
MASTERMIND_OWNER_EMAILexactly. Verify the satellite access session withTUTURUUU_APP_COORDINATION_SECRET, targetmastermind, access scope and a maximum lifetime of 300 seconds. The request-injectedgetSatelliteAppSessionUseradapter uses shared auth core without the legacy helper’s database fallback. - Require
OWNER_IDSmembership on every request. Missing or empty IDs deny access. This is the transitional owner-only fallback. Session permission scopes are never treated as live permission evidence. Livemanage_mastermindintegration remains a C1 release gate.
Data boundaries and memo
The shell performs no data reads. Uncalled W2 client scaffolds use a private ops-hub binding stub and the user’s satellite bearer for the web org API, refusing redirects. Before W2 uses these clients, replace the hub stub with the gateway HMAC assertion path and validate org API responses against the allowlisted schema. C1 API acceptance is required before use. There is no second person store. The memo factory is per-isolate, keyed by owner ID, bounded to 32 entries and expires after 60 seconds or session expiry. Run authentication and the owner gate before consulting it. Removing an owner from the request environment revokes immediately. A future live permission memo must preserve the same maximum revocation window and test real permission removal with C1. All responses areprivate, no-store; no people data may use edge caches.
Security and verification
CSP allows same-origin scripts only and forbids frames, objects and base changes. HSTS, nosniff, DENY and no-referrer apply to denied responses too. The W1 server-rendered shell needs no client hydration scripts; W2 must add nonce-based hydration with CSP runtime regression coverage. On an admitted host runttr resources run -- bun run --cwd apps/mastermind test.
The matrix signs real JWTs and app sessions and asserts 403 with zero reads.
It also checks JWKS fetch failure, unknown keys, rotation after cooldown and
apex-path refusal. It covers immediate owner revocation, memo expiry and isolation, user-credential
forwarding and a recursive privileged-key-name scan.
The owning native workflow builds in CI, then seals and restores the Worker.
Its explicit test:runtime command runs the .acceptance.mjs suite against the
emitted artifact; generic source-test discovery must not run that suite. Runtime
fixtures use isolated .invalid preview hosts. The source auth matrix also checks
the production-like preview hostname.
The local emitted-Worker fixture sets dev.origin.secure: true while its
listener remains on loopback HTTP. The runner otherwise rewrites HTTPS inputs to
HTTP before the Worker sees them, and the required HTTPS guard correctly denies
the owner before JWT verification. Preserve the hostname without an origin-host
override so preview and apex hosts still fail. The source matrix separately
asserts that a plaintext HTTP owner request returns 403 with zero reads.
Publication remains held
workers_dev:false, preview_urls:false, no routes, no deploy job and the
mastermind publication policy hold production. Deleting that entry fails closed.
No DNS or Access application is provisioned by W1.
Before an explicit cutover PR require exact-commit CI, sealed original/restored
Worker acceptance on the dedicated hostname, staging behind Access, session issuance
and refresh, MFA and live permission acceptance, C1 minimum-field serialization
and revocation tests, approved sanitized publisher samples, Selene’s design and
implementation reviews, Bea’s Access/DNS approval and Rex’s gated release.
Record immutable deployment and routing rollback.
Follow the native Start runbook.