Docs Hosting Runbook v1
Version. v1 · 2026-09-20
Owner. Brandon Stauber
Status. Draft — deploy sequence pending Brandon execution
Companion. HIFP-poc-hosting-runbook-v1 — same pattern, same Cloudflare account + team
Mirror of the POC hosting pattern for the v4 canonical kit. Same Cloudflare account, same team (hifp on hifp.cloudflareaccess.com), same trio allowlist, separate Pages project + Access application.
§1 · Quick reference (at-a-glance)
| Item | Value |
|---|---|
| Production URL | https://hifp-docs.pages.dev (planned) |
| GitHub repo | hifp-docs (private, to be created) |
| Cloudflare Pages project | hifp-docs |
| Cloudflare Access application | HIFP Docs |
| Access team | hifp.cloudflareaccess.com (existing, shared with POC) |
| Allowlist policy | Brandon + Sindhu + Fatima (same emails as POC) |
| Session length | 24 hours (email OTP re-prompt after) |
| Site content | Contents of ~/Desktop/HIFP/artifacts-v4/ at repo root |
| Build | None — static HTML only |
| Deploy trigger | Git push to main (Cloudflare auto-deploy) |
§2 · Current stack
Runtime. Static HTML + CSS. No JavaScript build. No adapter. No environment variables. The entire site is served as-is from the repo root.
Files in repo (once created):
index.html— the v4 index landing pageHIFP-*.html— all v4 canonical artifacts (POV, memo, decks, build+eng plan, session notes, decision log, open questions, circulation note, both hosting runbooks, founder inputs)assets/hifp-design-system.css— shared design system stylesheet linked by every HTML artifactREADME.md— repo description + rebuild notes.gitignore— excludes.DS_Storeand other scratch
MD companions. Every canonical HTML artifact has a companion .md file in the same directory. These are served (Cloudflare Pages serves any file at its path), but render as plain text in a browser. HTML versions are what the index links to.
Cloudflare Pages Build Configuration (in dashboard, at project creation):
- Framework preset: None
- Build command: (leave empty)
- Build output directory:
/(repo root) - Root directory: (leave empty — repo root)
§3 · How to add a user
Same two-step pattern as POC (see POC runbook §3 for full detail):
Step 1 · Invite to Cloudflare account. Cloudflare dashboard → Manage Account → Members → Invite. Email + role: Analytics (or Administrator - Read Only for viewer-only).
Step 2 · Add to Access allowlist. Zero Trust → Access → Applications → HIFP Docs → Policies → edit the HIFP Docs Allowlist policy → add email to the Emails include selector.
§4 · Initial deploy sequence (one-time setup)
Prereqs. GitHub account with permission to create private repos. Cloudflare account + Zero Trust team hifp (existing, shared with POC).
4.1 · Create the GitHub repo
gh repo create hifp-docs --private --description "HIFP v4 canonical kit — private docs site"
4.2 · Prepare local git repo from artifacts-v4/
cd ~/Desktop/HIFP/artifacts-v4
git init
git branch -m main
git remote add origin git@github.com:<your-username>/hifp-docs.git
git add .
git commit -m "Initial commit — v4 canonical kit (2026-09-20 rebuild)"
git push -u origin main
4.3 · Create Cloudflare Pages project
- Cloudflare dashboard → Workers & Pages → Create → Pages → Connect to Git
- Authorize the
hifp-docsGitHub repo - Project name:
hifp-docs(produceshifp-docs.pages.dev) - Production branch:
main - Framework preset: None; Build command: (empty); Build output directory:
/ - Save + deploy
First deploy takes ~30–60 seconds. After it succeeds, the site is live at hifp-docs.pages.dev — but publicly accessible until Access is applied.
4.4 · Create Cloudflare Access application
- Cloudflare Zero Trust dashboard → Access → Applications → Add an application → Self-hosted
- Application name:
HIFP Docs - Session duration: 24 hours
- Application domain:
hifp-docs.pages.dev - Path: (leave empty — protect everything)
- Identity providers: One-time PIN (email OTP; enable Google / GitHub / Microsoft optionally)
- Save
4.5 · Add the allowlist policy
- In the
HIFP Docsapp, go to Policies → Add a policy - Policy name:
HIFP Docs Allowlist - Action: Allow
- Include: Emails — list all three founder emails (same list as POC's
HIFP POC Allowlist) - Save
https://hifp-docs.pages.dev in an incognito window; you should see the Cloudflare Access email prompt, then land on the v4 index after entering an allowlisted email and its OTP.§5 · Ongoing deploy cycle
5.1 · Edit → commit → push
Standard git flow. Edit any file in ~/Desktop/HIFP/artifacts-v4/, then:
cd ~/Desktop/HIFP/artifacts-v4
git add -A
git commit -m "<what changed>"
git push
Cloudflare auto-deploys within 30–60 seconds. Watch build logs at Cloudflare dashboard → Pages → hifp-docs → Deployments.
5.2 · Repo hygiene
.gitignore — excludes at minimum: .DS_Store, *.tmp, inputs/
README.md — repo purpose + link to this runbook + entry point (index.html). Present at repo root.
§6 · Environment variables
None. Static HTML has no runtime. If we ever add analytics (Plausible, Cloudflare Web Analytics), env vars would only be needed at build time — and this site has no build. Any analytics gets embedded directly in index.html.
§7 · Cloudflare Access details
Application configuration. As set up in §4.4.
Policy configuration. As set up in §4.5 — one Allow policy with the trio's emails.
Identity providers enabled. One-time PIN (email OTP) minimum. Optional: Google / GitHub / Microsoft.
Team domain. hifp.cloudflareaccess.com (existing, shared with POC).
Cloudflare Access pricing. Zero Trust free tier covers up to 50 users. Trio uses 3. POC + Docs together share the team's user count.
§8 · Known constraints + gotchas
hifp-docs.pages.dev/HIFP-investment-memo-v4.html works. No SPA routing needed since this is static..md files served as plain text. Cloudflare Pages serves .md files with content-type: text/plain, which renders as unformatted text. HTML versions are what the index links to.HIFP-investment-memo-v4.html and hifp-investment-memo-v4.html are different URLs. The index and inter-artifact links use exact-case names throughout.https://<hash>.hifp-docs.pages.dev). These are NOT Access-protected by default. To protect: add *.hifp-docs.pages.dev as an additional application domain in Access.hifp-docs.pages.dev to a custom domain, the Access application's Application Domain must be updated to match, or Access will not intercept requests.§9 · What lives in this site (content spec)
The v4 canonical kit at time of first deploy:
- Investment artifacts (4): POV v4 · Investment Memo v4 · Investor Deck v4 · Walking Deck v4
- Business + engineering plan (2): Build + Engineering Plan v4 · POC Hosting Runbook v1
- Docs site runbook (1): this document
- Post-checkin package (4): Session Notes 09-11 · Decision Log 09-11 · Open Questions 09-11 · Circulation Note 09-11
- Founder inputs (1): Founder Inputs 09-08
- Shared design system (1): assets/hifp-design-system.css
- Index (1): index.html
../artifacts-v3/* in the index rely on the artifacts-v3 directory being sibling-deployed OR being pruned to only what the docs site needs. Decision point: for first deploy, either (a) copy the referenced v3 artifacts into hifp-docs/reference/ and update the index paths, or (b) leave the reference-section links pointing at local file:// paths and accept that they don't resolve on the deployed site. Recommendation: (a), for a self-contained site.§10 · Watch triggers (change events that need runbook update)
- New v4 canonical artifact added → update §9
- Custom domain migration → update §1 + §7 gotcha
- Additional user added → update §3 allowlist (nowhere to update in runbook; Access-side only)
- Third-party analytics added → update §6
Version history
- v1 · 2026-09-20 — Initial runbook drafted alongside v4 kit rebuild + Cloudflare docs site setup plan. Mirrors POC runbook v1 pattern.