Local-first architecture
Ogh does not operate a backend, media relay, recording server, or intermediary of any kind. When you tap Go Live, your encoded video and audio travel directly from your Android device to the destinations you have enabled in Settings. Ogh has no analytics service, no advertising system, and no telemetry pipeline. Nothing about how you use the app is reported anywhere.Encrypted storage
The following values are considered sensitive and are always encrypted before being written to your device:- OAuth access tokens and refresh tokens
- Connected channel identifiers
- Manual stream keys
Base64(IV + ciphertext) with a 12-byte IV and a 128-bit authentication tag. Ogh has no plaintext fallback for sensitive storage: if the Keystore is unavailable, the operation fails rather than falling back to unprotected storage. Tokens and stream keys are never written to diagnostics or application logs.
Ogh excludes all app data from Android cloud backup and device transfer. Your credentials and preferences are not synced to Google Drive or transferred to a new device through Android’s backup system.
Data Ogh accesses from providers
YouTube
When you connect YouTube, Ogh requests the OAuth scopehttps://www.googleapis.com/auth/youtube. Ogh uses this scope exclusively to:
- Identify your YouTube channel
- Create and configure a live broadcast and ingestion stream
- Bind the stream to the broadcast
- Manage the broadcast lifecycle you request (start, pause, end)
Twitch
When you connect Twitch, Ogh requests the scopechannel:read:stream_key. This scope is used only to read your Twitch ingest stream key immediately before a streaming session begins. No other Twitch channel data is accessed.
Ogh does not use data from either provider for advertising, analytics, profiling, credit decisions, or training AI models.