1. Имя пользователя
2. claim
3. Старт
4. Стоп
5. Страница (хитрая структура, так как это ASP NET FORM)
6. Истинный URL
Все это реализуется на основе клиентского js (довольно хитрого, и реализуемого на серверной стороне)
Запрос идет на сервер (net core self hosted) и записывается в БД периоды пинга от клиента 1 минута, синхронизация с БД тоже 1 минута, но сессия в памяти сервера.
Если он уходит в перезагрузку то все сбрасывается из памяти в БД.
Это зависит от ваших целей. Как вариант:
1) устанавливаете сокет-соединение (чтобы запросы не гонять)
2) в режиме реального времени записываете мышку и клавиатуру
3) также записываете размеры
Потом из этих данных можно хоть видео сделать.