# V3 Pixel Streaming Abuse Posture

Manifest version: `v3-pxstream-abuse-posture.v1`

Release gate: `pnpm verify:v3 pxstream-abuse-posture`

## Admission Defaults

The Pixel Streaming relay now evaluates admission before a worker lease is
issued. The policy is implemented in `apps/v3/lilith-pxstream-relay/src/lib.rs`
and exposed through `/api/v3/pxstream/admission/evaluate` for drills and
operator tooling.

| Control                         |                                     GA default | Outcome                                                                      |
| ------------------------------- | ---------------------------------------------: | ---------------------------------------------------------------------------- |
| Idle prompt                     |                       90 seconds without input | Client receives `PXSTREAM_IDLE_PROMPT`.                                      |
| Idle disconnect                 | 60 seconds after the prompt, 150 seconds total | Worker is released to the pool and reconnect requires a new match.           |
| Per-user concurrent sessions    |                                              2 | Third session is denied and audit logged.                                    |
| Verified instructor uplift      |                            Tenant-scoped grant | Cap can be raised for verified Tara instructors.                             |
| Saraswati editorial uplift      |                            Tenant-scoped grant | Cap can be raised for editorial review workflows.                            |
| Per-network concurrent sessions |                 8 per `/24` IPv4 or `/48` IPv6 | Ninth session is denied.                                                     |
| Institutional network uplift    |                     64 by default in the drill | Approved institutional tenants can exceed the public cap.                    |
| Daily free-tier minutes         |               120 minutes per user per UTC day | Free-tier starts are denied after the cap.                                   |
| Paid-session windows            |           Exempt from the free-tier minute cap | Booked attendees keep access inside the paid window.                         |
| Regional backpressure           |                            85% POP utilization | Free-tier users route to fallback with an explanatory banner.                |
| Concert pre-warm hard cap       |               30 minute worker pre-warm window | Booked attendees keep reserved capacity; free walk-ups throttle to fallback. |

## Abuse Classifier

The classifier routes suspicious Pixel Streaming sessions to
`lilith-safety:pxstream-abuse` when the abuse score reaches review threshold and
uses `lilith-safety:pxstream-confirmed-bot-ban` for confirmed bot bans. Signals
currently include:

- mouse-only, no-keyboard interaction over a sustained window
- sustained zero-inertia avatar and static camera behavior
- repeated reconnect loops
- impossible input cadence

The labeled validation set in `V3/pxstream/abuse-classifier-validation.json`
passes the GA precision gate at 10,000 basis points, above the required 9,000.

## Drill Evidence

`V3/pxstream/abuse-posture-drill.json` records the operational drills for idle
disconnect, per-user caps, per-network caps, daily free-tier minutes, paid
window exemption, regional backpressure, concert pre-warm hard caps, and the
confirmed-bot ban path. `V3/pxstream/abuse-posture-release-gate.json` is the
machine-readable release gate consumed by CI.
