Audit Log
The Audit Log App lets you gather deep Session insights in order to fully understand it. For example, Where did the user navigate to?, How long did he stay on that page?, Were forms changed?, Were buttons clicked?, Were tabs opened and or closed? All these types of events will be collected as a human-readable JSON log on a data endpoint of your choice.
Audit Log Events
Section titled “Audit Log Events”As standard, the Audit Logs contain below information for each Session:
Session Events
Section titled “Session Events”- Session start info:
session_created
,session_end
Participant Events
Section titled “Participant Events”- Invitation Sent:
invitation_sent
- Participant joined/left the Session:
participant_joined
,participant_left
Navigation Events
Section titled “Navigation Events”- User opened new tab:
tab_created
- User switched an active tab:
switch_active_tab
- Tab Paused / Resumed:
tab_pause
,tab_resume
- User shared a document:
document_share
- User annotated a document:
document_edit
- User downloaded a file:
file_download
- User navigated to a URL:
navigate
,relocate_start
Interaction Events
Section titled “Interaction Events”- User changed a form / input field:
input_change
- Form submission by a user:
submit
- User clicks:
click
- Session ended by User (time and duration):
session_end
Control Switching Events
Section titled “Control Switching Events”- Host Request:
host_request
- Host Changed:
host_change
- Control transfer to participant:
control_switch_request
,control_switch
,control_gained
, - Request granted Or control given/taken:
tab_control
,tab_control_request
Communication Events
Section titled “Communication Events”- Chat Message Received:
chat
- Video Started:
video_chat_enabled
- Video Archived:
video_chat_archiving_started
- WebRTC Stream Exception:
webrtc_stream_exception
- WebRTC Stream Ended by User:
webrtc_stream_ended_by_user
Other Events
Section titled “Other Events”- Screenshot Generated:
screenshot_generated
- Feature Upgrade Request:
feature_upgrade_request
- Custom Log Message:
client_log
These details meet the standards of scrutiny required by most enterprises. After all, these are as good as screen-recordings of a Session. Even better when we also consider the time-stamped (UTC) documentation of each event and negligible data storage costs compared to the other. Furthermore, another major difference is that audit logs filter out potentially sensitive data.
Audit Log Delivery & Storage
Section titled “Audit Log Delivery & Storage”Audit logs can be delivered and stored in multiple ways, depending on your configuration:
- Storage Application: Audit logs can be stored in a dedicated storage application for later retrieval and analysis.
- Webhook Delivery: Audit logs can be sent to an external system via a webhook event:
space.session.audit_logs_created
.
Adding Custom Events
Section titled “Adding Custom Events”Beyond the default events, you can introduce your own custom events to the audit log. These custom events are recorded under the client_log
event type.
You can log custom events using one of two main approaches, depending on your integration: from the Widget API, or the Extension API.
Sensitive Information
Section titled “Sensitive Information”Any sensitive information, regardless of it being part of a web-page (ex.-Banking account details, Patient health record) or inputs made by a user (ex.-Login credentials, Address) can easily be masked using our Field/Element Masking feature. This will then not only be masked for other participants in the Session, but also in the Audit logs.
Use Cases
Section titled “Use Cases”Configuration
Section titled “Configuration”Enable the Audit Log App in the Session Editor.
See here how to access the Audit Log of a Session:
Example
Section titled “Example”Below you can see the details captured in the Audit log of this Session:
{ "session_logs": [ { "type": "session_created", "time": "2025-05-21T10:04:33.343737", "details": { "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "start_url": "", "ip": null, "created_from": "console", "options": { "admission_enabled": false, "orphan_redirect_url": "", "block_until_agent_joins": true, "branding_primary_color": "#e54747", "branding_primary_text_color": "#ffffff", "branding_secondary_color": "#6e2222", "branding_secondary_text_color": "#ffffff", "session_start_confirmation": false, "chat_integration": "disabled", "default_invitations_enabled": true, "notifications_enabled": true, "follower_redirect_url": "", "headless": false, "sync_participants": true, "hide_element_by_selector": "", "language": "en", "leader_redirect_url": "", "notification_position": "bottom-right", "private_session": false, "password_required": false, "shake_to_start": false, "soft_session_end": false, "soft_end_filter": [], "localhost_requests_allowed": false, "white_label": false, "video_archiving_enabled": false, "session_autorestore_enabled": true, "auto_start": false, "hide_support_button_when_unavailable": false, "hide_until_agent_joins": false, "cookie_transfer_enabled": true, "cookie_transfer_proxying": false, "cookie_transfer_urls": [], "cookie_transfer_scopes": [], "enable_cookie_backtransfer": false, "end_redirect_enabled": true, "hide_support_button": false, "embedded_sessions_only": false, "support_button_position": "bottomleft", "key_combo_to_start": true, "theme_font_background": "#cc0000", "theme_font_color": "#FFFFFF", "theme_font_size": 14, "s3_access_key": "**********", "s3_access_secret": "**********", "s3_endpoint_url": "https://s3.amazonaws.com", "compress_ws_messages": true, "encrypt_httponly_cookies": false, "anyone_can_deactivate_space": false, "host_switching_allowed": true, "participants_can_request_to_interact": true, "non_hosts_can_open_tabs": true, "new_urls_allowed": true, "follower_drawing_selector": "", "download_trigger_enabled": true, "invitations_allowed": true, "pause_enabled": false, "sounds_enabled": true, "hide_cursors": false, "start_with_invite_modal": false, "end_of_session_popup_url": "", "start_with_loading_screen": true, "format_session_id": false, "start_with_chat_open": false, "hide_session_ui": false, "url_mangling": false, "verbose_console": false, "native_selects": true, "native_dialogs_enabled": false, "alternative_proxy_enabled": false, "use_residential_proxy": false, "csp_report_uri": "", "startup_page_action": "new_tab_page", "startup_page_list": [], "allow_opening_urls_from_query_parameter": false, "videochat_enabled": false, "start_with_videochat_on": false, "start_with_fullscreen_videochat": false, "videochat_prompt": true, "start_muted": false, "anonymous_users_can_share_camera": true, "default_videochat_fullscreen_mode": "grid", "default_videochat_mode": "floating", "p2p_videochat_enabled": false, "videochat_enhancements_enabled": false, "automated_session_recording_enabled": false, "s3_recordings_bucket": "", "audit_logs_enabled": false, "s3_audit_log_bucket": "", "chat_enabled": false, "chat_logs_enabled": false, "filesharing_enabled": false, "original_file_download_allowed": false, "document_editor_enabled": true, "document_viewer": "pdf", "screensharing_enabled": false, "automatic_screenshots_enabled": false, "s3_screenshots_bucket": "", "screenshots_on_annotation": false, "screenshot_image_size": 800, "screenshot_interval": 15, "use_webrtc_for_screenshots": false, "privacy_canvas": false, "privacy_date": false, "privacy_embed": false, "privacy_ip_address": false, "privacy_http_headers": false, "privacy_beacon": false, "privacy_devices": false, "privacy_user_agent": false, "selected_regions": [], "selected_server_id": "", "blocklist": [], "allowlist": [], "headers_json": [], "private_proxies": "**********", "enforce_private_proxies": false, "branding_logo_link": "", "branding_logo_url": "", "dashboard_background_url": "" }, "server_region": "de eu-de" } }, { "time": "2025-05-21T10:04:34.176739907", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "follower_joined", "details": { "access_allowed": true, "agent_passed": false, "apply_url": "", "authenticated": true, "avatar": "https://www.gravatar.com/avatar/968b05096ec6f7321e9b6596c83a7a49.jpg?d=404&s=96", "client_index": 1, "color": "green", "colorCode": "#84CC16", "continuation_token": "", "country_code": "", "deviceType": "desktop", "drawingSettings": { "enabled": false, "timeout": 3, "width": 15 }, "email": "nicholas@surfly.com", "first_agent": false, "index": 1, "ip": "", "name": "Nicholas Piël", "online": true, "participant_num": 1, "participant_prefix": "Participant", "password_passed": false, "queue_index": "", "screenHeight": 1293, "screenWidth": 1198, "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36", "user_id": 3, "user_params": {}, "webrtcEnabled": true } }, { "time": "2025-05-21T10:04:34.23917342", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "control_gained", "details": { "client_index": 1, "username": "Nicholas Piël" } }, { "time": "2025-05-21T10:07:30.447914792", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "navigate", "details": { "url": "https://lifequote.legalandgeneral.com/", "username": "Nicholas Piël" } }, { "time": "2025-05-21T10:07:31.779608884", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "attributes": {}, "node_name": "option", "parent_form_attributes": {}, "value": "", "xpath": "/html/body/div/div/div/header/div/div/div/div[2]/div/div/div[2]/div/div/form/div/div[2]/div/div/div/select/option" } }, { "time": "2025-05-21T10:07:31.893772278", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "is_masked": true, "node_name": "option" } }, { "time": "2025-05-21T10:07:31.894023417", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "is_masked": true, "node_name": "option" } }, { "time": "2025-05-21T10:07:31.894251424", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "is_masked": true, "node_name": "option" } }, { "time": "2025-05-21T10:07:31.894504328", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "attributes": { "id": "quoteEmails", "name": "quoteEmails" }, "node_name": "input", "parent_form_attributes": {}, "value": "on", "xpath": "//*[@id=\"quoteEmails\"]" } }, { "time": "2025-05-21T10:07:33.675239473", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "attributes": { "class": "category-switch-handler", "id": "ot-group-id-2", "name": "ot-group-id-2" }, "node_name": "input", "value": "on", "xpath": "//*[@id=\"ot-group-id-2\"]" } }, { "time": "2025-05-21T10:07:33.675462822", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "attributes": { "class": "category-switch-handler", "id": "ot-group-id-3", "name": "ot-group-id-3" }, "node_name": "input", "value": "on", "xpath": "//*[@id=\"ot-group-id-3\"]" } }, { "time": "2025-05-21T10:07:33.675654049", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "attributes": { "class": "category-switch-handler", "id": "ot-group-id-4", "name": "ot-group-id-4" }, "node_name": "input", "value": "on", "xpath": "//*[@id=\"ot-group-id-4\"]" } }, { "time": "2025-05-21T10:07:33.675838785", "session_id": "s20HsVxy3W1JTAuqWAzyTMwUww", "type": "input_change", "details": { "attributes": { "class": "category-filter-handler", "id": "chkbox-id" } } } ]}