← Dual IRL

Privacy Policy

Last updated: October 26, 2026

The short version: Dual IRL Stream and Dual IRL Bro need no account with us and never send us your settings or credentials, except the publish credential of a Dual IRL Cloud Streaming Ingest you choose to stream to. An app you link to your Dual IRL account also uses the account service, and one with the Rumble emote sharing switched on sends the public emote list of the Rumble chats it follows, with the key from your Rumble Live Stream API URL, which is used once to confirm each chat and is neither kept nor logged. Your camera and microphone go only to the streaming server you enter, which is a server of ours only if that is a Dual IRL Cloud Streaming Ingest. Your settings and credentials stay on your device and are kept out of Android’s cloud backup and device transfer, except a backup file you export yourself. Features you turn on connect to the platforms involved (Twitch, Kick, Rumble, YouTube and the services they rely on, such as 7TV and BetterTTV). Apart from the Dual IRL account and Cloud Streaming services, our own servers receive only an update check, a few relayed requests and privacy-friendly, cookieless counts, all described below. Dual IRL Control works with your Dual IRL account, and the account and Cloud Streaming services keep the data, logs and recipients described under “What your Dual IRL account keeps” and the sections after it, with how long each is kept and how to have it removed. There is no analytics SDK, no advertising and no crash reporting.

Who this covers

This policy applies to the Dual IRL Stream Android application (“the app”), distributed under the Dual IRL brand, to Dual IRL Bro and Dual IRL Control, and to the dualirl.com website and its browser-source tools.

Dual IRL Bro is a free stream monitoring app. It captures no camera or microphone and never broadcasts. It plays the public live video of the channels you choose to monitor locally on your device, merges their public chat, and can play audio-only web sources you add. Like Stream’s, its in-app updater downloads a newer Bro only when you tap Download & install, checks that it is signed with the Dual IRL key, and hands it to Android’s installer, which asks you to confirm; Bro asks Android’s “install unknown apps” permission for this.

Dual IRL Control is the Android app for your Dual IRL account’s Cloud Streaming. It captures no camera or microphone and never broadcasts; it is a control panel. Unlike Stream and Bro, which work without one, it works with your Dual IRL account, as described under “Your Dual IRL account (Control)” below. The camera and microphone sections apply to Dual IRL Stream only.

It also covers the Dual IRL Accounts service, the sign-in and account service behind the website at dualirl.app that Control and the account page use, and the Dual IRL Cloud Streaming service, which keeps the Cloud Streaming settings of an account that includes Cloud Streaming or once did. What they keep, who receives it and how it is removed is under “What your Dual IRL account keeps” and the sections after it.

Your stream

When you go live, Dual IRL Stream captures your camera and microphone, encodes them into a video stream and sends it only to the streaming server you enter yourself — for example your own RTMP/RTMPS, SRT or SRTLA server, or a platform endpoint you choose. The app sends it directly to that address and does not copy it or relay it through any server of ours. If that address is a Dual IRL Cloud Streaming Ingest (for example one you open in Dual IRL Stream from Dual IRL Control), the destination is a server of ours, which receives the stream and the publish credential for that Ingest. Your stream keys and passphrases go only to the destination you entered.

What stays on your device

Your Dual IRL Stream and Dual IRL Bro settings — including stream keys, server URLs and passphrases, a Twitch login token, a Rumble Live Stream API URL (which contains a secret key for your channel) and a YouTube Data API key — are stored on your device. We never receive them, and those apps use no account or backend of ours that holds them. Dual IRL Control is the exception, as described below, and so is the publish credential of a Dual IRL Cloud Streaming Ingest, which goes to that Ingest when you stream to it, and so is the key in your Rumble Live Stream API URL if you switch on the optional Rumble emote sharing in a linked app: it goes, once for each chat that is shared, to our Accounts service and token broker, which use it to ask Rumble about that chat and neither keep nor log it. Apart from that, your Twitch login token, Rumble Live Stream API URL and YouTube Data API key are sent only to the platform each belongs to (Twitch, Rumble or Google), never to us or to your stream destination.

These stored credentials are excluded from Android’s cloud backup and device-to-device transfer. The exception is a backup you export yourself from Settings → Backup & restore in Dual IRL Stream: that file is encrypted with a password you choose and includes the stream keys, passphrases, Rumble URL and YouTube key you have entered. You decide where to save it, we never receive it, and Dual IRL Bro can import it. Uninstalling the app removes the stored copies.

Platforms you connect

Features you turn on contact the platforms involved, directly from your device or browser except where a request is relayed through our backend, as described under “Our own services”. A platform contacted directly sees your IP address and what you ask it for; a relayed request shows it our backend’s IP address instead. Each platform is governed by its own privacy policy: Twitch, Kick, Rumble, Google (YouTube), 7TV and BetterTTV.

The in-app operator overlays drawn inside Dual IRL Stream (chat, stats, viewer count) are shown only to you and are never part of your broadcast video. The website browser-source tools below are different: you deliberately add them to your own scene, so they appear in your broadcast if you include them.

Our own services

Beyond the platforms above, these are the only things that contact us. In Dual IRL Stream and Dual IRL Bro they are the update check, the relayed chat badge requests and the counting, and, for an app you link to a Dual IRL account, that account’s service; the website tools use the relayed requests and the counting too.

Your Dual IRL account (Control)

Dual IRL Control works with your Dual IRL account. You link it by approving a short code from your account on dualirl.app, and the session that link creates is kept on your device until you unlink the app, which asks Dual IRL to end it; if Dual IRL cannot be reached, the app still forgets the session on your device, and you remove the app under Linked apps in your account settings on the website to end it.

Control talks to the Dual IRL Accounts service at dualirl.app over HTTPS to read your account details and your Cloud Streaming status and to carry out what you ask: starting and stopping your server and stream, managing your extra Ingests, Destinations and Anti-Drop settings, and the saved OBS configuration. An Ingest’s connection details, including its publish password, are read only when you ask to see, copy or open them in Dual IRL Stream, and are dropped again when you hide them. For an account with Cloud Studio, Control asks Accounts for a short-lived ticket and connects to your studio’s OBS Remote to switch scenes and manage overlays. Control plays a muted preview of your Ingest, and for an account with Cloud Studio of your studio’s Program output, through the Accounts service only when you ask for it.

By default Control asks dualirl.com for its own small version file each time it launches; you can turn that off with the “Check automatically on launch” switch in Settings → App updates. Its settings, such as which cards you have collapsed and the update-check switch, stay on your device. Control has no analytics SDK and no crash-reporting service, and its only permission is network access. The Accounts service does count each action Control carries out through it (linking, unlinking, starting or stopping your server and stream, and changing Ingests, Destinations and Anti-Drop settings) on our own self-hosted analytics as a hit against a fixed event name, never your account, your stream details or the real request.

Dual IRL Stream and Dual IRL Bro can be linked to a Dual IRL account in the same way (Settings → Dual IRL Account) and then use the Accounts service for the Cloud Streaming controls and previews they offer. Neither needs an account, and an app that is not linked sends nothing to the Accounts service.

Sharing Rumble emotes (optional). A linked Stream or Bro has a Share Rumble emotes with Dual IRL switch (Stream: Settings → Chat settings; Bro: Settings → Channel settings), off until you turn it on. While it is on, the app sends, for each Rumble chat it follows through your Live Stream API URL, that chat’s id, the public emote page Rumble serves for it and the key from your Live Stream API URL (the key only, not the URL) to the Accounts service with the app’s session, which passes them to the token broker that runs on our own server. The page is Rumble’s public popup page, which holds nothing about you. The key is a credential, so it has one use: the broker asks Rumble once whether it shows a live stream of that chat, which stops a list being kept for a chat your own Rumble access does not show, and neither the Accounts service nor the broker logs or keeps it. The broker keeps only the list of emotes it reads from the page, with your account’s identifier, as described under “What your Dual IRL account keeps”. Withdraw what I shared in the same settings removes it.

What your Dual IRL account keeps

You create a Dual IRL account on dualirl.app by entering your email address and the one-time code we email you, and you sign in the same way or by approving a code from Dual IRL Control. The Dual IRL Accounts service behind that website keeps the categories of data below about you. For each, this says how long it is kept, and “Closing your account and removing your data” below says how it is removed and what closing the account keeps.

What Cloud Streaming keeps

Only an account that includes Cloud Streaming, or once did, has Cloud Streaming data. The Dual IRL Cloud Streaming service keeps these categories of it under your account’s identifier. Closing your account stops your broadcast and tears down your Cloud Studio server if you have one, but it does not delete the records below. Neither does taking the last Cloud Streaming feature off your account, which also stops your broadcast and tears down your Cloud Studio server, if you have one, before the change is saved. The sections after this one say how to remove the records and how to ask us to remove them; an account that no longer includes any Cloud Streaming feature can no longer use the control panel to do it.

Logs

The services also write logs that can name you:

Nothing in our deployment configuration sets how long any of these logs is kept: each stays for as long as the server’s own logging keeps it. Closing your account does not erase those lines.

Who receives it, and why

We do not sell any of this data. It goes to these recipients, and only for the reasons given:

Closing your account and removing your data

Closing your account (Account settings → Danger zone → Close account on dualirl.app) cannot be undone. It stops your broadcast and tears down your Cloud Studio server if you have one, deletes every connected platform with its stored tokens, ends every sign-in session, including every linked app’s, removes every Rumble emote list your account shared, and marks the account closed so that you cannot sign in to it again. If the token broker cannot remove the emote lists, the account is not closed and you are asked to try again.

It does not delete your account record (your email address, the dates, the features the account included and the date you closed it), the Cloud Streaming records listed above, the logs, or what the recipients above already hold. Closing the account does not currently delete these, and a closed account cannot sign in to remove them itself.

You can remove most of what is kept before you close the account:

To ask us to remove anything else, including anything kept after you have closed the account, email privacy@dualirl.com.

Website tools

The free browser-source tools on this site run in your browser or your streaming software. Their settings, including channel names, any Rumble URL, YouTube key or RTIRL key and your home point, are kept in the overlay URL’s # fragment when the builder generates it, and browsers do not send a fragment to a server. The location tracker also accepts non-sensitive options (such as shape, zoom or size) written by hand in the URL’s ? query, which the browser does send to this site’s server; its home point and RTIRL key are read from the fragment only. A page load of each tool is counted like every other page of this website.

Where a tool shows a condition, status or emoji icon, it loads it as an image from jsDelivr (Twemoji, CC BY 4.0) instead of relying on your device’s own emoji font.

What the app does not do

This website

The dualirl.com website uses a small amount of privacy-friendly, cookieless analytics — self-hosted GoatCounter running on our own server, not Google. It records page views, referrers, browser, operating system, language, screen size, a timestamp and — derived from your IP address, which is not stored — a rough country and, for some larger countries such as the US, an approximate region, never a precise location. There are no cookies, no cross-site tracking and no personal identifiers; we cannot tie a visit back to you. It is on every page of this website, including the browser-source tools, and no third-party analytics or trackers are involved. Our public Beta copy of the website counts the same way into a separate analytics site, and a private preview copy records no page views. The weather and location-tracker overlays report a fixed page path rather than the page’s actual URL.

The same counting covers the requests to our backend described above and the six APK download links (Stream, Bro and Control, each with a separate Release and Beta build), each counted once per actual download request, so we can see aggregate Release-versus-Beta download counts per app, never who downloaded which. The in-app updater’s download of an available update, in Stream and in Bro, is counted too. No other information about your device or the app is sent.

Permissions and why they’re needed

These are Dual IRL Stream’s permissions:

PermissionWhy
CameraCapture the video you stream.
MicrophoneCapture the audio you stream, and — while the preview is open before you go live — measure the input level for the on-screen mic meter. Audio is never written to a file or sent anywhere except your stream.
Internet & network accessSend your stream to the server you choose, check dualirl.com for the latest version number, reach the Dual IRL Accounts service (dualirl.app) if you link the app to your Dual IRL account, and, for forced-network or SRTLA bonding, request, hold and bind the stream to specific Wi-Fi and cellular networks. Bonding can keep mobile data active alongside Wi-Fi, which may use cellular data even while Wi-Fi is connected.
Foreground serviceKeep streaming reliably while the app is backgrounded or the screen is off.
Wake lockPrevent the device from sleeping mid-stream.
NotificationsShow the ongoing “streaming” status notification.
Approximate location (coarse, optional)Requested only so that a web-source overlay you deliberately add can use your location (e.g. the weather or location-tracker overlay). The app holds no location itself. It is approximate, foreground-only and can be denied — with it denied, those overlays simply don’t get a location.

Dual IRL Bro is a monitor, so it asks for far less — no camera, microphone, or location:

PermissionWhy
Internet & network accessFetch the public live video and chat of the channels you choose to monitor, check dualirl.com for the latest published version number and, if you link Bro to your Dual IRL account, reach the Dual IRL Accounts service (dualirl.app). Bro never broadcasts.
Foreground service (media playback)Keep an audio-only web source playing while Bro is in the background, if you add one.
NotificationsShow the ongoing notification required by that audio-playback service while it runs.
Install appsLet Bro’s in-app updater hand a newer Bro that you chose to download to Android’s installer, which asks you to confirm. Bro installs nothing else.

Dual IRL Control asks for even less — no camera, microphone, location, or notifications:

PermissionWhy
Internet & network accessReach the Dual IRL Accounts service (dualirl.app) to link your account and manage your Cloud Streaming, connect to your studio’s OBS Remote and play the Ingest and Program previews you ask for, and check dualirl.com for the latest published version number.

Children

The apps are not directed to children, and we do not knowingly collect information from children. Dual IRL Stream and Dual IRL Bro collect no personal information at all, and Dual IRL Control only works with an existing Dual IRL account. A Dual IRL Stream or Dual IRL Bro you link to a Dual IRL account likewise only works with an existing one.

Changes to this policy

If this policy changes, the updated version will be posted on this page with a new “Last updated” date.

Contact

Questions about privacy? Email privacy@dualirl.com.