The short version. SyncSong has no accounts, no servers of its own, and no catalogue. Your music and your listening stay on the phones taking part. The one thing that does leave your device is crash and error diagnostics, sent to Google Firebase Crashlytics so faults can be found and fixed — and that can be switched off inside the app at any time.
Your music and playback never leave your devices
- Songs you add are read from your device and, when another phone joins, sent directly to that phone over Bluetooth or your local Wi-Fi network.
- Nothing is uploaded to us or to any third party. There is no cloud storage, no streaming relay and no analytics on what you play.
- We do not know what you listen to, when, or with whom. We have no way to.
- There is no account, no sign-in, no email address and no advertising identifier.
What is collected, and why
When error reporting is enabled — it is on by default — the app sends crash reports and unexpected error reports to Firebase Crashlytics, a Google service. A report contains:
- the error and the code path it came from, as a stack trace;
- the platform, OS version and app build number;
- a short trail of the app's own recent internal events (for example “a status poll failed”, “the host stopped serving”), so a fault can be understood in context;
- the device model, OS version, and a Crashlytics-generated installation identifier, which Google's SDK collects automatically.
This is used for one purpose: diagnosing and fixing faults in the app. It is not used for advertising, profiling, or tracking you across other apps or websites.
What is deliberately excluded
These exclusions are enforced in code, not just promised:
- Your device's name is never sent. On a phone it is usually its owner's name, so it is stripped before a report leaves the device.
- No user identifier is ever set. The app never calls Crashlytics'
setUserIdentifier, so reports are not tied to a person. - Song names, file paths, URLs and host names are not sent. Values attached to internal events pass an explicit allowlist, so local detail cannot start leaving the device merely because a new field was added somewhere in the app.
- No location, contacts, photos, camera, microphone or health data. The app does not use these APIs at all. iOS shows purpose strings for a few of them only because Apple's static scan flags frameworks the audio file picker links against; the corresponding APIs are never called.
Turning it off
Open Diagnostics from any screen in the app and switch error reporting off. Nothing further is sent. The app's own on-device log keeps working, so you can still read and copy a report yourself and send it to us if you choose.
Tracking
SyncSong does not track you. Nothing it collects is linked with data from other
apps or websites for advertising or measurement, and the app contains no advertising or tracking
SDKs. NSPrivacyTracking is false in the app's privacy manifest and its
list of tracking domains is empty.
Permissions the app asks for
| Permission | Why |
|---|---|
| Local network | To find other phones and transfer songs between them. |
| Bluetooth | The default way phones find each other, needing no shared network. |
| Music library / files | Only to let you choose which songs to add. |
Each is used only for the purpose above, and only while you are using the app.
Children
SyncSong is rated 4+ and collects nothing that identifies a person. It has no accounts, no messaging, no user-generated content and no advertising.
Data retention
Crash reports are retained by Firebase Crashlytics under Google's own retention policy. We keep no other data, because we receive no other data.
Third-party services
- Google Firebase Crashlytics — crash and error reporting. See Google's privacy information at firebase.google.com/support/privacy.
There are no other third-party services, no advertising networks, and no analytics providers.
Changes
Material changes to this policy will be reflected here with a new “last updated” date, and in the app's release notes.
Contact
Questions about this policy: shomute@gmail.com