Privacy Policy for Open Babyphone
This privacy policy applies to Open Babyphone, an Android application that turns two Android devices into a local audio baby monitor.
Open Babyphone is an independent fork of Child Monitor and is maintained at https://github.com/digitalesIch/open-babyphone.
Product Scope
Open Babyphone is designed for devices on the same Wi-Fi or local network. Advanced users may connect across a trusted VPN by entering the child device address manually. The app also supports an optional Wi-Fi Direct connection for devices that are not on the same Wi-Fi network. The app does not require an account or project-operated server for normal use.
Information Processed by the App
The app records microphone audio on the child device while child mode is active. That audio is streamed directly from the child device to connected parent devices over the local network.
The parent device may use the camera to scan the pairing QR code shown on the child device. Camera frames are processed locally for scanning and are not stored by Open Babyphone.
The app may store the following information locally on the device:
- Pairing code, generated by default on the child device and user-configurable
- Trusted-child identity, display name, and last successfully authenticated address and port on a parent device, plus the time that endpoint was last authenticated
- A trusted child's pairing credential on a parent device, stored separately from profile metadata and protected with an Android Keystore key
- Theme preference
This information stays on the device and is not sent to the project maintainers. Transient first-pair credentials are held only in bounded process memory and are removed after successful authentication, explicit abandonment, or expiration.
While child monitoring is active, Android Network Service Discovery advertises the child display name, a random stable child ID, the current pairing generation, and the listening port on the attached local network. The stable child ID lasts until app data is cleared or the app is uninstalled. Resetting pairing rotates the pairing generation and pairing code but does not change the stable child ID. The advertisement stops when monitoring stops and is not published to a project-operated directory or internet service.
On a parent device, authenticated child metadata, the last authenticated endpoint, and its last-seen time are retained so a known child can reconnect. Forget child removes that child's profile and protected credential. A child pairing reset invalidates the old parent credential; a successful re-pair replaces the old pairing generation and endpoint data. A reset on the child cannot remotely erase another phone, so the parent can also use Forget child. Clearing app data or uninstalling Open Babyphone removes the local records.
Network Transmission
Audio is transmitted directly between the child and parent devices. Open Babyphone does not route audio through project-operated servers.
When Wi-Fi Direct is used, the child and parent devices form a direct Wi-Fi peer-to-peer group. Audio and handshake data travel over that local P2P link. Wi-Fi Direct requires nearby-devices permission on Android 13+ or location permission on earlier versions for peer discovery. Open Babyphone does not derive or store location information from Wi-Fi Direct APIs.
The child device generates a pairing code by default. A valid pairing code is required, the child and parent mutually authenticate, and audio transport uses ChaCha20-Poly1305 authenticated encryption. The child and parent also validate the protocol version and codec capabilities during the handshake.
The parent stores a trusted child's pairing credential as AES-GCM ciphertext bound to profile identity data. The wrapping key is non-exportable Android Keystore key material. Display names, child IDs, endpoints, ports, and last-seen times are profile metadata and are not treated as secret credentials.
Up to 5 parent devices can listen to the same child device simultaneously on the local network.
Data Collection by the Maintainers
Open Babyphone has no built-in analytics, advertising, telemetry, or automatic crash reporting. The maintainers do not automatically receive audio, pairing codes, IP addresses, device identifiers, or usage data from the app.
If you voluntarily report a bug, request support, or report a security issue through GitHub or another communication channel, the information you provide in that report will be processed for project maintenance.
Third Parties
Open Babyphone does not intentionally share app data with third parties. If you install the app through an app store or package repository, that distributor may process download or account information under its own privacy policy.
Backups
Android app backup is disabled for Open Babyphone. Current cloud-backup and device- transfer rules, as well as legacy backup rules, also explicitly exclude app preferences containing pairing information.
Users can remove a parent-side relationship with Settings > Known child devices > Forget child, rotate child credentials with Settings > Security > Reset pairing after stopping monitoring, or remove all app-local data through Android app settings or uninstall.
Children
Open Babyphone is intended to be operated by parents, guardians, or caregivers. The app does not provide registration or account features and is not used to knowingly collect information from children.
Changes
This policy may be updated when the app changes. The current version is available in the project repository at https://github.com/digitalesIch/open-babyphone.
Contact
For privacy questions, contact the project maintainers through the GitHub repository.