Consent patterns, permission handling, and privacy-first capture
Desktop capture handles sensitive data. Nothing records without explicit user consent. This page covers permission patterns, storage controls, and privacy-first design.
Desktop capture currently supports macOS only. Windows support is coming soon.
from videodb.capture import CaptureClientclient = CaptureClient(client_token=token)# Request explicit permissions (OS dialogs appear)await client.request_permission("microphone")await client.request_permission("screen_capture")# User must grant permission before capture can startchannels = await client.list_channels()
# Each permission triggers an OS dialogawait client.request_permission("microphone")await client.request_permission("screen_capture")# For system audio on macOSawait client.request_permission("system_audio")
# Delete capture session and all associated datacap = conn.get_capture_session("cap-xxx")cap.delete()# Delete specific videovideo = coll.get_video("m-xxx")video.delete()
def get_user_data(end_user_id): """Get all data for a user (GDPR access request)""" sessions = conn.list_capture_sessions(end_user_id=end_user_id) return {"sessions": [s.to_dict() for s in sessions]}def delete_user_data(end_user_id): """Delete all user data (GDPR deletion request)""" sessions = conn.list_capture_sessions(end_user_id=end_user_id) for session in sessions: session.delete()