Privacy Data Inventory

April 12, 2026 ยท View on GitHub

Date: 2026-04-13

This document summarizes user data handled by the app and Worker for release/privacy label preparation.

Data Categories

CategoryDataSourceDestinationPurposeStored
Account identityWorkOS user ID, email, first/last nameWorkOS AuthKitApp Keychain, in-memory app stateAuthentication and entitlement lookupYes (Keychain)
Auth credentialsAccess token, refresh token, worker session tokenWorker /auth/tokenApp Keychain (ThisDeviceOnly)Authenticated API calls and token refreshYes (Keychain)
Audio inputPush-to-talk microphone PCM audioUser microphoneOpenAI Realtime APITranscription + model reasoningNot persisted by app
Screen contentJPEG screenshots (multi-monitor)ScreenCaptureKitOpenAI Realtime APIVisual grounding + pointingNot persisted by app
Model outputTranscript text and audio response deltasOpenAI Realtime APIIn-memory app state + audio playbackUser response playbackNot persisted long-term
Billing metadataAuthenticated user ID/email + entitlement periodsApp + Polar webhooksWorker KV (SKILLY_ENTITLEMENTS)Access control and usage entitlementYes (Worker KV)
Analytics (optional)Event names, counters, user_id, email in identify call, usage/session metricsApp runtimePostHogProduct telemetry and usage analyticsStored by PostHog when enabled
  • analyticsEnabled toggles analytics globally.
  • beta_terms_consent gates beta telemetry events (skilly_turn_completed, skilly_session_ended).
  • Permissions are explicitly requested for microphone, screen capture, speech recognition, and accessibility.

Sensitive Data Handling Notes

  • Raw OpenAI API key is not returned to the app. Worker returns a short-lived Realtime client secret.
  • Worker endpoints that expose billing/AI capability require authenticated worker session tokens.
  • OAuth callback now validates state before token exchange.

Release Label Inputs

Use this inventory to populate platform privacy labels and policy disclosures, especially:

  • Identifiers: user ID and email
  • Diagnostics/analytics fields
  • Audio and screen capture processing to OpenAI