Learn how to use RealEye.io - Online Research Platform with Webcam Eye-Tracking

Beata Lewandowska
Written by Beata Lewandowska

What participants' data does RealEye store?


RealEye values the privacy of eye-tracking study participants. Therefore, we do not store or share any personal data of study participants, such as email or IP address. Eye-tracking uses and requires access to your webcam to calculate gaze position on the screen, but the image from your webcam is never sent to our servers or stored (only the raw data in the form of basic text data similar to "Timestamp: 10, GazePointX: 200, GazePointY: 330").

  • No personal data (IP, location, email) is being stored.
  • No images from a webcam are being stored. No facial features are being stored. Sound is recorded only for hosted sessions and voice-over studies (if a participant grants access to a microphone).
  • We store shared screen/window recordings for live screen sharing (participants in the study instructions are asked to hide any personal data/do not provide any personal data). Participants have to agree to share the screen/window.
  • Every test run generates a system-wide unique and random participant ID stored with the eye-tracking and survey results. This means that the same person participating in the same study twice (using the same hardware and software setup) will have two different Ids. If the same person participates in two studies, each time receives a unique Id.
  • RealEye stores name, gender, and age data only if provided by a participant (whether correct or not) or passed as an external variable from an external tool. Other external variables passed to the RealEye tool are only saved if provided.
  • RealEye stores logs for every participant, including:
  • detecting a supported browser (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent)
  • detecting battery (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getBattery)
  • detecting a supported device, like a webcam (https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)
  • detecting CPU core count and RAM size (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/hardwareConcurrency)

Here are sample logs stored from a participant:

2023-02-13 15:45:11: systemInitialization | info | Test page loaded (HTML). | {"uri":"https:\/\/www.realeye.io\/de\/test\/ab0ed63a-fe9a-4cdf-a7e7-e97f501b4412\/run","isWhiteLabeled":"false","isHostedSession":"false","participantType":"own"}
2023-02-13 15:45:11: systemInitialization | info | Page (re)opened. Creating EyeTracker.
2023-02-13 15:45:11: requirementsCheck | info | Supported browser detected. | {"navigator.userAgent":"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/109.0.0.0 Safari\/537.36"}
2023-02-13 15:45:11: requirementsCheck | info | Supported horizontal screen orientation.
2023-02-13 15:45:11: requirementsCheck | info | Supported screen resolution. | {"pixelRatio":2,"innerWidthPx":1680,"innerHeightPx":890,"screenWidthPx":1680,"screenHeightPx":1050}
2023-02-13 15:45:11: requirementsCheck | info | Supported device detected. | {"navigator.battery":{"level":0.3,"charging":false},"navigator.deviceMemory":8,"navigator.hardwareConcurrency":8}
2023-02-13 15:45:18: systemInitialization | info | Preparing the EyeTracker.
2023-02-13 15:45:18: requirementsCheck | info | Looking for media devices.
2023-02-13 15:45:18: requirementsCheck | info | Looking for webcams among the detected media devices.
2023-02-13 15:45:18: requirementsCheck | info | Media devices(s) detected. | [{"kind":"audioinput","label":"AirPods","groupId":"66db4fec4429584b53116ee00d932fb72e08f41c354c433ae54c91b5b522a751","deviceId":"default"},{"kind":"audioinput","label":"AirPods","groupId":"66db4fec4429584b53116ee00d932fb72e08f41c354c433ae54c91b5b522a751","deviceId":"f32f9886f07b2bac3630bfd4a74a2a2c6a109e0081e31a2298230c2c0bb06471"},{"kind":"audioinput","label":"Mikrofon (iPhone (Adam))","groupId":"58a0a8796153409260163e6e224be5aebc086a3d9baac026d6cdb465d3db9f4c","deviceId":"ee0e75f9d66bfa19ae3e19541bf03fb28b9368c6dd5ed58529a01ad398ba21cb"},{"kind":"audioinput","label":"Mikrofon (MacBook Pro) (Built-in)","groupId":"1f4965283fd289a6aaa33ce9f0224c15fb170d6fd50612a9b22ea6b141283d4d","deviceId":"27c1968a34219157191f82b88f80268a1fae50249f1105352d461754eaed8d00"},{"kind":"audioinput","label":"Microsoft Teams Audio Device (Virtual)","groupId":"7fbc958806cec873f88cd8f2f8f51e84c8e3430203a2496f416bf5a88dbb4a73","deviceId":"cccf37fbade97736e08cfcf13d0fbb5c266c394bb0930b6fdc9865353a06962b"},{"kind":"videoinput","label":"FaceTime HD Camera","groupId":"349660a151fee78ce3d17adb322a01de12e213898a68e6e4d2993681f3481b64","deviceId":"0c2a9eeb280ef2e18cc33894e810618885bb23e7781d46399ad52ec64b45928a"},{"kind":"audiooutput","label":"AirPods","groupId":"9ed09bc3c64e5a572f9ad333e50f2b451af0c20441d4110c3846b1085dd44552","deviceId":"default"},{"kind":"audiooutput","label":"AirPods","groupId":"9ed09bc3c64e5a572f9ad333e50f2b451af0c20441d4110c3846b1085dd44552","deviceId":"8379c71645dfe9f54fd195b08beb8eea99795dc7e5568ffb1b57ee1b582960cb"},{"kind":"audiooutput","label":"G\u0142o\u015bniki (MacBook Pro) (Built-in)","groupId":"1f4965283fd289a6aaa33ce9f0224c15fb170d6fd50612a9b22ea6b141283d4d","deviceId":"e8f414cd2c749509a163bddf303c3c7b4259e015907b2979906c59cf76908a1c"},{"kind":"audiooutput","label":"Microsoft Teams Audio Device (Virtual)","groupId":"7fbc958806cec873f88cd8f2f8f51e84c8e3430203a2496f416bf5a88dbb4a73","deviceId":"cccf37fbade97736e08cfcf13d0fbb5c266c394bb0930b6fdc9865353a06962b"}]
2023-02-13 15:45:18: requirementsCheck | info | Labeled Webcam detected. | {"kind":"videoinput","label":"FaceTime HD Camera","groupId":"349660a151fee78ce3d17adb322a01de12e213898a68e6e4d2993681f3481b64","deviceId":"0c2a9eeb280ef2e18cc33894e810618885bb23e7781d46399ad52ec64b45928a"}
2023-02-13 15:45:18: systemInitialization | info | WebGazer created FaceMesh shared worker.
2023-02-13 15:45:18: systemInitialization | info | Starting WebGazer and awaiting it to be ready.
2023-02-13 15:45:18: systemInitialization | info | WebGazer created ridge regression worker.
2023-02-13 15:45:18: systemInitialization | info | WebGazer got access to the video stream.
2023-02-13 15:45:18: systemInitialization | info | WebGazer started and ready.
2023-02-13 15:45:18: systemInitialization | info | Webcam stream settings read. | {"width":640,"height":480,"groupId":"349660a151fee78ce3d17adb322a01de12e213898a68e6e4d2993681f3481b64","deviceId":"0c2a9eeb280ef2e18cc33894e810618885bb23e7781d46399ad52ec64b45928a","frameRate":60,"resizeMode":"crop-and-scale","aspectRatio":1.3333333333333333}
2023-02-13 15:45:18: systemInitialization | info | Webcam stream capabilities read. | {"width":{"max":1280,"min":1},"height":{"max":720,"min":1},"groupId":"349660a151fee78ce3d17adb322a01de12e213898a68e6e4d2993681f3481b64","deviceId":"0c2a9eeb280ef2e18cc33894e810618885bb23e7781d46399ad52ec64b45928a","frameRate":{"max":30,"min":0},"facingMode":[],"resizeMode":["none","crop-and-scale"],"aspectRatio":{"max":1280,"min":0.001388888888888889}}
2023-02-13 15:45:18: systemInitialization | info | WebGazer sampling rate computed. | {"samplingRateHz":30}
2023-02-13 15:45:20: faceDetection | info | Face detection started.
2023-02-13 15:45:20: faceDetection | info | Face detected. Awaiting to be visible for long enough. | {"cpuCoreCount":8,"tensorflow.engine":"webgl"}
2023-02-13 15:45:21: faceDetection | info | Face detected for long enough.
2023-02-13 15:45:26: calibrationAndVerification | info | Eye-tracking calibration started.
2023-02-13 15:46:09: stimuliPresentation | info | Displaying eye-tracking item(s).
2023-02-13 15:47:06: storingResults | info | Eye-tracking finished.
2023-02-13 15:47:06: storingResults | info | Displaying end survey.
2023-02-13 15:47:12: storingResults | info | Results stored.
Categories: