diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml deleted file mode 100644 index 4892639..0000000 --- a/.github/workflows/deploy-pages.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Deploy GitHub Pages - -on: - push: - branches: [master] - paths: - - 'docs/**' - - '.github/workflows/deploy-pages.yml' - workflow_dispatch: - -permissions: - contents: read - pages: write - id-token: write - -concurrency: - group: pages - cancel-in-progress: false - -jobs: - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Configure Pages - uses: actions/configure-pages@v5 - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: docs - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/README.md b/README.md index 3e06161..974b6c2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ APT is a Windows Electron desktop app that imports an existing Alta Video sessio - The renderer receives only connection origin/state, device/site/auth responses, and owned proxy metadata. It never receives or supplies the Alta session value. - The bridge listens only on `127.0.0.1:18247`, accepts only the committed extension origin, requires the `X-APT-Pairing` secret, limits concurrent/body/deadline work, and validates an exact canonical Alta HTTPS origin. - The pairing envelope is a scrypt hash stored atomically under Electron `userData` with restrictive permissions. The plaintext secret is shown once on first run or rotation. Revoke invalidates it. -- Proxy launch is a direct `spawn` of the fixed helper with `shell: false`; stop actions can target only children owned by this app. +- Proxy launch is a direct, detached `spawn` of the fixed helper with `shell: false`. Its exact arguments are deployment host, non-secret Alta username/email, and selected device UUID; no session bearer, password, or 2FA value reaches the command line. Stop actions can target only children owned by this app. - Updates are **check-only**. APT checks the exact GitPeji release API and can open only `https://git.pejicorp.com/peji/Alta-Proxy-Tool/releases` in the system browser. It never downloads, replaces, or executes an update. ## Requirements @@ -30,7 +30,8 @@ npm start 2. Start APT. Under **Bridge Pairing**, copy the one-time secret. 3. Open the extension pairing settings, paste the secret, and save it. 4. Visit your Alta deployment in Chrome and use **Send to APT**. -5. Select a local camera and choose **Start Proxy**. +5. Select a local camera, enter your Alta username/email, and choose **Start Proxy**. +6. Complete the password and 2FA prompts in the helper's visible Windows console. APT does not collect or pass those secrets. Use **Generate / Rotate** if a pairing may have been exposed, then update the extension. Use **Revoke** to immediately disable bridge authentication. diff --git a/docs/plans/2026-08-19-apt-security-foundation.md b/docs/plans/2026-08-19-apt-security-foundation.md index d2484a3..dba08e9 100644 --- a/docs/plans/2026-08-19-apt-security-foundation.md +++ b/docs/plans/2026-08-19-apt-security-foundation.md @@ -36,7 +36,7 @@ Feature discovery begins only after Phase A passes independent security review a ## Non-negotiable guardrails -- GitPeji is the only source of truth. Do not fetch from, push to, publish on, or update from GitHub. +- GitPeji is the only source of truth. Do not fetch from, push to, publish on, or update from alternate source hosts. - Use a fresh worktree from GitPeji `master` at `a80074ac57b7a4517837b5d95754f5e6433df3ac` or newer. - Preserve current Tool Hub downloads and production visibility until Zac approves replacement. - Do not use real Alta cookies in automated tests; use conspicuous synthetic sentinels. @@ -73,7 +73,7 @@ git worktree add -b hardening/security-foundation /home/peji/worktrees/apt-secur git -C /home/peji/worktrees/apt-security-foundation status --short --branch ``` -**Expected:** clean branch based on exact GitPeji `origin/master`; no GitHub remote used. +**Expected:** clean branch based on exact GitPeji `origin/master`; no alternate-host remote used. **Commit:** `docs: record APT security hardening baseline` @@ -387,7 +387,7 @@ npm run check **Files:** - Create: `.gitea/workflows/ci.yml` - Create: `.gitea/workflows/release.yml` -- Remove or retire: `.github/workflows/deploy-pages.yml` +- Remove or retire the legacy alternate-host Pages workflow. - Modify: `docs/index.html` - Create: `scripts/verify-kit.js` @@ -395,7 +395,7 @@ npm run check 1. CI gate: `npm ci`, syntax, tests, audit policy, Windows unpacked build, kit verification, secret scan. 2. Release gate: tag/version match, clean source, approved helper checksum, exact artifact hashes, SBOM, checksums, retained logs. -3. Point docs/downloads to GitPeji or the approved Tool Hub route, never GitHub. +3. Point docs/downloads to GitPeji or the approved Tool Hub route, never an alternate source host. 4. Publish no artifact automatically until the first manual release rehearsal passes. 5. Rehearse on a non-production candidate tag and verify fresh download/extraction. diff --git a/docs/security/2026-08-security-baseline.md b/docs/security/2026-08-security-baseline.md index d85bfd4..df20ddb 100644 --- a/docs/security/2026-08-security-baseline.md +++ b/docs/security/2026-08-security-baseline.md @@ -7,11 +7,11 @@ - Implementation plan: `docs/plans/2026-08-19-apt-security-foundation.md` - Starting package version: `1.0.0` - Starting audit: 25 findings (1 critical, 22 high, 2 moderate); production-only audit 3 findings (2 high, 1 moderate) -- Starting release state: GitPeji/GitHub split-brain, no application CI, unsafe unsigned updater, no automated tests +- Starting release state: split release hosting, no application CI, unsafe unsigned updater, no automated tests ## Guardrails -- GitPeji only; GitHub remote removed. +- GitPeji only; alternate-host remote removed. - Production Tool Hub and existing downloads remain unchanged. - Synthetic sentinel credentials only in tests. - Work remains on the isolated hardening branch until review gates pass. diff --git a/index.html b/index.html index 9ff6456..f97b005 100644 --- a/index.html +++ b/index.html @@ -74,6 +74,11 @@ +
The proxy helper opens a Windows console and prompts for your password and 2FA. APT never sends those secrets on its command line.
+