06-reference/research

fat cat board router token scope

2026-07-16·research-brief·source: deep-research·by Ray Data Co (deep-research synthesis)
cloudflareaccessservice-tokenssecurityfat-cat-council

The Fat Cat board-router service token does not exist — the audit item was inherited from a proposal, not from production

The question

Is the Fat Cat board-router service token scoped per-app or zone-wide? — quick check; if zone-wide, real find.

Follow-up #3 from the 2026-05-11 Cloudflare tunnel security brief for the Mac mini, which flagged the token's scope as an open one-time founder check.

What we already know (from the vault)

What the web says

Convergences and contradictions

Synthesis for RDCO

Half (a) — VERIFIED against primary docs read in this run. A Cloudflare Access service token is an account-level credential whose blast radius is the set of applications whose policies accept it. It is neither inherently per-app nor zone-wide. It becomes per-app when an application's policy includes a specific service_token / token_id. It becomes effectively account-wide-by-app-count when a policy uses Any Access Service Token, which admits every token in the account. The correct audit question for any RDCO Access app is therefore never "how is the token scoped?" but "which policies accept a service token, and do they name a specific token_id or any valid one?"

Half (b) — VERIFIED, and the answer is that the subject doesn't exist. Read-only GETs via ~/.claude/scripts/cloudflare-api.sh against account 5d4a0efe3ae671cf9cf3265eb1ff738c returned, literally:

So: no alarm, but a real find of a different shape. The anticipated bad outcome ("if zone-wide, real find") did not occur, and I am not going to manufacture it. The nearest real analog — hq-frontend-to-api, the only non-human identity in the account — is correctly scoped per-app by specific token_id, on the API app only. Critically, the SSO-bypassing non_identity policy exists only on hq-api.raydata.co; the human-facing hq.raydata.co carries only Allow Ben only (email). The token cannot bypass Google SSO on the HQ frontend. The *.rdco.dev wildcard app is email-gated with no service-token path. This is the configuration the parent brief was asking us to confirm, and it holds — for a token that isn't the one it asked about.

The actual finding is a vault-integrity one, and it is the reusable lesson. A status: proposal document's future-tense architecture ("Gates the board-router endpoint with a service token") was read by a downstream deep-research brief as a statement of live production fact, promoted into a "live discipline TODAY" checklist, and left open as a founder action item for two months against infrastructure that was never built. Nothing was insecure; attention was spent auditing a phantom. This is the tainted-intermediate propagation pattern already in memory (feedback_workflow_agent_output_integrity) showing up across documents rather than across sub-agents: the parent brief's "verify the service-token policy is scoped to the board-router app only" gap-to-close row reads as authoritative and cites a real vault doc, but no gate in the chain checked whether the subject existed. The cheap durable fix is a rule: when a brief cites a proposal, it inherits the proposal's status — architecture described in a status: proposal doc is a plan, not config, and any security item derived from it must be checked against live state before it becomes a checklist row.

Two low-priority hygiene notes fell out of the live read, neither urgent, neither what was asked: hq-frontend-to-api has duration: "forever" (expires_at: 2126-03-30) and client_secret_version: 1 — created 2026-04-23, never rotated, ~3 months old, actively in use (last seen 2026-07-14). That is consistent with the parent brief's "quarterly rotation as discipline" line and is the one genuine, if minor, open thread.

Why this is in the vault

Closes follow-up #3 and retires item #5 from the [[2026-05-11-cloudflare-tunnel-security-mac-mini.md]] "live discipline TODAY" checklist — a founder action item that has been open since May against infrastructure that does not exist. It also supplies the reusable audit question for RDCO's Access surface (any_valid_service_token vs specific token_id) that the Fat Cat Council would need at Phase 2 if it is ever built, and documents the proposal-read-as-production failure mode for the /deep-research engine.

Open follow-ups

Related

Sources

Vault

Live config (read-only GETs, 2026-07-16, via ~/.claude/scripts/cloudflare-api.sh)

Web

Changelog