Don't take our word for it
The webcam never leaves this computer.
Pose runs in this tab, in WebAssembly. Below is a live meter of anything this page tries to upload, plus the checks you can run yourself in the browser.
No webcam frames have left this tab.
Video-like uploads: 0 bytes · WebRTC connections opened: 0 · Local-only is on (no account traffic).
01
Webcam
Not started. The stream is created in this tab with getUserMedia.
02
This tab
Frames go into a local <video>, then MediaPipe WASM at 5–8 fps. Landmarks never leave RAM.
03
Not the internet
No POST of image/*, video/*, or canvas blobs. Optional score JSON only if you sign in and turn Local-only off.
Live upload log
Non-GET requests this session (auth, score sync). A frame upload would show as media, here.
No uploads yet. Start the camera, sit, wait. This list should stay empty of video.
Prove it yourself in two minutes
- Network panel. Open DevTools → Network. Filter “Img”, “Media”, and “Fetch/XHR”. Start the camera. You will see the pose model and WASM load once from this origin. You will not see a repeating POST of a JPEG, WebM, or canvas blob.
- Go offline. In that same Network panel, set throttling to Offline — or turn Wi‑Fi off. Keep the Monitor tab open. Green/red still updates. If frames needed a server, the loop would die.
- Lock the camera down. The browser permission is for this site only. Stop monitoring and the track ends. We never request the microphone.
Optional score sync (minutes, alerts) is JSON and only happens if you sign in and turn Local-only off in Settings. That payload has no image.
Policy language for IT: Privacy.