DisplayWeave sends screen video and input directly between your devices. The apps do not include an analytics or automatic crash-upload service. Local discovery, performance diagnostics, pairing records and software-update requests are described below.
Screen, input and connection data
The Mac captures the selected physical or virtual display, encodes video and sends it to the connected receiver. Touch, keyboard, pointer and performance messages return over the session where supported and enabled. A Mac receiver may also announce its system-reported screen dimensions and physical size to help the sender estimate desktop geometry. DisplayWeave does not provide a cloud relay or automatically upload screen video.
- Apple USB uses macOS usbmuxd; Android USB uses an authorized ADB forward. These are local cable/tunnel paths.
- LAN streaming goes directly between devices over Wi-Fi or Ethernet. Bonjour/NSD discovery advertises local service metadata, including names, capabilities and installation identifiers where used. Nearby devices on that network may observe discovery metadata.
- Each connected receiver has its own session. Video buffers are transient; diagnostic logs and benchmark records are separate local data.
Encryption and pairing
v0.3.3 uses certificate-pinned mutual TLS and invitation pairing by default on Apple and Android, including USB tunnels. Peer trust is saved locally for reconnection. Invitations are short-lived, single-use and kept in memory; do not share them publicly. See pairing and revocation.
Explicit legacy OpenDisplay compatibility is unencrypted. Enable it only for a peer and network you trust. ADB authorization separately grants the Mac debugging access to the Android device; revoke it in Android Developer options when no longer needed.
Local storage
| Data | Purpose and location |
|---|---|
| Preferences and installation identifier | Saved locally to remember quality, connection choices and per-device settings, and to recognize the same installation across transports. Installation and device metadata may also be exchanged through discovery and sessions. |
| Pairing identity and trusted peers | Private keys use Apple Keychain or Android Keystore. Peer names, identifiers, certificate fingerprints and trust/revocation state are stored locally by the platform security store. Revoke peers or reset the local identity in security settings. |
| Diagnostics and benchmarks | Local app/system logs and selected benchmark records describe connections, timing, queues and performance. They are not automatically uploaded by DisplayWeave. Inspect and redact private details before sharing logs or screenshots. |
| Update files | Mac and Android update components may cache downloaded packages locally for verification and installation. |
Update checks and this website
Mac and Android update checks contact the project's GitHub Pages feeds. Package downloads use GitHub Releases and its download infrastructure over HTTPS. Those requests expose normal connection/request metadata to the hosting provider; they do not upload your display stream. iOS has no DisplayWeave automatic-update channel. See update behavior and authenticity checks.
This website is hosted on GitHub Pages. The site source includes no analytics/tracking scripts or cookie-based tracking. Hosting providers may process standard request data; consult GitHub's privacy statement for their practices. Opening external links uses the destination's own services.
Permissions
- Screen Recording permits capture of the chosen Mac display.
- Accessibility permits supported, enabled remote input injection.
- Local Network permits local discovery and connections where required by the OS.
- Android USB debugging and RSA authorization enable ADB forwarding. Installing an APK update also requires Android's installation permission and confirmation.
Source and contact
DisplayWeave is distributed under GPL-3.0. Inspect the source, security policy and page history. Report reproducible issues through the project tracker, following the security policy for vulnerabilities.