# Live Phase 2B.1 — Local Camera + Microphone

**Date:** 2026-07-26  
**Status:** Complete (local preview only)  
**Authorization:** Brad — Phase 2B.1 only  
**Rollback:** `_backups/2026-07-26-live-phase2b1/`

## Goal

Signed-in approved business users can start a local camera/microphone preview on Go Live Now. Media never leaves the browser.

## What shipped

- Video stage on `go-live.php?intent=now` (after verification + purpose approval)
- Controls: Start Camera · Mute/Unmute · Camera On/Off · End Session
- Plain-language status via `aria-live="polite"`
- Tracks stopped on End Session, `pagehide`, and `beforeunload`
- Mirrored CSS preview only (stream unmodified)
- Dashboard “Go Live Now” links to the stage

## Explicitly not shipped

Remote peers · WebRTC signalling · STUN/TURN · broadcast · recording · screen share · chat · DB · APIs · SDKs

## Modified files

| File | Change |
|------|--------|
| `live/go-live.php` | Local media stage markup |
| `live/dashboard.php` | Link + copy for 2B.1 |
| `live/assets/live.js` | MediaDevices controller |
| `live/assets/live.css` | Stage layout / responsive |

## New files

| File | Role |
|------|------|
| `live/docs/PHASE2B1_LOCAL_MEDIA_REPORT.md` | This report |
| `Deployment-History/2026-07-26/PHASE2B1.md` | Deploy note |

## Confirmation

1. No media leaves the browser (getUserMedia → local `<video>` only).
2. All tracks `stop()` on End Session and page unload.
3. Header/footer (Directive 005) unchanged.
4. Auth / verification / footer.ping / DB / API untouched.
