PRIVATE SHS TEST HOST — BRIEF FOR MARK 31 October 2026 | Starting point: immutable v0.25 local prototype NEXT INFORMATION NEEDED Add the proposed hosting provider/service and test project or dashboard link to the Business ChatGPT project. State whether it supports a Python service with persistent disk, what test hostname to use, and who can deploy it. Keep passwords, API keys and recovery codes out of chat; use the provider's normal sign-in or secret settings. No new hosting cost has been authorised. TARGET One isolated, private staging copy for Sandy and Mark, containing only the supplied invented sample. Both computers must reach the same saved records at one HTTPS address. Keep the original Mac reviews and live SHS untouched. WHAT THIS APPLICATION NEEDS - Python 3.12-compatible runtime; tested locally with 3.12.14. - FastAPI/Uvicorn backend and the bundled React frontend/dist assets. - Persistent writable local filesystem: identity registry, separate SQLite business databases and private image folders. They must survive restart. - A single app instance initially. Do not share the SQLite directory between multiple replicas or put it on an unverified network filesystem. - Bounded image decoding uses child processes/native Pillow and HEIF support; the host must support these. PDFs are generated by the Python backend. - requirements.lock supplies exact dependencies. Node/pnpm are only needed if rebuilding the already bundled frontend; preserve the lockfiles. ChatGPT Sites uses Cloudflare Workers. This Python/SQLite/filesystem version does not fit that hosting runtime unchanged. Uploading only frontend/dist would leave the business operations without their backend. Do not substitute a visual mock-up and call it the tested application. REQUIRED STAGING ADAPTATION Prepare and review a separate version/branch before exposure. The current run.py binds only to 127.0.0.1. backend/app.py permits only local hostnames and checks an http:// origin. backend/identity.py uses local HTTP cookies. backend/store.py and the sign-in UI include known public demo credentials. These settings must not simply be published or put behind an open tunnel. For the chosen host, explicitly configure the exact external HTTPS origin, trusted reverse-proxy handling, secure session cookies, private admission for Sandy and Mark, and unique test access. Prevent anonymous access to the test service and bypass through an unprotected origin. Remove default demo sign-in prefilling from the hosted UI and ensure known passwords do not work. Preserve route policies, per-business/object checks, CSRF, rate limits and request/image limits. Do not enable integrations or general outbound access as an accidental side effect of making the listener reachable. DATA AND REPEATABLE TESTING Restore invented-before-your-test.zip into a NEW data folder using the matching v0.25 recovery.py and the supplied checksum. The backup contains no passwords or sessions. Restoration creates fresh account credentials and revokes portal/photo/feedback access. Handle RESTORED-LOGIN.txt privately; never serve it as a web asset or include it in a deployment source bundle. The sample starts before the correction. Alex has two eligible original jobs, one job already moved to Carys, and unrelated retained-customer work. The retained name can be restored; the later phone must be kept. Harbour Homeworks is empty. Exact sample IDs are in evidence/sample-setup.json. Retain the initial code/backup/checksums and take a stopped backup after a completed test before restoring another fresh sample. Use the matching recovery tool; never downgrade a migrated data folder or overwrite Sandy's existing localhost:8789 or pwa-qa.localhost:8797 datasets. BEFORE CALLING THE SHARED LINK READY Verify the deployed version; unauthorised visitors are denied; both intended testers can sign in; saved records survive restart; both computers see the same save; stale edits do not silently overwrite; both businesses remain separate; private photos/PDFs are protected; recovery into a fresh folder works; and the merge walkthrough can be performed. Record deployed changes and checks separately from the local v0.25 evidence. Return the actual verified HTTPS test link, how each tester obtains access, the version, and any remaining limits. The Business ChatGPT project link is: https://chatgpt.com/g/g-p-6ae5cd0141708191930782d80425cc96/project CODE PACKAGE SHS-Local-Prototype-v0.25.zip Commit: f652b63530b7a786b88f229d5600d61aac1d888c SHA-256: 4975d3af5d2da5eae7ba20b0dac3ca9c6ebd0361aaa0c48d1dfad99dcd346aba 764 files; 6,895,627 archive bytes. SAMPLE BACKUP invented-before-your-test.zip SHA-256: 6a750024a2e8aeab06ece66d22e770e41237a826118dcb07afb1a3abd4f2d1bc 53,058 bytes; recovery format 14 / metadata 0.25.0. No remote test app has been deployed as part of this handoff.