One-paragraph summary
The short version
Sunac Stream is a free, zero-auth RTMP receiver for iOS and Android. It runs entirely on your device
and on your local Wi-Fi. It does not create accounts, does not transmit your
video, settings, or usage data off your device, and does not use advertising, analytics, or
third-party tracking SDKs.
What we don't collect
We do not collect, store, sell, share, or transmit any of the following:
- Personal identifiers — name, email, phone number, device ID, advertising ID.
- Account data — Sunac Stream has no user accounts and no sign-in flow.
- Video or audio content — the RTMP feed you receive stays on your device and
(optionally) your attached HDMI display. Sunac Stream does not upload, record to the cloud, or
transcode to any external service.
- Location data — the app does not request or use GPS, coarse, or fine location.
- Contacts, photos, calendar, microphone, or camera — these permissions are not
requested and are explicitly blocked in the app's manifest.
- Usage analytics — no Firebase Analytics, no Amplitude, no Segment, no crash
reporters, no session replay.
- Advertising identifiers — no ads are shown and no ad SDKs are included.
Local processing
All stream reception, decoding, preview, and HDMI output happen on your device. The embedded
RTMP server binds to your local network interface at rtmp://<your-phone-ip>:1935/live/<key>
and is reachable only from devices on the same LAN or personal hotspot as your phone.
Application settings (stream key, port, aspect fit, low-latency mode, HDMI priority, and similar
preferences) are stored locally via the operating system's secure key-value store. They never leave
the device.
Permissions we request and why
iOS
- Local Network (
NSLocalNetworkUsageDescription) — required so the
app can bind to your Wi-Fi interface and receive the inbound RTMP stream. Without this, iOS
blocks LAN-based communication.
- Bonjour service
_rtmp._tcp — declared so iOS allows unsolicited
inbound RTMP traffic on the local network without showing an inline warning.
Android
- INTERNET, ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE — required to bind the
local RTMP listener and detect the current LAN IP address to display in the app.
- FOREGROUND_SERVICE, FOREGROUND_SERVICE_MEDIA_PLAYBACK — used only when
you opt into “Keep running in background” in Settings. The foreground service keeps the
RTMP receiver alive while the app is not on screen.
- POST_NOTIFICATIONS (Android 13+) — to show the mandatory foreground-service
notification while the receiver is running in the background.
- WAKE_LOCK — to prevent the screen from sleeping while a stream is live.
The app's manifest explicitly blocks CAMERA, RECORD_AUDIO,
ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION,
READ_EXTERNAL_STORAGE, and WRITE_EXTERNAL_STORAGE, so they cannot be
silently re-introduced by third-party dependencies.
Third-party services
Sunac Stream does not integrate any third-party analytics, advertising, attribution, or crash-reporting
SDKs. The only external interaction is downloading the app itself from the Apple App
Store or Google Play, which is governed by each store's own privacy policy.
The app includes open-source libraries (node-media-server, VLC, React Native,
nodejs-mobile) solely for on-device processing. These libraries do not phone home.
Children's privacy
Sunac Stream is a general-purpose utility for creators. It is not directed at children under 13 and
does not knowingly collect any information from anyone of any age — because, as described above,
it does not collect information at all.
Changes to this policy
If this policy ever changes, the updated version will be published at this URL with a new
“updated” date at the top of the page. Material changes will be mentioned in the
release notes of the corresponding app version on the App Store and Google Play.
Contact
Questions about this policy? Reach us directly:
developers@sunactl.com
+256 778 216 550