The short version
- Roam does not send usage analytics or crash reports to the developer.
- Camera and microphone media goes to the stream destination you configure.
- Chat, web overlays, optional location features, updates, and Tailscale contact their own services when used.
- Twitch sign-in is optional. It stays on the phone, encrypted, and goes only to Twitch.
- Stream destinations and the OBS password are encrypted on the phone with Android Keystore.
- Exported recordings, password-protected backups, and diagnostics are files you control and must protect yourself.
Streaming
Roam captures camera and microphone media, combines enabled overlays, and sends the result to the RTMP, RTMPS, or SRT destination you enter. That destination receives the broadcast and normal connection data such as your IP address and timing information.
- RTMPS encrypts the network connection and verifies the server name by default.
- SRT encrypts video and audio when Roam and the receiver use the same valid passphrase. Connection metadata, including Stream ID, is not protected by SRT payload encryption.
- Plain RTMP and SRT without a passphrase do not encrypt video or audio in transit. Any stream key carried by the connection is also unencrypted.
Roam accepts compatible RTMP, RTMPS, and SRT destinations. Use RTMPS or passphrase-encrypted SRT when your service supports it.
The platform or server controls its own retention, moderation, and viewer access. Read its privacy terms before streaming.
Chat
Roam can read public Twitch, Kick, and YouTube chat without signing you in. Signed in to Twitch, your Twitch chat and channel events come over your own account's connection instead; see Twitch sign-in below. When enabled, Roam sends the public channel name or handle you configure to those services and connects to their web or chat endpoints.
Those services receive normal network details, including your IP address and device connection metadata. YouTube chat uses an unofficial public interface and may change without notice. Roam does not send chat messages or provide chat moderation. If you turn on TTS, the text of messages and events is passed to your phone's text-to-speech engine, which is part of Android and has its own settings.
Twitch sign-in
Signing in to Twitch is optional. Roam opens Twitch's page in a browser tab over Roam, and you approve the sign-in there. That browser is separate from Roam and has its own privacy practices. Before you approve, Twitch shows what Roam asks for: your stream key, your chat, your follows, redeems, hype trains, ad breaks and shoutouts, and permission to change your stream title and category and to mark moments in your stream.
Roam receives your Twitch user ID, login name and display name, along with access and refresh tokens that keep you signed in. It does not receive your Twitch password. Roam keeps your stream key and Twitch's address as a stream destination named Twitch, and receives your channel's chat and events over one connection. It changes your stream title and category only when you tap Update, checks your viewer count while Settings > Twitch is open, and adds a marker to your stream when you tap Mark.
Roam sends these requests directly to Twitch. Twitch receives your account identifier with each request and normal connection details, such as your IP address. Twitch sends chat messages and events from your channel, including chatters' names.
The sign-in and the Twitch destination are encrypted on the phone using a key held by Android Keystore, and are not included in a backup. Tap Sign out in Settings > Twitch to remove them, and Roam asks Twitch to revoke the sign-in. You can also remove Roam on twitch.tv under Settings > Connections. Twitch controls its own service data and retention under its privacy notice.
OBS and Tailscale
OBS WebSocket traffic is not encrypted by Roam itself. Use it only through a private network such as Tailscale. Keep OBS authentication enabled and never expose TCP 4455 to the public internet.
An encrypted SRT feed can also travel through Tailscale. Tailscale encrypts traffic between tailnet devices and handles account, device, and network metadata under its own privacy policy. Tailscale is a separate optional service.
Overlays
Imported images, HTML, and ZIP overlays are copied into Roam's private app storage. A local HTML overlay can still contact the internet if its code loads remote resources.
Remote web overlays must use HTTPS. They run with JavaScript and local web storage inside the app. The overlay provider receives normal web request details and can process anything its page asks you to enter or displays. Roam disables third-party cookies, but that does not make an untrusted overlay safe.
Location
Location access is optional and is requested only when an enabled overlay uses a location-backed token. Coordinates are used to produce the selected overlay value. While the main camera preview is visible, the value updates so you can check it before going live. Roam does not store a location history.
If you leave the camera preview while offline, Roam stops location. During an active stream, location can continue in Settings or while Roam is not on screen so the enabled overlay stays current. Roam pauses location during BRB. After a stream ends, location can remain active while an overlay in the visible camera preview needs it. It stops when neither the preview nor an active stream needs it. Android shows the active-stream notification while Roam streams in the background.
If you show a location, city, speed, or similar value on an overlay, that value becomes part of the video sent to the destination and seen by viewers. Resolving a city name may use the Android device's configured geocoding provider, which may receive coordinates.
Storage on the phone
Ordinary settings and chat channel names are kept in the app's private storage. Stream destinations, the Twitch sign-in and the OBS password are encrypted using a key held by Android Keystore. Android cloud backup is disabled for Roam.
Optional local recordings are saved under Movies/Roam. A backup is a password-protected file you choose to create. It includes settings, overlays and their local files, saved destinations, the active or draft Stream URL, OBS details, and other private connection details. The Twitch sign-in and the Twitch destination are not included. If your active Stream URL is the Twitch address, the backup includes it like any other active Stream URL. Anyone with both the backup file and its password can read those details. Keep the file private, delete it when you no longer need it, and remember that Roam cannot recover a forgotten password.
Uninstalling Roam or clearing its app data removes its private data. Recordings, backups, and diagnostics exported to shared storage remain until you delete them.
Diagnostics
Roam keeps a small rolling operational log in private app storage. It stays on the phone unless you export it. An exported log can include the phone manufacturer and model, Android version, configured chat channel names, connection state, and engine events. It also records what kind of network the phone was on (Wi-Fi or mobile data, and whether a VPN was on, never its name), the Wi-Fi signal strength, battery level and temperature, the phone's heat readings while Roam is open, the kind of stream address (home network, Tailscale, public, or a name, never the address itself), and why a connection failed. For the Twitch sign-in and its features, it records each step by a fixed name with Twitch's answer code: a token check, the stream key fetch, the chat connection's state, a channel read or update, a viewer count check, or a marker. In two cases it keeps the words of Twitch's refusal: when Twitch will not hand out the stream key after a refused start, and when Twitch refuses a marker. It is designed to leave out the Twitch tokens, the stream key, the sign-in code, your Twitch name and user ID, and chat text.
Diagnostics are designed to redact stream URLs and passwords. Review every file before sharing it. Do not send a stream key, SRT passphrase, or OBS password in a support request.
Update checks
APK installs can optionally fetch https://roamlive.app/version.json, Roam's APK release manifest, automatically. After a successful automatic check, Roam waits about a day before checking again. Failed checks may retry on a later launch. A manual check fetches the same file immediately. Google Play installs skip this site check and update through Google Play. The site host receives normal web request data such as your IP address, time, and user agent. Roam sends no account or advertising identifier in the request.
Android permissions
- Camera and microphone: required to produce a stream.
- Location: optional, for location-backed overlay tokens in the visible camera preview and during active streaming, including when Roam is not on screen.
- Notifications and foreground service: used to keep an active stream visible to Android, and to show the Twitch sign-in's progress while Twitch's page is open.
- Files and media: accessed through Android's file picker and media storage for imports, exports, diagnostics, and recordings. Roam does not request broad file access.
This website
This site has no analytics script, advertising script, payment form, or site-set cookies. Its pages and assets are served from the same site. The hosting provider and network delivery services may keep standard server and security logs.
Following an external link moves the request to that provider and its privacy terms.
Changes and contact
This page will change when Roam's data flows change. The effective date above shows the latest review.
For privacy questions, email feedback@roamlive.app before sharing sensitive diagnostics. Do not include credentials or private logs.
