Last updated: 2026-08-21
This is the privacy policy for AirPipe, an Android app that streams audio from your device to airplay-compatible speakers on your local network.
We, the developer of AirPipe, believe in collecting as little data as possible. The short version: AirPipe processes audio entirely on your device and on your local network. It does not record audio, it does not upload audio anywhere, and it does not contain advertising SDKs or product analytics. To keep the app working reliably, AirPipe sends anonymous crash reports and technical diagnostics to the developer; you can turn this off at any time in Settings.
What AirPipe does
AirPipe captures the audio that your Android device is currently playing (using the system AudioPlaybackCapture API) and forwards it, in real time, to one or more airplay-compatible speakers that you select on your local Wi-Fi network. The audio is sent directly from your device to the speaker; the audio never transits any server we control.
Crash reports and diagnostics
AirPipe sends the developer anonymous technical reports so that crashes and speaker-compatibility problems can be found and fixed. This is enabled by default and can be turned off at any time in Settings → Diagnostics; the switch takes effect immediately.
Each report may contain:
- Crash and error information: stack traces, app version, Android version, device model, and a short trail of recent technical log lines about the streaming connection (with network addresses removed).
- Streaming session reports: the speaker's advertised model, firmware, and technical capability flags (for example "ShairportSync"), how far the connection got, why it failed if it failed (including the speaker's protocol response code and the technical error type), drop and reconnect counts, technical stream-quality counters, a coarse duration bucket, and the streaming mode.
- Capture and discovery health: whether audio capture was being blocked by another app (never which app), and whether speaker search came up empty on a network where AirPipe had found speakers before (never the network's name or any network identifier).
- Failure log excerpts: when a streaming connection fails, the report includes a short excerpt of the technical log from around the failure, so the cause can be diagnosed. Network addresses (IP and hardware addresses) and the names you gave your speakers are removed from this excerpt before it leaves your device; speaker names are replaced by the speaker's model designation.
- A random install ID: a random identifier generated on first launch. It is not derived from your device, accounts, or any hardware identifier, and resets if you reinstall the app.
- An ephemeral session ID: a random identifier generated anew for each streaming session, carried by that session's reports so that reports about the same session can be recognized as belonging together. It is held only in memory for the duration of the session, is never stored on your device, and is never reused.
Reports never contain: your name or any account information, audio, song titles or listening history, the names of the apps you play audio from, the names you gave your speakers, the names or identifiers of your Wi-Fi networks, speaker hardware identifiers, or precise identifiers of your device. IP addresses are not stored with reports.
Reports are processed by Sentry (Functional Software, Inc.) on servers in the European Union, acting as our data processor, and are retained for at most 90 days. The legal basis for this processing is our legitimate interest in keeping the app functional and fixing defects (Art. 6(1)(f) GDPR). Because the reports are designed not to identify you, they are anonymous for all practical purposes; the opt-out in Settings is nevertheless always available.
Diagnostics you share yourself
Settings also offers Send report to the developer: after a confirmation dialog, it delivers recent technical logs and session reports directly through the Sentry service used for crash reports. If diagnostics reporting is turned off, or the direct send fails, the same report is instead packaged into a plain-text file and handed to the Android share sheet, so you can review it and send it yourself (for example by email). Nothing is ever sent without your explicit action. Note that this report can include local network details such as speaker names and local IP addresses; that is why every send is initiated and confirmed by you.
What AirPipe does not collect
AirPipe does not collect, store, or transmit any of the following:
- Personal information (name, email, phone number, account ID).
- Audio recordings. Captured audio is forwarded to the receiver as it is captured and discarded; audio is never written to disk.
- Listening history, song titles, or media metadata.
- Advertising IDs or product-analytics events (no usage tracking, no behavioral profiles).
What AirPipe accesses on your device
AirPipe requests these Android permissions, all used strictly to provide the streaming feature:
- Record Audio (
RECORD_AUDIO): required by Android'sAudioPlaybackCaptureAPI in order to receive the audio your device is playing. AirPipe does not use the microphone. - Foreground Service / Media Projection: required to keep the streaming pipeline running while the app is in the background.
- Internet, Wi-Fi state, multicast: required to discover speakers via mDNS/Bonjour and to send audio packets to them on your local network; the internet permission is also used to deliver the diagnostics reports described above.
- Post Notifications: required so the streaming foreground service can show a status notification, as Android requires.
- Notification Listener (optional): used only if you opt in, to read "now playing" media metadata from your music app and display it inside AirPipe. The metadata is shown locally on screen and is never transmitted off-device.
AirPipe does not request location, contacts, calendar, photos, or any other unrelated permission.
Network communication
Audio streaming happens only on your local network:
- mDNS/Bonjour multicast to discover speakers that advertise the airplay service.
- RTSP and RTP (TCP/UDP, ports 5000–7011) to set up the streaming session and send audio to the speakers you select.
The only internet communication AirPipe performs is the delivery of the anonymous crash and diagnostics reports described above (HTTPS to Sentry's EU servers). With diagnostics turned off, AirPipe makes no internet requests at all.
Data sharing
AirPipe shares data with no one except Sentry, which processes the anonymous crash and diagnostics reports on our behalf under a data-processing agreement. We do not sell data, and there is nothing else to share.
Children's privacy
AirPipe is not directed at children under 13. AirPipe does not collect personal information, so it does not knowingly collect data from anyone, including children.
Security
Audio sent on the AirPlay 2 path is encrypted in transit (ChaCha20-Poly1305). Audio sent on the AirPlay 1 path is encrypted (AES-128-CBC with an RSA-OAEP-wrapped session key) when the receiver negotiates it; many modern AirPlay 2 receivers accept AirPlay 1 audio unencrypted. Discovery and signaling are unencrypted, as defined by the protocols. Because AirPipe streams entirely on your local network, the security of your audio also depends on the security of your Wi-Fi network and the speakers you stream to. Diagnostics reports are delivered over HTTPS.
Changes to this policy
If we change this policy in the future, we will update the "Last updated" date at the top. Where a change materially expands what is collected, we will point it out clearly (for example in the app's release notes and on this page) before it takes effect.
Contact
Questions about this policy can be sent to the developer via the support email listed on the AirPipe Google Play listing.
Trademark notice: AirPipe is not affiliated with Apple Inc. "AirPlay" is a registered trademark of Apple Inc.; AirPipe references it only as a factual statement of compatibility with the airplay 1 (RAOP) protocol.