Skip to main content

Data collection

The SDK and classroom services process the information below. The scope depends on the installed version, enabled features, host configuration and service deployment. See Versions and distribution for version differences. Include the entries used by your product in its privacy notice and third-party SDK inventory.

Information flows

Swipe horizontally to see the full diagram

Information flowsThe diagram shows the main submission paths. Fields, triggers, recipients and retention depend on enabled features and deployment; see the inventory below.Backend / Classroom clientRegister · Create · JoinClassroom serviceAccount mapping and class managementClient chatSend · Receive · RetrieveIM serviceMessages and historyClient media captureMicrophone · Camera · ScreenRTC and authorized participantsReal-time media deliveryWhiteboard and coursewareDraw · Upload · ConvertBoard / Conversion / StorageCollaboration and resource processingSDK diagnostic eventsConnections · Operations · ErrorsDiagnostic ingest servicetelemetry.ingestUrlClassroom service eventsClassroom and courseware changesYour webhook receiverHTTPS URL configured in the consoleUsers / Classes / PermissionsMessages / AttachmentsAudio / Video / ScreenBoard operations / FilesIDs / Context / OutcomesEvent IDs / State / URLs
The diagram shows the main submission paths. Fields, triggers, recipients and retention depend on enabled features and deployment; see the inventory below.
Information flows

Swipe horizontally to see the full diagram

Information flowsThe diagram shows the main submission paths. Fields, triggers, recipients and retention depend on enabled features and deployment; see the inventory below.Backend / Classroom clientRegister · Create · JoinClassroom serviceAccount mapping and class managementClient chatSend · Receive · RetrieveIM serviceMessages and historyClient media captureMicrophone · Camera · ScreenRTC and authorized participantsReal-time media deliveryWhiteboard and coursewareDraw · Upload · ConvertBoard / Conversion / StorageCollaboration and resource processingSDK diagnostic eventsConnections · Operations · ErrorsDiagnostic ingest servicetelemetry.ingestUrlClassroom service eventsClassroom and courseware changesYour webhook receiverHTTPS URL configured in the consoleUsers / Classes / PermissionsMessages / AttachmentsAudio / Video / ScreenBoard operations / FilesIDs / Context / OutcomesEvent IDs / State / URLs

The diagram shows the main submission paths. Fields, triggers, recipients and retention depend on enabled features and deployment; see the inventory below.

Business information​

ScenarioInformation and example fieldsPurposeTrigger and methodProcessing parties
Registration and profile updatesOptional business ID originId, eduUserId, nickname, avatar URLAccount mapping and member displaySubmitted by your backend during registration/update; profiles are used by classroom queries and IM synchronizationYour backend, classroom service, deployed IM service
Classrooms and membersClassroom ID, name, schedule, member IDs, roles, roster, permissions, stage stateAccess checks, classroom management, state synchronizationCreation, entry, stage changes, permission changes and ending, through HTTP and IM signalingClassroom service, IM service and authorized clients
Real-time mediaMicrophone audio, camera video; shared screen content when sharing is enabledClassroom communication and presentationsCollected/transmitted through the media adapter after the feature is enabled and device permission is granted; device tests can also capture locallyHost, configured media service and authorized subscribers
ChatSender ID, message ID, time, message body and attachments usedSending, receiving and retrieving chat historyMessage operations through the IM serviceIM service and clients authorized to access the conversation
Whiteboards and coursewareBoard operations, file name/format, original file or source URL, owner ID, conversion results, resource URLsCollaboration, conversion and classroom presentationOpening/editing a board, uploading/converting a file or reading resourcesWhiteboard/conversion services, object storage and authorized clients
Recording, export and screenshotsBoard content involved in the operation, generated files and URLsRetaining or exporting teaching contentWhen the business explicitly enables and invokes the featureRelevant recording/export services, object storage and designated recipients
Teaching toolsQuestions, submissions, scores, groups and member IDs for enabled featuresClassroom interaction and resultsSubmitted/queried when a supported tool is enabled in the deployed versionClassroom service and clients with role-based access
Server webhooksappId, eventId, classroom/courseware IDs, names, user IDs and state; resource URLs in some eventsNotify your backend of changesHTTPS POST after an event occurs for a configured application subscriptionClassroom service and your configured webhook receiver

Names, courseware and message bodies can contain personal information entered by users. Prefer internal IDs without phone numbers or identity-document numbers for originId. Resource URLs can carry access credentials; do not publish them or log complete signed URLs.

See the Webhook event list for exact fields and omissions. Audio/video, chat bodies and original courseware files are absent from the ten documented webhook payloads. Receivers still need controls for user identifiers and resource links in those payloads.

Device and diagnostic information​

Diagnostics correlate entry, connections, operations and failures. Diagnostic uploads and business webhooks use separate data paths.

InformationImplementation and purposeTiming
Application, user and classroom IDsapp_id, edu_user_id, classroom_id locate a problem; the server validates ownership against authentication contextWhen SDK diagnostic events are produced and uploaded
Random device-level IDWeb shared code, Android and iOS generate and persist a random UUID as device_id, correlating sessions within one installation/storage scope; an explicitly supplied host ID depends on host configurationRead or generated on first resolution and reused later
Session and request IDssession_id, trace_id, operation_id, signal_id correlate entry and operationsEntry, requests, operations and signals
Runtime environmentplatform, sdk_version; optional app_version, os_version, device_model, network_type have values only when supplied by the host/platformAttached after initialization or environment updates
Events and outcomesEvent name/time/stage, duration, error code/message, connection state, network-quality level and event attributesInitialization, entry/exit, connection changes and operations; sampling, batching and retries depend on the event category
Source IPThe ingest service derives client_ip from request context, ignoring the same field supplied in the bodyWhen the server receives diagnostic uploads

These IDs can be associated with users and classrooms and are not anonymized data. The random device_id uses a UUID and does not read IMEI or MAC addresses. List host and third-party SDK collection separately.

Diagnostic attributes have an event field allowlist. The server also filters sensitive roots for nicknames, avatars, phones, email, identity numbers, passwords, tokens and message bodies. Chat content belongs to the IM business path and must not be copied into diagnostic attributes. Filters do not replace review of error messages, custom logs and uploaded attachments.

Local storage and retention​

DataStorage methodIntegration decision
Random device IDReused from host persistent storageClearing app data, account deletion/reinstallation and any custom ID source
Pending diagnostic batchesPersistent queue: IndexedDB on Web, SQLite on Android/iOS; acknowledged batches are removedRetries, account changes, consent withdrawal and exit behavior
Business content and resourcesStored separately by classroom, IM, whiteboard and object-storage servicesRetention, access roles, backup cycles and deletion procedures
Received webhooksReceiver stores deduplication records, event data or work itemsSeparate retention for payloads and minimal deduplication keys

Set retention periods separately for profiles, business content, diagnostics and webhook data. Production regions, retention periods, backups and deletion deadlines depend on the deployment and service agreement.

Dependencies and recipients​

ModuleDependency or address sourceInventory entry
Classroom and diagnosticsbackendUrl and server-provided telemetry.ingestUrlActual operator, purpose, data types, region and contact
IMCurrent Web, Android and iOS use OpenIM; addresses come from im.apiAddr / im.wsAddrActual self-hosted or managed-service operator, not an assumed recipient based on the component name
RTCTencent TRTC adapterInstalled SDK version and enabled features; see TRTC personal information rules
Whiteboards and coursewareDrawsKit/eduskit adapter, room configuration and returned resource URLsActual operators and purposes for whiteboard, conversion and storage services
Customer webhooksNotification URL configured in the consoleYour receiver plus any forwarding gateway, logging service or additional processor

Recheck this inventory, permissions and actual network requests after dependency, provider or feature changes. See Privacy and compliance integration for implementation checks.