Audio
Audio captured from your phone is played through your Mac's output device and then discarded. It is never written to disk, buffered to a file, or transmitted anywhere. Capture is performed by scrcpy and reaches your speakers through CoreAudio, and nothing in between retains it.
Network activity
The app makes no requests to any server operated by the author. There is no crash reporting, no telemetry, and no licence or activation call. It has no backend to talk to.
There is exactly one request it can ever make to a third party, and it does not make it unless you say so:
The update check is off until you turn it on. On first launch the app asks whether it may check for updates. Until you answer, and permanently if you decline, it contacts nothing. If you accept, once a day it asks GitHub's release API whether a newer version exists. The request carries no identifier, no device information and no usage data, and the reply is a version number. GitHub will see your IP address, as it would if you visited the releases page yourself. You can change your mind at any time.
Everything else it causes is between your Mac and your own phone:
| Path | When | Contents |
|---|---|---|
USB cable, via adb | Wired mode | Audio stream from your phone |
Your local network, via adb over TCP | Wireless mode | Audio stream from your phone |
Wireless mode connects to a private address on your own network, and that traffic does not leave your network.
What is stored on your Mac
| Location | Contents | Why |
|---|---|---|
~/.config/pixel-audio-bridge/config |
Your phone's last known local IP, the name filter used to match your output device, optional pinned device and phone identifiers | So wireless mode works without you looking up an address |
| macOS user defaults | Whether the bridge is enabled, chosen transport, output and phone selections, watchdog setting, window position | To restore your preferences between launches |
$TMPDIR/pixel-audio-bridge/bridge.log |
Diagnostic output from the current session, including device names and adb serials | So pab doctor and Open Log can help when something breaks |
All three are plain files on your machine. Nothing is uploaded. Delete them and the app rebuilds what it needs.
What it can see about your devices
To function, the app reads your connected audio output devices (names and CoreAudio identifiers) and your connected Android devices (adb serials, plus the phone's model name and Wi-Fi address). This stays on your Mac and appears only in the app's own interface and log.
A security note about ADB
Wireless mode requires Android Debug Bridge over TCP. While that is enabled, any device on the same network that can reach your phone may attempt to connect to it, subject to Android's authorisation prompt. This is a property of ADB itself, not of this app. It resets when your phone reboots, and if it concerns you the USB cable is both safer and lower latency. See the security page for the full threat model.
This website
A set of static files served by GitHub Pages.
| Cookies | None are set, for any purpose. |
| Analytics | None. There is no tracking script of any kind. |
| Third-party requests | None. Fonts are self-hosted in the repository rather than loaded from a font CDN, specifically so that visiting this page does not disclose your IP address to anyone else. |
| Local storage | Used for exactly one thing: remembering whether you chose light or dark mode. It never leaves your browser. |
One thing outside our control. This site is hosted on GitHub Pages, and GitHub receives standard web-server information when you visit, including your IP address and user agent. That is GitHub's processing, under GitHub's Privacy Statement. We neither receive nor have access to it.
Children
This is a developer utility with no accounts and no data collection. It is not directed at children and collects no information from anyone.
Changes
Any change to this policy appears in PRIVACY.md, with the date updated and the change visible in the repository's git history.
Contact
Open an issue on GitHub. For security matters, please use private reporting instead.