Privacy Policy - Sulhara
1) Who we are
Sulhara is provided by Saifullah Ahad ("we", "us", "our").
2) What Sulhara does
Sulhara lets one parent device and one child device keep a shared screen-time pact. Both seats see pact settings, extra-time requests and decisions, visible enforcement state, an append-only activity record, and earned-autonomy progress.
3) Data processed by the shared service
Sulhara processes only the data needed to keep the two paired devices synchronized:
- an anonymous Firebase user identifier, family identifier, and device role;
- pact limits, schedules, pact version, and who changed it;
- extra-time request duration, app group, short reason, decision, and timestamps;
- aggregate minutes for broad groups such as study, social, video, and games;
- service check-ins, visible service-state events, and earned-autonomy progress; and
- a Firebase Cloud Messaging token used to deliver pact and request updates.
No name, email address, phone number, password, or social profile is required to pair. The short request reason is written by the child and is visible only to the paired family member; users should not place unnecessary personal information in it.
4) Information that stays on the device
App names, package names, and the mapping of installed apps into local groups remain on the child device in protected app storage. They are never uploaded. Android usage access is used locally to calculate group totals; individual app history is not sent to us or to the paired parent.
The optional on-device VPN drops traffic only for locally selected apps whose agreed group time is exhausted. Traffic is not routed to a remote VPN, inspected, recorded, sold, or used to build a browsing history.
5) Information Sulhara does not collect
Sulhara does not collect location, contacts, calls, SMS or chat content, photos, files, browsing content or history, keystrokes, microphone recordings, camera data, advertising identifiers, or precise per-app usage history. It contains no advertising, analytics, or behavioral tracking SDK.
6) Service providers and purpose
- Firebase Authentication creates anonymous device identities.
- Cloud Firestore synchronizes the paired family pact and shared record.
- Firebase Cloud Messaging delivers request and pact update notifications.
- Cloudflare Workers validates authorized commands and writes the server-authoritative shared record.
These providers process data only to operate the pairing, synchronization, notification, authorization, and deletion functions described here. Sulhara does not sell personal data or share it for advertising.
7) Local-network fallback
When both devices are on the same local Wi-Fi and the internet is unavailable, Sulhara can send a signed request or decision directly across that local network. The payload contains only the family identifier and the same request or decision fields described above. It is reconciled with the shared service after connectivity returns.
8) Android permissions
PACKAGE_USAGE_STATS: calculates broad group totals locally after the user grants access in Android Settings.SYSTEM_ALERT_WINDOW: shows the visible agreed-time overlay over a locally selected app.QUERY_ALL_PACKAGES: lets the child choose installed apps for local family pact groups; the list is not uploaded.FOREGROUND_SERVICEand special-use foreground service: keeps the visible pact service active.POST_NOTIFICATIONS: shows visible enforcement status and paired-family updates.VpnService: performs the local app-group network cut without a remote VPN.RECEIVE_BOOT_COMPLETED: restarts enabled enforcement after a device reboot and records the restart.INTERNETand network state: synchronize the paired pact through Firebase and the command service.
9) Retention and deletion
Shared family data is retained while the pairing exists. Either seat can choose End pairing and delete shared family data inside Sulhara. This deletes the family pact, requests, shared events, device links, notification tokens, and protected server family pact state. Local app data can also be removed by clearing app storage or uninstalling.
10) Security
Shared commands require authenticated membership and are authorized server-side. Firestore rules allow paired members to read their shared family data but prevent clients from directly rewriting protected server history. Local-network messages are signed, sensitive local values use protected storage, and the shared record is hash-chained to make changes evident.
11) Children's privacy
Sulhara is designed for use by one parent and one child together. It does not ask for the child's name, age, contact details, location, school, photos, or a child-owned login. The parent creates the invitation, and the child device displays the exact privacy boundary before joining. A parent or child can end the pairing and delete the shared record at any time.
Child sexual abuse and exploitation (CSAE), including child sexual abuse material (CSAM), is prohibited in Sulhara. See the separate Sulhara Child Safety Standards for how to report a concern, how to end a pairing, and how reports are handled.
The Send feedback action opens your chosen email app with a draft addressed to the developer. Sulhara does not transmit feedback or a report itself: nothing is sent unless you send the email, and then your email provider and the developer receive it.
12) International processing
Firebase and Cloudflare may process service data in countries outside the user's country. We use only the limited fields described in this policy and the providers' security safeguards.
13) Changes to this policy
We may update this policy when Sulhara's behavior or legal requirements change. The current version will remain available at https://privacy.saifullah.ai/sulhara.html.
14) Contact
For privacy questions or deletion help, email [email protected].