Ocular Photometry — privacy

What this page records

The short version: your camera is read by code running inside this browser tab, nothing is uploaded, and the only thing kept is a few numbers per session in this browser's own storage. The long version follows, written to be checked against the public source code.

Camera frames

Used for
Finding the eyes and measuring how open the lids are, once per video frame, with MediaPipe's face landmarker running as WebAssembly in your browser.
Stored
Never. Frames pass from the camera to the model in memory and are discarded. No image, video, landmark set, or face template is written anywhere.
Sent anywhere
Never. There is no server behind this page, no analytics, no cookies, and no account.
Access
Only after you press Start reading and accept the browser's own camera prompt. Video only, front camera. Stop releases the camera.

The reading that is kept

When a session has calibrated, one record is saved in this browser's localStorage and updated every 30 seconds, so the next visit can show what changed. It looks like this:

{
  "session": 1789277388202,
  "t": 1789277414525,
  "energy": 100,
  "state": "replenished",
  "perclos": 0,
  "blinkRate": 0,
  "blinkDurationMs": null,
  "faceMs": 23080
}
What it contains
Two timestamps, the energy score, its state label, and the eyelid numbers behind it. Nothing that identifies a person or a device.
How many
One per session, up to 96. Older ones are dropped.
Where it lives
Only in this browser on this device. It is not synced, backed up, or transmitted by this page.
How to delete it
Press Clear under the sky map, or clear this site's data in your browser settings.
Who else could read it
Any other page served from the same origin, andybsgsports.github.io, could read this browser's storage. Those are all sites published by the same account.

Requests that leave your device

Everything the page needs — its own code, the MediaPipe runtime and model, and the typefaces — is served from this site, andybsgsports.github.io. No other host is contacted, and a Content-Security-Policy on the page forbids the browser from connecting anywhere else even if a script tried to.

andybsgsports.github.io
GitHub Pages serves the files and, like any web host, sees ordinary request logs: your IP address, browser type, and the file names fetched. Nothing from the camera is ever part of a request.

What this is not

This is not a medical device and not a biometric identification system. It does not recognise who you are, and its numbers are an indirect, noisy proxy for tiredness that should not guide health decisions. The behaviour described here is the behaviour of the code in the linked repository at the time of writing; if that code changes, this page changes with it.

Last reviewed September 2026 · Back to the reading