# BONE FLOW #024 v1.0.293 — single installer / server-name branch

One package, one Windows installer entry (`install.bat` -> `install.ps1`). The actual server `ServerName` in Apache httpd.conf (or `-ServerName` when ambiguous) determines role: `localhost`/`127.0.0.1` => LOCAL; `pcsr.net`/`www.pcsr.net` => SERVER. All other/unknown names fail before any deployment. On a phone the URL hostname is for UI API selection only; it does not mean the phone runs the server installation.

LOCAL: original #024 v291 formal install and HTTP validation, package version updated to 1.0.293; matching dependencies are required. The browser on localhost connects to the server API at https://pcsr.net; the browser on pcsr.net uses the same-origin API path. Device ID is not a login credential.

SERVER: deploys only the SQLite merge page and its matching installed dependencies plus the Python server API into a private directory outside DocumentRoot. Existing scripts/DB records are not overwritten silently; mismatch aborts. User data is never copied into the public directory. Existing server scripts are backed up before replacement.

This does NOT configure Apache HTTPS proxy or automatically start a Python service. Administrator must inspect `apache-sync-proxy.conf`, add the two ProxyPass directives in the HTTPS VirtualHost, set `BF024_SYNC_TOKEN` (32+ secret chars), private `BF024_SYNC_DATA_DIR`, and configure persistent startup. Only after a separate live authenticated /status check may a working server sync be reported. Python >=3.11 and PowerShell 5.1 on the installer host are required. For a Linux-hosted pcsr.net server this Windows installer is not compatible; no unsupported assumptions about actual remote OS.

All previously persisted browser IndexedDB databases must be backed up and are never reset by the installer. v1.0.293 remains Candidate / NOT COMPLETED until Windows/Apache/server/smartphone user verification.
