Screenshot & Report
Everything you have built, where it lives, how it gets updated, what it costs, what is exposed, and what to do when you start the next one. Produced from a six-agent read-only audit of the entire estate.
Read this first. Three things matter more than everything else in this document:
vivian-admin.pages.dev serves the whole Vivian app with no Cloudflare Access, and both account credentials sit in plaintext in /vivian.js. Verified live. PARTLY FIXED Passwords removed and an origin gate committed (a3cc616) — but the app still renders on that ungated pages.dev origin. Closing it needs the Cloudflare dashboard..env probe returned 404. Your exposure is on-disk and in git, not on the internet. That is a much better problem to have.This page is a live snapshot, not a frozen report. The findings below are the audit as it stood on August 16, 2026 and are kept verbatim as the record. Anything remediated since carries a status chip like the ones above. Section 15 regenerates from disk on every run of Update-EstateIndex.ps1 — it always reflects the current state of every project, including ones created in any session since.
Every live site, what it is, and whether it's healthy.
02The folder map, and which folder maps to which live URL.
03Deploy procedures — and the one site you must never deploy directly.
04The checklist that prevents every problem in this report.
05Exposed, unversioned, and unrebuildable.
06Cloudflare R2 + restic. $0.15/month.
You have built considerably more than a typical solo shop, and the scale is the first thing worth internalising. When this audit started, the working assumption was around 30 projects. The real number is 78 Pages projects serving 97 hostnames.
| Category | Count | What it is |
|---|---|---|
| Live client production sites | ~15 | Real businesses with real customers — Mimi's, GVEC, The Yard, Jireh, SOL, Carniceria, TruVue, Top it off |
| Client reports & proposals | ~25 | Pitch decks, strategy reports, value reports — the sales engine |
| Review hubs & pilots | ~20 | Campaign reviews, SIGNAL pilots, showcase builds |
| Internal tools | ~10 | Vivian admin, playbooks, capability catalog, agent docs |
| Staging & placeholders | ~8 | Staging twins, intentional takedowns |
Why you couldn't hold this in your head. That's not a failing — it's roughly 78 deployments built across two years while also running the client work. The problem this report solves isn't that you forgot; it's that nothing was enumerating it for you. That's now fixed, and §7 gives you the process so the next 78 stay documented.
Sec = security headers present: F X-Frame-Options · C X-Content-Type · R Referrer-Policy · H HSTS · P CSP.
| Site | Status | Sec | Note |
|---|---|---|---|
| mimissweettreats.com | Healthy | FCRHP | The only fully-hardened site you own — and the best pipeline. Copy this everywhere. |
| gveventcenter.com | 200 | -CR-- | No HSTS/CSP/XFO. Staging twin is cannibalising its SEO. |
| theyardfuncenter.com | 200 | -CR-- | No HSTS/CSP/XFO. |
| jirehcafeandbakery.com | 200 | FCR-- | Git Provider = Yes — GitHub is in this deploy path. Folder idle 109 days. |
| soleverydaybs.com | 200 | FCRH- | Missing only CSP. Deploy script omits .env from its exclude list. |
| vivereweb.com | 200 | FCR-- | Git Provider = Yes. 17 files uncommitted for a month. |
| carneceria-senora | 200 | FCR-- | Deploys raw from repo root — ships admin/, SETUP.md, node_modules/. |
| truvu-pilot | 200 | -CR-- | Live client site with an unversioned source folder. |
| true-nord-photography | 200 | FCRHP | Full header set. |
| topitoffgj.com | Coming Soon | -CR-- | 2.7 KB holding page despite notes saying the build is live. |
| vivere-colorado | 200 | FCR-- | Trailer site. noindex deliberate until the name is final. |
| tentacle-tide | 200 | -CR-- | Void Tide β. |
The header gap is one file repeated. Mimi's has a good _headers file; it was never copied to the other ~90 hosts. That's a single-file fix, not 90 separate problems.
Around 45 further hosts return 200 with correct titles and a noindex tag — the bulk of your report and review-hub estate, working as intended. The seven correctly-protected ones (sol-network-report, vivere-team-strategy, vivere-ip-record, vivere-film-review, nord-soundlabs, mimis-recipe-engine, mimis-internal-wholesale) send both an X-Robots-Tag header and a meta tag. That's the pattern to copy.
| Host | Issue |
|---|---|
mimis-wholesale-pack | 404, 0 bytes — believed live, is not |
mimis-sweet-treats-staging | 404 — staging for your flagship client is dead while prod is live |
vivere-production-bible, gj-pro-gym, elswr-tattoo | "Deployment Not Found" |
staging-dev-client-tripodi | 0 bytes |
Two live sites cannot be rebuilt. mimis-catering-expansion (311 KB, titled CONFIDENTIAL) and mimis-internal-wholesale are live with no local source folder. If Cloudflare lost them tomorrow they're gone. Fix: wrangler pages deployment list, download the latest, re-home the source — or delete the projects.
Vivere Clients\, content lives in Media Channels\, everything deploys with wrangler from your machine — and one site has a special pipeline you must never bypass.The split to remember: Vivere Clients\<client>\ is the website and code. Media Channels\<client>\ is the content — social cards, videos, campaign scripts. They're separate on purpose. A client with both has a folder in each.
The one thing that confused everything: your entire home folder C:\Users\sutli used to be a git repo pointed at github.com/MIMITREAT/allbizco. That's why every Claude Code session was labelled "allbizco" and why git status showed thousands of unrelated files. Archived 2026-08-16 to _git-archive-allbizco-2026-08-16 — all 135 commits preserved, reversible with a rename.
Project names do not match domains. The Yard's domain is theyardfuncenter.com but its project is the-yard-family-fun-center. Always verify:
Mimi's Sweet Treats is different. Never deploy it directly. It has a build step that strips internal docs out of the public bundle. A raw wrangler pages deploy . from that repo root would publish _docs/, internal reports, and .env.
curl -s "https://…/?cb=$(date +%s)"This checklist prevents essentially every problem in this report. Follow it and the next 78 projects stay clean.
Vivere Clients\<Client Name>\ for code, Media Channels\<Client Name>\ for contentgit init immediately, before the first file. A project without its own repo silently falls into whatever repo contains it.gitignore first — must include .claude/, .env, .env.*, node_modules/, dist/, .wrangler/site/ so internal docs can't ship_headers file — gets you CSP, HSTS, and X-Frame-Options for freenoindex if it's a report, proposal, pilot, or anything internal — both the meta tag and X-Robots-TagCLAUDE.md or PROJECT-NOTES.md so it's discoverable later| Host | What it is | Severity |
|---|---|---|
| vivian-admin.pages.dev | Internal admin OS — CRM, client milestones, calendar — no Cloudflare Access, plaintext credentials in /vivian.js | Critical |
| GVEC value & pricing in a live negotiation — missed in the Jul 18 takedown | Fixed 8/16 | |
| vivere-client-reports | Sonora Market build report + competitive analysis; text says confidential | High |
| elswr-proposal | Client proposal with pricing; still branded "Allbizco" | High |
| vivere-agent-playbook | 142 KB of core internal operating IP | High |
| grand-view-event-center-staging | Allow: / + sitemap pointing at production — actively harming a live client's SEO | High |
| mimis-campaign-report · proscape-staging · wandell-racing-signal | Confidential or unreleased client material, indexable | Medium |
Already fixed in this session: gvec-value-report taken offline — 59,556 bytes → 775, noindex set, zero pricing data exposed. The original was preserved to Grand View Event Center\_docs\recovered-reports\ first, because that project had no local source.
Now that the home-directory repo is archived, these folders have no version control at all. No history, no rollback, no undo.
| Folder | Size | Code files | Why it matters |
|---|---|---|---|
Media Channels\ — entire tree | 2.5 GB | 153 | Mimi's live social pipeline runs from here |
Horn Venues Marketing\ | 3.4 GB | 147 | Largest unversioned client folder; live deliverable |
Proof of concept\ | 1.8 GB | 448 | Has a fake .git — no objects/. Looks versioned to every automated check. Highest code-file count you own. |
Vivere Web Site\ | 313 MB | 279 | Live agency site working tree |
mimis-menu-boards\ | 372 MB | 57 | Shipped physical product |
TruVue\ | 21 MB | 13 | Live client site. Cheapest win here — minutes of work. |
Delta Expansion 2026\ | 4.4 MB | 36 | Best size-to-value ratio in the list |
The good news, verified empirically: nothing is reachable from the web. /.env returned 404 across four Pages hosts — Cloudflare doesn't serve dotfiles. Every dist/ output is clean. All 8 live client .env files are correctly gitignored. Your .gitignore discipline is sound.
Every leak found arrived by a different route:
| What | Where | Action |
|---|---|---|
| 3 Google Cloud service-account keys, non-expiring | Two loose .json in Reports & Proposals\…\unsorted\, one pasted into a notes file | Delete in GCP IAM. Nothing uses them. |
| Clover private token + QuickBooks client secret | Committed and pushed to the Mimi's GitHub repo (private, not public) | Rotate — needs Naomi |
| 2 GitHub PATs + 4 Cloudflare tokens | .claude/settings.local.json across 9 files | Revoke all 6 |
| 1 Cloudflare token identical across 7 projects | GVEC, Mimi's, SOL, Carniceria, Jireh, vivereweb | Split into per-project scoped tokens |
The structural cause worth remembering. .claude/settings.local.json stores approved Bash commands verbatim. Every curl you once approved with a token inline wrote that token permanently into the permission allowlist. Your approvals became a credential log. Nobody thinks of a settings file as a secret store — that's why it went unnoticed. Fixed 8/16: .claude/ added to 9 .gitignore files; The Yard's tracked copy untracked.
The backup you thought you had has been lying to you for four months. Run-T7-Backup.ps1 fires every 15 minutes. All 61 retained logs say the same 64 bytes: "T7 not detected on D:. Skipping this run." The scheduled task reports SUCCESS while doing nothing, because the script exit 0s on a missing drive.
Windows File History's catalog for that drive was last written 2026-04-16. There is no cloud copy. Developer\ is not in OneDrive or Dropbox. A drive failure today is a total business loss.
Git is for source code — text where line-by-line history matters. Most of your estate is not that. 12 files exceed GitHub's 100 MiB hard block and can't be pushed at all. And binaries in git are irreversible: your own Ten4Funding is a 20.8 MB website with a 320.5 MB .git — 15× bloat, because binaries were committed and deleted. Deleting from git does not shrink git.
Use both: git for source and history, restic for survival.
3 copies · 2 media types · 1 offsite. You currently have 1 copy, 1 medium, 0 offsite.
Your dataset is ~15–18 GB deduped (41% of your content is a second or third copy of itself; restic's content-addressed dedupe collapses it). At R2's $0.015/GB:
| Line | Cost |
|---|---|
| restic → Cloudflare R2, encrypted, versioned | ~$0.15/mo |
| Private GitHub repos for the 514 MB source tier | $0 |
| T7 external drive (owned) as fast local restore tier | $0 |
| Total | ~$0.15/mo |
Why restic specifically: client-side AES-256 means Cloudflare holds ciphertext only and never sees your key. That makes it the one destination your .env files and credentials are allowed to go — never git, never Drive/OneDrive/Dropbox. Point-in-time snapshots are ransomware-resistant in a way sync services are not; sync propagates a delete or an encryption straight to the cloud. R2 also has permanently zero egress fees, so a full restore costs nothing.
Three things that void the entire plan if skipped:
RESTORE-DRILLS.md. If that file has no entry in 90 days, you don't have a backup — you have an assumption.Also: BitLocker To Go on the T7, because it will carry every client .env and your SSH keys in plaintext otherwise. And dev-tools\android-keystore — two tiny files — must be in the backup and the password manager. Lose them and you can never update an already-published Android app.
.claude/ + .env added to 9 .gitignore files Sessionvivian-admin — Cloudflare Access on the project itself, not just the custom domain. Passwords are already out of client-side JS and a guard is committed; what remains is the ungated pages.dev origin, which only the dashboard can close. This is the last thing still reachable on the public internet. Joeexit 0 bug in Run-T7-Backup.ps1; it is now stale-based and turns red when the last good backup is older than 3 days Sessionnoindex to the 6 remaining exposed reports SessionDisallow: / on GVEC staging and ProScape staging Sessiongit init the unversioned folders in §9 — 8 done on 8/16, the rest listed live in §15 Sessiondist/ (Mimi's is the template) Session_headers across the estate SessionAuto-generated from disk on 2026-08-16 at 21:02. 21 projects under version control, 15 without, 1 with a broken .git. 9 carrying uncommitted work (93 files), 4 checked out off the mainline branch.
Read the Uncommitted and Branch columns before deploying. wrangler pages deploy ships whatever is checked out on disk — not what is on the mainline branch. Uncommitted work exists in exactly one place and is not on any backup that runs from git.
| Project | Version control | Tracked | Uncommitted | Branch | Live URL | Last touched |
|---|---|---|---|---|---|---|
| _AUDIT-2026-08-16 | none | — | — | — | — | 2026-08-16 |
| _BACKUPS | none | — | — | — | — | 2026-05-20 |
| _capability-catalog | none | — | — | — | — | 2026-08-08 |
| _RECOVERED-ORPHAN-SITES | repo | 4 | clean | master | — | 2026-08-16 |
| _templates | repo | 25 | clean | master | — | 2026-08-16 |
| Carniceria Senora | repo | 76 | clean | dev | carneceria-senora.pages.dev | 2026-05-21 |
| Crosspost video | none | — | — | — | — | 2026-07-12 |
| Delta Expansion 2026 | repo | 55 | clean | master | delta-expansion-plan.pages.dev | 2026-08-16 |
| GJ Pro Gym | repo | 7 | 1 files | master | — | 2026-06-08 |
| Grand View Event Center | repo | 355 | clean | landing-redesign-2026-04-29 | gveventcenter.com | 2026-08-13 |
| Horn Venues Marketing | repo | 191 | clean | master | — | 2026-08-16 |
| Jireh Cafe and Bakery | repo | 98 | clean | main | jirehcafeandbakery.com | 2026-04-29 |
| Mimis at Roadhouse | repo | 5 | clean | master | master.mimis-sweet-treats.pages.dev/roadhouse | 2026-08-16 |
| Mimis Sweet Treats | repo | 725 | 49 files | master | www.mimissweettreats.com | 2026-08-16 |
| Moore Racing | repo | 13 | 5 files | master | — | 2026-07-22 |
| Proof of concept | FAKE .git | — | — | — | — | 2026-07-01 |
| Proscapeco | repo | 81 | clean | master | proscape-quote-report.pages.dev | 2026-07-12 |
| SOL Everyday Bullshit | repo | 131 | clean | master | soleverydaybs.com | 2026-05-21 |
| Ten4Funding (paused) | repo | 34 | 3 files | add-bg-video-nav | tenfourfunding.pages.dev | 2026-07-17 |
| The Yard Family Fun Center | repo | 231 | 2 files | master | theyardfuncenter.com | 2026-08-11 |
| Top it off Smoothie Cafe | repo | 36 | 22 files | main | topitoffgj.com | 2026-06-29 |
| Torta Roofing | repo | 2 | 2 files | master | — | 2026-08-16 |
| TruVue | repo | 29 | clean | master | truvu-pilot.pages.dev | 2026-08-16 |
| Vivere Colorado Food Trailer | repo | 17 | 1 files | rebuild/foundation | vivere-colorado.pages.dev | 2026-08-16 |
| Wandell Racing | repo | 20 | 8 files | master | wandel-et-engine.pages.dev | 2026-07-23 |
| Project | Version control | Tracked | Uncommitted | Branch | Live URL | Last touched |
|---|---|---|---|---|---|---|
| Cosmic Calm | none | — | — | — | — | 2026-06-17 |
| Grand View Event Center | none | — | — | — | gveventcenter.com | 2026-07-21 |
| Hidden Lives | none | — | — | — | — | 2026-06-16 |
| Mimis at Roadhouse | none | — | — | — | master.mimis-sweet-treats.pages.dev/roadhouse | 2026-08-13 |
| Mimis Sweet Treats | none | — | — | — | www.mimissweettreats.com | 2026-08-16 |
| report-deploy | none | — | — | — | — | 2026-06-27 |
| SOL Everyday BS | none | — | — | — | — | 2026-06-23 |
| Vivere | none | — | — | — | — | 2026-07-12 |
| Vivere Colorado | none | — | — | — | — | 2026-08-13 |
| Wanderers of the Cosmos | none | — | — | — | — | 2026-06-17 |
| Project | Version control | Tracked | Uncommitted | Branch | Live URL | Last touched |
|---|---|---|---|---|---|---|
| mimis-menu-boards | repo | 255 | clean | master | mimis-menu-boards.pages.dev | 2026-08-16 |
| Vivere Internal | none | — | — | — | vivereweb.com | 2026-08-16 |
One print-ready handover document per client site, generated from each live codebase: handoffs/
Each covers what the client owns, the file inventory, how the site is hosted today, how to take over the Cloudflare account, how to move to Netlify / Vercel / GitHub Pages / FTP instead, domain ownership, and what is not included. Open one and use Print or save as PDF.
The handoff index lists every client together — do not send that page to a client. Send each client only their own document.
6 of 10 sites use Pages Functions and are therefore not portable to a plain static host without rebuilding the server-side features. Each document says so per-site rather than giving the client a generic “upload it anywhere.”
Code archives are not published here. Cloudflare Pages caps a single file at 25 MiB
and six archives exceed it (largest 422 MB). They sit in
Vivere Internal\client-handoffs\public\ and are delivered to clients directly.
.env files are correctly gitignored. Your discipline there is sound.node_modules/, dist/, .pem, or a real .env.admin.vivereweb.com is properly gated. The design is right — only the coverage isn't.Verification limits. Live/revoked status of each credential was not tested — testing requires transmitting it, which was deliberately not done. Treat all as live. Duplicate detection used size + file count, not content hashing — hash-verify before deleting anything. Binary formats (PDF/DOCX) were not scanned, and Reports & Proposals\…\unsorted\ is mostly PDFs and is exactly where the loose GCP keys surfaced — it deserves a manual pass.
Vivere Web Development — Screenshot & Report
Estate audit · August 16, 2026 · 6 parallel read-only agents · 23,846 files · 97 hostnames
Internal — eyes only. Contains security findings, credential locations, and client-confidential context. Do not distribute. Source detail: Vivere Clients\_AUDIT-2026-08-16\ (files 01–06).