# SFU relay (Janus-class) — hidden preview

**Not in alpha.** Implementation branch: `feature/sfu-relay`. User-visible UI remains off until owner spec is merged.

## Layout

| Path | Role |
|------|------|
| `examples/sfu/README.md` | This file |
| `backend/public/api/sfu_health.php` | Health stub (`enabled: false`) |
| `config.example.php` → `sfu` | BE feature gate |
| `app/.../sfu/SfuRelayGate.java` | Compile-time preview gate |

## Next steps (when spec lands)

1. Signaling API + room lifecycle tied to cast session IDs / RBAC.
2. Janus or mediasoup on dedicated port (see INFRA — **not** androidcast `:80` vhost).
3. Android: enable `TRANSPORT_WEBRTC` behind `SfuRelayGate` + dev setting only.
4. FE nginx: UDP/TCP ports + TLS for WebRTC (separate from hub/crashes).

See [20260608_BE_SERVICES_and_infra.md](../../docs/20260608_BE_SERVICES_and_infra.md) § Planned SFU.
