KidWall Privacy Policy

Effective date: October 7, 2026 Developer: Anthony Craig ("we", "us") — ant.sd.shield@gmail.com

KidWall is a parental-control app for iPhone and iPad. A parent installs it on their child's device to block apps and websites, set time limits and a bedtime, and — if the parent chooses — check on the device from the parent's own phone. This policy explains what information KidWall handles, where it goes, and the choices you have. We wrote it to be read, not skimmed: it is short because the app collects very little.

The short version

Who KidWall is for

KidWall is designed to be set up and controlled by a parent or legal guardian. It is installed on a child's device that belongs to the parent's Family Sharing group and must be authorized with the parent's Apple Account password. Any information about a child that KidWall handles is collected at the direction of that parent, and is visible only to the parents or guardians who have the family's pairing code and to any alert service (ntfy or webhook) the parent chooses to set up. Children cannot create accounts or provide information to us directly.

What stays on the device

The following is stored on the device in KidWall's private app storage and is never sent to us. If you pair the device with a parent phone, the child's name and the rule settings (but never the app and category selections) are also synced through iCloud, encrypted, as described in the next section.

What is shared with your parent phone (optional pairing)

If you pair the child's device with the parent version of KidWall, the following is stored in Apple's iCloud using CloudKit so the parent's phone can read it:

End-to-end encryption. Before any of this leaves a phone, KidWall encrypts it (AES-256-GCM) with a key derived from your family's secret pairing code, and files it under a one-way hash of that code rather than the code itself. The pairing code is created on the parent's phone and is never sent to us, and KidWall's iCloud database holds only that one-way hash of it. As a result, the database holds unreadable data and random-looking tags: we cannot read your family's names, status, rules, alerts, places or location there, and neither can Apple. Like other app data, what KidWall keeps on each device (including the pairing code, and on the child's device its rules, places and last location) is part of that device's own backup, such as iCloud Backup, which Apple's backup terms cover.

A few small things are stored unencrypted so the devices can find and order their messages: the random device identifier, the type of a command (for example "pause" or "locate"), the number of extra minutes granted (or that a request was turned down), whether a command has been handled, a counter of rule saves, and time stamps. Alerts from KidWall 1.1 and later carry a generic "alert" label; kid devices on older versions of KidWall also leave the kind of each alert readable (for example "blocked attempt"). As in any iCloud app, iCloud also records an app-specific identifier for the iCloud account that created each record, which doesn't reveal the Apple Account. None of these include names, places, locations, rules or what an alert says. KidWall's iCloud database is shared by every copy of the app, which is why everything personal in it is encrypted.

Anyone who has the pairing code can pair with your family's devices, read this information and change the child device's settings, including turning on location sharing and place alerts, adding places, asking for its location, pausing it and giving extra time. Treat it like a password: share it only with the child's other parent or guardian and only by typing it into KidWall. You can unpair at any time from the child device, and the parent phone can start over with a new code (Privacy & your data → Delete all family data). A new code doesn't reach kid devices by itself: until each one is unpaired and paired again with the new code, it keeps sending under the old one, and anyone with the old code can still read that and change its settings.

Data stored in CloudKit is additionally encrypted in transit and at rest by Apple and is held in Apple's data centers, in a CloudKit database operated under our developer account. We do not access, sell or share it, and we have no business use for it; the only reason it exists is to move status between your own devices. Apple's handling of iCloud data is described in Apple's privacy policy (https://www.apple.com/legal/privacy/).

Location

KidWall has two location features for the child's device. Each is off until a parent turns it on for that device, and neither works unless the device is paired and location permission has been granted to KidWall in iOS on the child's device. Until then, no location information is collected. Unpairing turns location sharing off.

The child's KidWall home screen shows when their location is shared and which places their parent gets alerts about. Location sharing works best with "Always" permission, so iOS can report the device's location while KidWall isn't open. Place alerts need "Always" and Precise Location, because iOS only reports arrivals and departures to apps allowed to use location in the background, and a place can be as small as 100 meters (about 330 feet) around its pin. Alerts can be late or missed (for example in Low Power Mode, with Background App Refresh off, or without a network), so don't rely on them in an emergency.

On a parent's phone, KidWall uses that phone's location only when you tap "Use my location" while setting up a place, with "While Using" permission. It reads one location to drop the pin and keeps nothing else. The only thing saved is the place you create, which is encrypted like everything else and shared with the child devices you choose and the other parent phones on your family code.

Maps in KidWall come from Apple Maps. When you search for an address while setting up a place, the search text and the area of the map you're looking at are sent to Apple to find matches, and the maps showing your places and the device's location are loaded from Apple. "Open in Apple Maps" hands the device's location, labelled with the child's name, to Apple's Maps app. Apple's privacy policy applies to these.

Location information is shared only with the paired parent phone(s), and with an ntfy or webhook service only if you choose to send place alerts there (see below). It is never used for advertising or profiling. The time stamp on each alert isn't encrypted (see above); for a place alert it's about when the device crossed into or out of the place, so the database shows when alerts happened, but not what they say, which place they're about or whether the device arrived or left.

You can stop location sharing or place alerts at any time: turn them off for the device in Edit rules on the parent's phone or in the parent area on the child's device, delete a place, or unpair. Turning place alerts off stops new ones, though an alert already waiting to be sent (for example while the device was offline) may still arrive. Revoking KidWall's location permission in Settings → Privacy & Security → Location Services on the child's device stops new locations, but the parent's phone keeps showing the last one until location sharing is turned off. Both features keep running on the child's device if KidWall Premium ends, until they are turned off there or the device is unpaired; without Premium, the parent's phone shows only the subscription screen.

Optional alert services you configure

KidWall can also send alerts to a notification service you choose (an "ntfy" topic or a webhook URL such as a Discord or Home Assistant webhook). This is entirely optional and off unless you enter a URL. If you enable it, the event text described above (for example "Sam hit the daily limit") and the child's name are sent directly from the child device to the address you entered, without KidWall's encryption. Arrive and leave alerts are sent there only if you also turn on "Send place alerts to ntfy / webhook too". Use an https:// address so the alerts are encrypted on the way. These addresses are part of the device's rules, so on a paired device they are synced (encrypted) with the parent phone. That service's own privacy policy applies to what happens after delivery. We do not operate any such service and never receive these messages.

Notifications

If you use the parent version of KidWall, Apple Push Notification service delivers alerts to your phone. The push itself carries only generic text ("New alert from a kid's device") and a reference; KidWall on your phone then fetches the encrypted alert from iCloud and decrypts it to show the details. Paired kid devices also get pushes when the parent changes a rule or sends a command (a silent one for "Locate now"). Apple receives the device's push token and this generic content, not your family's information.

What we don't do

Children's privacy (COPPA and similar laws)

KidWall is a tool operated by parents, not a service directed at children. The only information about a child that leaves the child's device is the status, event and (optional) location and place-alert information described above, and it is collected solely at the parent's direction and delivered only to the parent's phones and to any alert service the parent sets up. We do not knowingly collect personal information from children directly, we do not contact children, and we do not use any child's information for marketing, profiling or advertising. A parent can review this information in the parent app while KidWall Premium is active, stop collection at any time by unpairing on the child's device (no subscription needed) or by turning off location sharing and place alerts, and delete it as described below (unpairing on the child's device also deletes what it stored, without a subscription).

Your choices and data deletion

Data retention

Device status and shared-location records are overwritten each time the device reports; only the latest values are kept, until the device is unpaired or removed. Alert (event) records, including arrive and leave alerts, are kept for 30 days so the parent can review recent activity; KidWall on the parent's phone deletes older ones automatically (it checks about once a day when it's used). Commands the parent sent are kept, marked as handled, until the device is unpaired or removed. If no parent phone uses KidWall any more, unpair the kid devices to delete what they stored. You can delete everything sooner as described above. Nothing is retained for our own purposes.

Security

KidWall's own network traffic (to iCloud) uses HTTPS/TLS; alerts to an ntfy or webhook address use whatever address you enter (see above). Family data is encrypted end-to-end on the phone with AES-256-GCM (see above) and again by Apple in transit and at rest. The parent PIN is stored only as a one-way SHA-256 hash, and repeated wrong tries make the next one wait. Restrictions on the child device are protected by Apple's Screen Time framework, so the child cannot delete KidWall or remove its Screen Time permission without the parent's Apple Account password, and KidWall's own settings are behind the parent PIN.

California and other privacy rights

We do not sell or share personal information as defined by the California Consumer Privacy Act, and we do not use it for targeted advertising. Residents of California, the EU/UK and other jurisdictions with privacy laws may exercise their rights to access, correct or delete information by contacting us at ant.sd.shield@gmail.com. Because KidWall holds so little, in most cases the fastest way to exercise these rights is the unpair and delete steps above.

Changes to this policy

If we change how KidWall handles information, we will update this page and the effective date above, and, for material changes, describe them in the App Store release notes.

Contact

Anthony Craig ant.sd.shield@gmail.com https://antlantis.github.io/kidwall-site/privacy.html