Cloudflare Access is the authentication and authorization edge for operator surfaces. Cloudflare is the identity provider; account membership is the authorization selector. Proton Pass is the credential source for automation.
ledger.factory-wager.com — whole hostname behind Access.reasonix.factory-wager.com — whole hostname behind Access.score.factory-wager.com/portal — portal path behind Access.score.factory-wager.com/registry and public proof/API read routes stay
outside this app so package and verification consumers remain non-interactive.pages.dev hostname and preview deployments use the
Pages Access control in addition to the custom-domain application. A normal
custom-domain Access app does not cover those hostnames.The policy source is
.cloudflare-access.yml. It is deliberately
scoped: true; the toolchain must ignore unlisted live Access apps instead of
deleting them.
cloudflare_account_member: {} include rule.
Omitting account_id selects the current account and keeps identifiers out
of source.Current Cloudflare references:
.cloudflare-access.yml
and must pass bun run cloudflare:access:verify.Inventory authority remains projects/README.md and
bun run projects:roots:check. Vault coverage authority remains
bun run env:inventory:vault.
.cloudflare-access.yml, this runbook, and the
static verifier/test.Agents claim disjoint files, re-check git status before staging, and commit in
this order: safety contract, identity hotfixes, vault wiring, live plan
evidence, then portal evidence.
The existing general Cloudflare token and DNS token do not have Access scope. Before a live plan:
Cloudflare Access API Token in the factorywager Proton vault.pass-cli proves the item resolves.Token creation is a human Cloudflare-dashboard action. Source changes must not pretend the permission exists before the vault item is real.
bun run cloudflare:access:verify
bun run proton:check
kimi-cloudflare-access plan
Review the plan for creates/updates only. Any delete is a stop condition.
Before apply, test the rollback path: preserve the prior app/policy snapshot and confirm an administrator can disable the new policy or restore the prior one. After apply, verify:
Do not run kimi-cloudflare-access apply until the dedicated token, Cloudflare
IdP, Pages Access setting, and rollback snapshot all exist.