Privacy policy

What we hold, and what we refuse to

A product that supervises a child accumulates the most sensitive data a family has. The design position is to collect the least that makes it work, and to make the boundary something you can check rather than something we assert.

This is the privacy policy for ParentProof Secure — the Parent Control Panel at platform.parentproof.com, ParentProof Play profile preparation, the setup app for Windows and macOS, the public site at parentproof.com, and the app installed on a protected Android device. The setup computer is not itself protected. In effect from 1 November 2026. It replaces the version dated 3 October 2026.

What changed, and why we are saying so

Copy corrections prepared 1 November 2026. The app-list section now names the apps the tablet actually reports instead of claiming a full-device list. Screen capture has passed QA checks on two physical devices, but the public tablet app predates that path; the screenshot section distinguishes the two. Tablet purchases depend on stock. This version also explains database-backup retention and the limit on restoring a deleted account. These are corrections to the description, not a new product release.

3 October 2026: screenshots are now part of ParentProof, and the section on them says exactly how they work. Until this version, this page said screen capture was off and listed the safeguards any release would need. Those safeguards are now how it works rather than a list of requirements, and the one that is not finished is named. It also corrects what an earlier version got wrong: capture on the tablet is silent, so your child is not told when you look and cannot refuse — an earlier version wrongly said the tablet showed a prompt your child could decline, and it no longer works that way. Remote taps and swipes are still unavailable. (A version before that described dormant features as though families could use them; that was wrong too, and it is why this page now describes only what the code does.)

This release also removes detailed app-open/app-close history and allowed-site visit history. New Android apps discard old queued copies before upload; both ingest services refuse or drop those fields; and parent reads suppress legacy rows. Deleting historical production rows is a separate, authorized operator action that is still outstanding, so we do not claim that old copies have already been purged.

This release adds preparation for ParentProof Play. When you give a child’s age range while adding them, ParentProof also creates that child’s Play profile, and we keep a game display name and the broad age band taken from that range. Game sign-in, connected-game data and points exchange are not in effect yet; no game receives this information in the current release.

A correction, stated plainly because the previous wording was the opposite of the truth. An earlier version of this page listed “camera or microphone” among what is not collected, and invited you to check the app’s manifest to confirm it. Both permission claims needed correction: the child app declares camera permission for its setup QR scanner, which opens only when you choose to scan a pairing code on the tablet; it also holds microphone permission for ParentTap. ParentTap’s microphone button records your child’s voice and uploads it to us so you can hear it. That feature was in the product before this page said it was not. The recording and its 7-day limit are described above. A recording of a child speaking is among the most sensitive things this product touches, and a policy that denies holding it is worse than no policy at all.

This update also corrects the public-site storage description. The previous version said there were no cookies anywhere and still described a waiting-list form that had already been removed. The dashboard actually writes one shared light/dark preference cookie, the public site reads it, and the tablet funnel has a small local event and consent layer. The exact values and network boundary are now described below.

24 October 2026: the early beta is open to every family, and free. Anyone can create an account and download the setup app, and no card is needed. The old waiting list is closed, because there is nothing left to wait for: its form is gone and the endpoint it posted to refuses every request. If you left an address while it was open, it has not been deleted — clearing them out is a decision with a record and we will not pretend it has been made. It is attached to no account, nothing reads it, and ask and we will remove it.

Added in this version: the free tools at try.parentproof.com. Our free printable tools (checklists, routines, app plans and handouts) run in your browser, and your answers in them are never sent to us. If you choose to save a result, we keep what you type into that form: your name, your email address, and any optional question on that page you answer. With it we keep the title of the result you saved, which tool it was, the exact wording and version of the consent you ticked, your browser type, the country your connection came from, and the time. Nothing about your child is kept. Your IP address is used for two minutes to stop repeated submissions, then discarded. This is stored with Cloudflare, which runs those pages for us, and is deleted automatically 12 months after you save it. It is not attached to a ParentProof account, so deleting an account does not remove it. To unsubscribe, or to have it deleted sooner, reply to any email from us or write to support@parentproof.com. These tools send no email today; when they do, each message will say who it is from and how to unsubscribe. The free tools are separate from the ParentProof app, so they are not in the table of the app’s outside services below.

3 October 2026, tablet orders. This page said there was nowhere to put a postal address and called the tablet store test-only. A tablet can be bought from your signed-in account only while one is in stock, so an order keeps the shipping address you confirm at checkout. What is kept, who sees it, and for how long are now set out below and in the retention table.

3 October 2026: four more corrections, because this page had fallen behind the code again. It had the age range in child setup wrong: setup will not add a first child without a range, the range is kept, and the child’s Play profile is created with it. It called its list of outside services complete when eight were missing (they are now in the table below). It said the microphone served one feature when the app also carries ChatProof’s recorder, which cannot start in this release. And it described the address-bar reader and the which-app-asked attribution as coming, when both were already in the child app. The product did not change; the page did.

Added in this version: photos and videos you choose for your child’s tablet. A new section, below, describes a feature that arrives switched off: what you upload, where it is kept, what reaches the tablet, what your child can do with it, and when it is deleted. It also adds four rows to the retention table, says how those photos and videos are backed up, encrypted, at Cloudflare R2, and how a parent turns them off for the whole family.

So the rule for everything below: it describes what the code does today, not what we intend to build. Where a protection is real, it is stated plainly. Where something is planned but not running, it is marked Not in effect yet. Where a gap exists, it is named rather than left out.

What is collected

Your account

Your email address, a hashed password, which devices and child profiles belong to your household, who else you invited into it, your settings, and — only if you choose to set one — a display name for yourself, so a household with two parents can tell who did what. Leaving it unset is a supported state, not a nag: accounts without one simply read as “Owner” or “Co-parent”. The account itself has no field for a phone number or a postal address; the one place ParentProof keeps an address is a tablet order, if you buy a tablet (see Tablet orders).

We do not store IP addresses. Your address is used in memory to rate-limit abusive requests and is not written to the database.

Tablet orders, if you buy one

A tablet can be bought from your signed-in account only while one is in stock, and only the household owner can buy one. Stripe’s payment page collects the shipping name and address (and the payment details, which never reach us). When Stripe confirms the payment it sends the confirmed shipping address back, and we keep it with the order, with a phone number only when Stripe passes one with the address. Stripe calculates any sales tax from that shipping address. We ship only to addresses in Canada.

With the order we keep what you bought and how many, the price, what Stripe charged and refunded, the order’s steps (paid, preparing, shipped, delivered), the carrier and tracking number, and whether the payment was disputed with the card issuer. The shipping address is seen by you on your order page and by the ParentProof staff who pack and post it; each time staff open the packing list, the orders and households shown are recorded in our staff audit log. None of it is about your child.

Activity from the child's device

Security, enforcement and request events: unlock attempts and PIN failures, leaving or re-entering kid mode, a child's request, an alert, a blocked-site denial, a boot, a crash, and per-app daily usage totals.

Ordinary app opens and closes, the app in the foreground right now, and allowed website visits are not uploaded or kept as detailed history. Screen-time numbers are aggregate usage totals, not a timestamped list of what opened when.

The apps on the device

On a protected Android tablet, the child app can inspect installed apps to apply your blocks and restore anything it hid before you remove ParentProof. We upload and store the apps your child used, apps with a launcher icon, and apps ParentProof has hidden — up to 300 apps per report, plus the smaller lists of what you allowed and marked essential. A used app can be included even without a launcher icon. Alongside each reported app we keep a running total of screen time, first seen and last seen, which follows the child's profile from one protected Android device to another. We do not upload every installed app solely because the child app can see it.

We also hold a rolling device-health snapshot, refreshed roughly every five minutes, with battery, charging state, network type, app version and whether each protection is still switched on. It does not contain the app currently in the foreground.

Sites, only from our own browser

When the kid browser blocks a site, we may record the normalized host — example.com, never the page, path or search terms — and when the denial happened. Kept 30 days. Allowed visits are not recorded.

This is the only browsing that is recorded today. Chrome, Firefox or any other browser on the device produces no history in ParentProof. What we cannot see there, we cannot show you. Two changes to that are named, with their limits, below.

Your child's voice, when they press the microphone

ParentTap lets a child who cannot make the pictures say it speak instead. When — and only when — your child presses the microphone button, the app records a short clip and sends it to you as their message. It is recorded on no other trigger: nothing in this app can open the microphone in the background.

The clip is stored on our server so you can play it, capped at one megabyte, and deleted after 7 days whether or not you listened. Deleting the request deletes the audio with it. A transcript is attempted on the device itself; the recording is never sent to any transcription service, and our server refuses an upload that claims a cloud transcript. A clip that could not be transcribed still reaches you — that is the normal case, not a failure.

A picture of the screen, only when you ask

If you switch screen viewing on for a child, you can ask for one still picture of what is on their Android tablet’s screen. The capture is silent on the tablet: your child is not told and cannot refuse. The picture can be opened for five minutes, by the adult who asked, and is then deleted. Who asked, and when, goes in your Household activity. How it works, in full.

ParentProof Play profile

Created automatically when you give the child’s age range while adding them; you can unlink it, and deleting the child deletes it unless you unlinked it first: a game display name, a broad age band — Under 8, 8–12, 13–15 or 16–17 — and the link to the ParentProof child you selected. We do not ask for a birthday or exact age.

The Play identity is kept separate from the child’s ParentProof profile identifier. Game sign-in and the points/data bridge are not available yet, so no game activity is being collected through Play in this release.

Photos and videos you choose for the tablet

Only once this is switched on, and only if you use it: the photos and videos a parent uploads for a child’s tablet, the album names you type, and, from each tablet, which of them it has downloaded and how much space it has free. None of it comes from your child’s device. It has its own section below.

Everything in this section is used to operate the parent controls you chose and, prepare that child’s Play identity when you give their age range. None of it is sold, and none of it is used for advertising — see the wall below.

Screenshots

A parent can ask to see one picture of what is on a child’s Android tablet right now. It is off until you switch it on for that child, you confirm your password once per viewing session, and the capture is silent on the tablet — your child is not told and cannot refuse.

Who can ask, and for whom

  • Any adult in your household can ask, once screen viewing is switched on for that child. Opening a viewing session needs a fresh confirmation that it is you — your password, plus your second sign-in step if you turned one on, or a passkey. One confirmation opens a session: for about five minutes you can take more pictures of that child without confirming again, and after that you confirm once more. An account with no password cannot ask at all.
  • Only the adult who asked can open the picture. A co-parent who wants to look asks for their own, with their own confirmation.
  • Only for a child profile in your own household, on an Android tablet that ParentProof manages as its owner, with protection switched on, while that child is the one using it. Never for an adult’s profile, an unmanaged device, a Windows PC or a Mac. If the tablet is switched to another child before it picks a request up, the request is not sent to it.

Switching it on, and off

  • Off by default, for every child. Turning it on needs your password, and a tick confirming you understand that ParentProof sends your child no notice of its own.
  • Turning it off is one tap, with no password, and it stops capture rather than hiding a button. Pictures of that child already taken are deleted, wherever the tablet is now; requests still waiting on that child’s tablets are cancelled; a picture that arrives afterwards is refused; and a picture that was ready can no longer be opened.

What your child sees

Nothing. The capture is silent. By default your child is not told when you look at their screen and cannot refuse: there is no prompt on the tablet, nothing on screen, and nothing for your child to allow, cancel or decline. A notice from ParentProof itself is a real, built setting, off unless you turn it on — switch it on and your child is shown a notification each time you ask for a picture. ParentProof sends no notice of its own by default, and you are told that in those words, and tick to confirm it, when you switch screen viewing on.

We disclose this plainly here, and in the app-store listings, because the honest audience for it is you — the parent who set this tablet up for your own child — and the stores that list ParentProof, not a prompt on your child’s tablet. An earlier version of this page said Android showed a prompt on the tablet that your child could decline; that is no longer how capture works, and the page is corrected.

What is taken, and where it goes

  • One still picture of the whole screen, at the moment it is allowed. Not video, not sound, not a recording, and nothing left running afterwards. The tablet keeps no copy: it sends the picture and discards it.
  • It is stored in ParentProof’s own database, the same place as the rest of your account, and sent to no outside service — no classifier, no AI model, no analytics. Our support staff have no route to it.

How long it is kept

  • The picture: five minutes. It can be opened for 5 minutes after it reaches us, and is then deleted from our database within about a minute, by a clean-up that runs every minute rather than waiting for something else to happen. Turning screen viewing off deletes it at once.
  • A request nobody allowed expires 3 minutes after you asked. The tablet is not sent it after that, and nothing is stored for it.
  • The note of who may open a picture is deleted 8 minutes after the request, and the record of the viewing session (kept so the server recognises the same confirmation within its window) within 5 minutes.
  • The access history — which adult switched screen viewing on or off, asked for a picture or opened one, for which child and tablet, and when, never the picture itself — is in your Household activity. It keeps the adult’s identifier for 400 days; after that the identifier is removed and the entry stays. Like the rest of that record, it is not deleted when an account is deleted.

Not finished yet

  • Testing on physical tablets. Silent capture passed QA checks on a Pixel 7 Pro and a CP31U with QA build 2026100401 on 4 October 2026. The public tablet download, version 2026091605, predates this capture path; those QA checks do not prove screen viewing works on that release. Testing across other physical tablets, Android versions and manufacturers is still unfinished. A request may fail on some tablets, or the picture may come out blank.

Remote taps

Remote taps and swipes are still unavailable. They would require their own child-visible notice, parent verification, access history, expiry rules and physical-device testing before release.

What is not collected

  • Message content, from any app.
  • Photos or files from your child’s device. The photos and videos described below are ones a parent uploads, not ones taken from the tablet. The Android app declares camera permission for a QR-code pairing scanner. It opens only when you choose Scan pairing QR during setup, reads the short-lived code shown in your signed-in parent dashboard, and sends the code to ParentProof to pair the selected child. Camera frames and photos from this scanner are not stored or uploaded. The app does not request location, SMS, contacts or general storage permission.
  • The microphone, at any moment your child did not choose. The app does hold the microphone permission, for two products — the voice button described below, and ChatProof’s voice and video clips and calls, which are built into the app but cannot start in the current release — see your child's voice below. Nothing in this app opens a microphone in the background: there is no service, no receiver and no scheduled job that can.
  • Location tracking, of any kind.
  • Keystrokes, message content, form fields and page content — from any app, at any time. One optional accessibility service opens the parent gate when you press volume-down three times from inside another app. It sees only those hardware key presses and stores and sends nothing. A separate remote-help accessibility service is reserved for a future feature; it does nothing in this release and should be left off. One narrow addition is described below: the address bar of the browsers on your child’s tablet. Nothing else on the screen is read.
  • Continuous screen recording, or video of the screen. A single still picture is taken only when a parent asks for one — silently, see above.
  • Browsing in any browser other than our own kid browser is not kept as history. What a blocked or waiting-for-you address produces is described below — the address, not a history of everywhere your child went.

We are not building the product that reads a teenager's conversations and mails them to a parent. That product exists; this is a different one.

Two things the child app reads, and their exact limits

Both of these are in the child app you have today. They are described here with their exact limits, because a privacy page that describes yesterday’s software is the failure this page exists to avoid.

1. The address bar of the browsers on your child’s tablet

Filtering that works by refusing to look a name up knows the site and never the page, and it leaves your child staring at a browser error we did not write. Reading the address bar fixes both: a request can name the actual page, and ParentProof can put its own screen up instead of ERR_NAME_NOT_RESOLVED.

The alternative we refused, and why it matters that we did. The usual way to see inside encrypted browsing is to install a certificate on the device and decrypt everything. We will not: it would let us read every secure connection your child makes, Android would show a permanent “your network may be monitored” warning, and it teaches a child to click through certificate warnings. No ParentProof product installs a certificate on your child’s device.

  • What is read: the address in the address bar, in a browser, on the child’s tablet.
  • Not page content. Not what is typed. Not form fields or passwords. Not other apps. Not notifications, clipboard or messages. An accessibility service could read all of those — that is why Android restricts them — and everything outside a browser’s address bar is out of scope by design, not by effort.
  • What leaves the tablet: the same thing a blocked or waiting request has always carried — the site, and at most a short leading part of the path. The query string and everything after # are dropped on the device before anything is sent, so a search you would not want recorded is not sent to us and cannot be.
  • How long: 30 days, on the same clock as every other request and denial, then deleted.
  • Where it does not run: the parent app on your own phone. This capability is never going in it.

2. Which app asked for a site

Most of a child’s web now arrives inside somebody else’s app, in a browser built into it that has no address bar to read. Android can tell us which installed app opened a given connection, and that is what lets a request say “this app asked for that site” instead of naming a site with no context.

  • What is derived: for a request ParentProof is deciding about, which app made it — the same app name that is already in your app list.
  • Not a log of every connection. Not a list of the addresses each app talked to. Not a record of anything the filter did not act on. The answer is worked out at the moment of the decision and discarded with it.
  • The honest limit, which the wording you see will keep: inside another app’s built-in browser we know the site and the app, and never the page. A hostname is not a page, and ParentProof will not show you one as though it were.

And the small key in the status bar

ParentProof’s filtering runs as a connection on the device itself, which is why Android shows a key icon whenever it is on. Nothing about your family’s browsing travels through a ParentProof VPN — we do not run one, deliberately: it would put every byte of your family’s traffic through our machines, which is the opposite of how this product is built. The key means the filter is running on the tablet. It cannot be removed while the filter is on, so we explain it during setup instead of hoping you do not notice.

Photos and videos you choose for your child’s tablet

This arrives switched off. Until we switch it on for the service, the dashboard does not offer it and nothing in this section happens. Once it is on, it stays off for your household until a parent in it accepts a short notice in the dashboard. If we change what that notice says, it goes off again for every household until a parent accepts the new one. If we switch it off for the service after it has been on, the deletions described below keep happening on the same schedule.

  • What you add: photos (JPEG, PNG or WebP, up to 25 MB each) and videos (MP4 or MOV) that a parent in your household uploads from the dashboard. Nothing is taken from your child’s device. Animated pictures and HEIC photos are refused.
  • How much: it depends on your plan — 3, 10 or 25 albums; 60, 200 or 500 photos and videos; 500 MB, 2 GB or 5 GB in all; and videos of up to 2, 3 or 5 minutes.
  • What happens to a file before your child sees it: our server decodes it and makes a new copy with ffmpeg, inside a sandbox that has no network access. A photo becomes a JPEG no more than 2048 pixels on its longest side; a video becomes an H.264 MP4 no more than 1920 pixels on its longest side. The new copy carries none of the original’s hidden details, such as location, camera or date tags. The file you uploaded is deleted as soon as processing finishes, whether or not it succeeded. An upload you never finish expires after a day, and the daily clean-up then deletes what had arrived.
  • Where it is stored: the processed photos and videos are stored on our own server, in one private folder on its disk — not with a cloud storage provider, and not in our database. The database holds the album names you type and, for each photo or video, details such as who added it, when, and its size, dimensions and checksum. Apart from the encrypted nightly backups described next, no outside service receives your photos or videos.
  • Backups: every night an encrypted copy of the processed photos and videos (never the files as you uploaded them) goes into our backups at Cloudflare R2, alongside the encrypted backups of our database. Cloudflare stores only the encrypted file; the key to open it stays with us. The last 30 nightly backups are kept, so a photo or video you remove, or whose copy has expired, can remain inside those encrypted backups for up to 30 days. Restoring a backup never brings back a photo, video or album that was removed, or anything of a household that was deleted: a list of every deletion travels inside each backup and is applied before anything is put back.
  • What reaches your child’s tablet: only the albums you assign to that child. The tablet downloads the processed copies only on Wi-Fi or another unmetered connection, checks each one against its checksum, and keeps up to 1.5 GB of them in the ParentProof app’s private storage, where other apps and the tablet’s own photo gallery cannot see them. So that you can tell whether a delivery finished, the tablet reports back which items it holds, how much space they take and how much space is free; we keep only its latest report, until the tablet is removed.
  • What your child can do with it: look. Swipe between pictures, zoom, and play, pause or scrub a video. There is no way to delete, share, save, edit or export anything from the tablet, and the screen cannot be captured in a screenshot. Time spent there counts as screen time, and it closes when the tablet’s schedule or daily limit says the tablet cannot be used.
  • Who in your household can do what: any parent in the household can make albums, add photos and videos and choose which children see them. Only the parent who added something, or the account owner, can remove it. Outside your household, a member of our staff with that specific permission can remove a single photo or video, for example to answer a legal request or a report about it: that deletes our server’s copy and its record straight away (the daily clean-up retries if that fails), the tablet deletes its copy the next time it checks in, and the removal is recorded with who made it and why. Staff cannot open or view your photos and videos.
  • How long our server keeps it: our server keeps each processed photo or video for 30 days after it is ready, so that tablets have time to download it; a daily clean-up then deletes the server’s copy. Tablets that already have it keep showing it. A tablet that had not downloaded it by then cannot get it any more, and the dashboard tells you so.
  • Removing it: removing a photo, a video or an album deletes our server’s copy straight away (the daily clean-up retries if that fails) and removes it from each tablet the next time that tablet checks in. Taking an album away from a child removes it from that child’s tablets the same way. When removing something would delete the last copy anywhere, the dashboard asks you to confirm first.
  • Turning it off for your family: the account owner, or a parent who made every album, can turn photos and videos off for the whole household from the dashboard. After one confirmation that deletes every album, photo and video your household added, in the same way as removing them, and withdraws your household’s acceptance of the notice; each tablet deletes its copies the next time it checks in. It stays off until a parent accepts the notice again. This works even while your plan is locked for payment.
  • When a tablet lets go of all of it: a tablet deletes every copy it holds when this is switched off for the service or for your family, when the tablet is unlinked or linked to a different household, and when it is switched to a different child.
  • Records: a record of who made, assigned or removed an album or an item, and when the notice was accepted or withdrawn, is kept for 400 days. Album names and each item’s details stay until you remove them; no time limit is implemented for those.
  • Deleting your account: when the last parent in a household deletes their account, the household’s album and item records go with it at once, and the daily clean-up deletes its stored photos and videos, retrying until none are left. The account download in the dashboard does not include these photos, videos or album names.

Who else sees any of it

Every outside service the product talks to, what reaches it, and on what terms. There are no others — this is the complete list of network destinations in the code, not a representative sample.

WhoWhat reaches themWhyTerms
Cloudflare
1.1.1.1 / 1.1.1.3
Every name your child's device looks up, from every app, not only from a browser. Resolving names, and refusing adult and malware domains on the family route. Forwarded over TLS from our server, so Cloudflare sees our address and the name — never your home address. We do not log the queries; the only thing we write down is that the resolver was degraded, and why.
Quad9 and AdGuard
9.9.9.10 / 94.140.14.15
The same lookups, only when Cloudflare is unreachable. Failover, so the internet does not stop working when one resolver does. Same shape: over TLS, from our server, not logged by us.
Google Cloud (Vertex AI, Gemini)
app classifier
An app's identifier and developer name, when available — for example com.mojang.minecraftpe. For a Windows PC protected during the earlier beta, a program is named by its location rather than by a package name, so what is sent is the folded path, in which the folder named after the person is replaced by a placeholder: C:\Users\Sam\AppData\Local\Zoom\Zoom.exe is sent as %localappdata%\zoom\zoom.exe. Alongside it go the publisher from a verified code signature, where present, and the company and product names the program states about itself. Those company and product names are unverified claims from the program, not proof of its publisher. Never your child's name, your household, or the device — and never the unfolded path, because that one contains the Windows account name. Sorting an app into a category, so you can write one rule instead of naming apps one at a time. Off by default. Without the exact documented operator release opt-in, the scan address behaves as though it does not exist and the background job stops before reading the model-provider secret or an app inventory. Malformed values stay off. In an explicitly opted-in deployment, each request carries routing that requires the model provider to retain nothing and train on nothing, refuses fallback to any provider that will not agree, and is restricted to a named list. If those conditions cannot be met the request is not sent at all. Only in that opted-in deployment, and for a family whose parent has turned on the separate app classification choice, this one runs on its own: a background job reads the device-observed installed app list and older records of apps opened, classifies apps it has not seen before, and repeats on a timer. It runs on Google Cloud's Vertex AI, with OpenRouter as a fallback if Google cannot be reached, and the stored answer records which of the two produced it. As with web addresses, the app's identifier is also submitted to Google Search so the model can look the app up rather than guess from its name.
Google Cloud (Vertex AI, Gemini)
web address classifier
A web address on its own. Never your child's name, your household, or the device. Sorting an address into a category, so a rule can cover a kind of site rather than a list of them, and writing one plain sentence describing what the site is. This one is on. It runs on Google Cloud's Vertex AI. The address is also submitted to Google Search, because the model looks the site up rather than guessing from the letters in the name — that is the whole point of it, and it is a real disclosure: an obscure address your child visited becomes a search Google performs. Only the address is searched; nothing about your child, your household or the device goes with it. If Google cannot be reached the request falls back to OpenRouter under the routing conditions in the row above, and the stored answer records which of the two produced it. An answer is kept and reused for every other family, so the same address is looked up once rather than once per child.
OpenRouter
setup assistant
Your conversation with the setup assistant, plus what its tools read from your own computer and a redacted tail of the setup app's log. Answering you inside the setup app when something will not work. Off unless the operator turns it on. Without the exact documented release opt-in, the address the setup app would talk to behaves as though it does not exist, and the setup app hides its chat box and says so rather than offering one that cannot work. Malformed values stay off. No such routing. And in a deployment that HAS turned it on, this one still does not carry the no-retention terms described in the rows above — it runs under OpenRouter's ordinary terms, so do not paste anything into it you would not want stored. Fixing that is on us, and it is why this one is off by default.
OpenRouter
family assistant
Your question, and a summary of your own household written with your children's names replaced: the provider is told “Child A”, never a real name, and never a profile, household or device identifier. What it does carry is the shape of your setup — daily limits, bedtimes, how many devices there are and how long apps have been open. Answering a question you asked about your own family, on the Assistant screen in the dashboard. Off unless the operator turns it on. Without the exact documented release opt-in, the address behaves as though it does not exist and the screen is not in the menu at all. It only ever answers — it cannot change a setting on a device, because the path that would let it does not exist in this feature. The names are replaced before the request leaves our server and put back on the way out, so you read “Maya” and the provider never saw it. Each request carries the same routing the classifier rows above describe: the model provider must retain nothing and train on nothing, fallback to a provider that will not agree is refused, and the providers are a named list. The one part of that which has no per-request setting is logging at the gateway itself, which is a property of the account the key belongs to rather than of a request; it is why this feature waits on a key of our own.
Cloudflare R2
backup storage
Encrypted nightly backups: of the photos and videos parents add for a child’s tablet, and of our database. Cloudflare holds only the encrypted files. Getting them back if our server’s disk is lost. The key to open them stays with us and is never sent to Cloudflare. The last 30 nightly backups of each are kept, and restoring photos and videos from one never brings back what was deleted (see photos and videos). Local database-backup retention is listed in the retention table.
Resend Your email address and the message we are sending you. Sign-in and password-reset email. Nothing about a child is in these messages.
Google Firebase Cloud Messaging A push token for your phone and a generic wake-up message. The message contains no child's name, app, site, device name or reason; details are fetched only after the signed-in app opens. Reaching the signed-in Android parent app for permission requests, help alerts, check-ins and quizzes when the dashboard is closed. This is built and tested, but has not yet been proved end to end on a released build, so we do not describe it as verified.
Apple Push Notification service A push token for your iPhone or iPad, and the same generic wake-up message described in the row above — no child's name, app, site, device name or reason. Reaching the signed-in iPhone or iPad parent app when the dashboard is closed. iOS is sent to Apple directly rather than through Firebase, so Google is not involved in an iPhone notification at all. The same shape as the Android row, from a different provider. Apple receives the token and a message that says only that something is waiting.
Your browser's push service
Mozilla, Apple or Google
Ciphertext only. Desktop and browser notifications. Encrypted end to end to your browser. The push service cannot read the contents.
Apple App Store Server API
api.storekit.apple.com and its sandbox, and api.appstoreconnect.apple.com (checking a product is live before the Buy button shows)
The identifier of an App Store purchase you made in the iPhone or iPad parent app. Nothing about a child. Checking with Apple that a subscription bought in the App Store is real and current. Off unless the App Store purchase switch is on; it is off in the current release.
Google Play Developer API
androidpublisher.googleapis.com, with Google’s OAuth token service and Google signing certificates
The token of a Google Play purchase you made in the Android parent app, and our own service credentials to Google. Nothing about a child. Checking with Google that a subscription bought on Google Play is real and current, and confirming that a Play notification really came from Google. Off unless the Google Play purchase switch is on; it is off in the current release. Google’s OAuth token service (oauth2.googleapis.com) is also how our server signs in to Google for the push and classifier rows above; it receives our credentials, never anything about your family.
Poopy Duck
api.poopyduck.com
Only after you approve connecting Poopy Duck for a child: a separate game identity and, if you choose them, a game display name and broad age group. Never the child’s ParentProof profile, devices or activity. Letting the Poopy Duck game know which child it is playing with, so it can send verified milestones back. Off unless the operator turns the Poopy Duck connection on. You can revoke the connection, and inspect, export and delete its data, from the child’s ParentProof controls.
Klaviyo
a.klaviyo.com
Only adult-account marketing events that pass the wall: never a device identifier, never anything measured from a child’s device. Product and marketing email to you, the adult. Off. Nothing is sent until a key and a separate written delivery approval both exist, and that approval waits on deletion, suppression and withdrawal controls being in place.
HetrixTools
api.hetrixtools.com
Our own server’s address, to watch whether it is up. Nothing about any family. Uptime monitoring and alerting for the platform. Called only by an operator script that registers the monitor, never while serving a request.
Sentry
error reporting, at an address the operator sets
Server error reports: the error, where in our code it happened, and short context, with secrets redacted before it leaves. Crash reports from the child app and the setup app go to Sentry directly when those apps are built with a reporting address: the app version, the error and where it happened, with values redacted. No account, child or device identifier is included. Finding and fixing server faults. Off unless the operator configures it, on the server and in each app build. Error context is scrubbed of credentials; it is not used for anything but fixing faults.
Stripe Nothing about a child, ever. Hosted subscription checkout, and hosted checkout for a tablet bought from your signed-in account. The public shop page’s own checkout stays a separately gated test store. For a tablet, our server sends your Stripe customer reference, the order number, a server-owned Price and quantity, the countries we ship to, and the time the payment page closes. Stripe collects the shipping address and payment details on its own page, calculates any sales tax from the shipping address, saves the confirmed shipping address on your Stripe customer record, and sends it back to us when the payment is confirmed. A browser returning from Stripe is not taken as payment; only Stripe’s signed confirmation is. ParentProof does not receive your full card number.

Two things to know about the resolvers. The category filtering on that route is Cloudflare's list and Cloudflare's categories, not ours — it is on or off, and the per-category switches in your dashboard do not change what it refuses. And DNS is broader than the blocked-site denials described above: it sees every app on the device, which is exactly why it is forwarded rather than recorded.

How long it is kept

There is a temptation to publish a tidy table of retention periods that the code does not actually enforce. Here is the real one, which is shorter and less flattering.

WhatHow long
Device events — security, requests, blocks, alerts, PIN failures, crashes and usage totals30 days, then deleted
Blocked kid-browser host denials30 days, then deleted
Legacy detailed app and allowed-site historyNo new rows are accepted or returned. Historical production deletion is still outstanding.
That you ticked the two boxes when you signed up (18 or older and the parent or guardian; agreeing to the Terms and this policy): when, which versions, and which signup pageKept with the account and deleted with it.
Password-reset linksOne hour
Pairing and enrolment codesMinutes, single use
A picture of the screen you asked for5 minutes to open it, then deleted within about a minute; a request nobody allowed expires after 3 minutes
Who asked for or opened a picture of the screen, and when400 days with the adult’s identifier, then kept with it removed. Not deleted with the account.
A one-way fingerprint of each Android device that has started a free trial, so one device gets one free trialNo limit is implemented. It is a one-way hash of the identifier the ParentProof child app creates when it is installed, never the identifier itself, and it does not follow the device through a factory reset. Alongside it we keep when the device was first paired during a free trial and, while the household exists, a link to the account that owns the household (for a co-parent, that is the owner’s account, not theirs). The link moves when the household changes hands, and goes with a co-parent who leaves with the device. Deleting the account removes its link and keeps only the fingerprint and that time, so the same device cannot start a second free trial on a new account.
Legacy screenshots from unreleased testing, if any existScreen viewing is available on compatible tablet app versions, as described above. No automatic deletion limit exists for legacy rows; they are removed when the device or account is deleted.
App inventory and cumulative screen timeNo limit is implemented. Removed with the profile, the device or the account.
The latest device-health snapshot — battery, charging, network, app version and protection statusNo limit is implemented. Overwritten rather than aged out — the newest one is kept until the device is removed.
A ParentProof Play profile — game display name, broad age band and child linkKept until the parent deletes that child or the household. Explicitly unlinking first preserves the Play identity and its game history so it can be linked again.
A ParentTap voice clip recorded by your child7 days, then deleted — and deleted immediately with the request it belongs to
A tablet order’s shipping address (name, address, and a phone number if Stripe passed one)The address is deleted 90 days after the order is delivered, cancelled or refunded. Deleting your account deletes it at once; an order not yet delivered by then is owed a refund.
A tablet order’s record (what was bought, the amounts charged and refunded, its steps, the carrier and tracking number, a dispute)2555 days (about seven years) from when the order was placed, then deleted, as a financial record. Deleting your account removes the order’s link to your account (its address goes with the row above); the order and its amounts stay for that time.
A photo or video you added for your child’s tablet — the processed copy on our server30 days after it is ready, then deleted by a daily clean-up, or straight away when you remove it. A copy already on a tablet is not affected by the 30 days.
Nightly database backups, at Cloudflare R2 and on our own serverThe last 30 nightly backups are kept at Cloudflare R2. Local database dumps are removed by the daily job once their age, rounded down to whole days, exceeds 14 days. A deleted account can remain in database backups for up to 30 days. We do not restore a single account from a backup.
Encrypted nightly backups of those photos and videos, kept at Cloudflare R2The last 30 nightly backups. A photo or video you remove ages out of them within 30 days, and a restore never brings it back.
Album names, and each photo or video’s detailsNo limit is implemented. Removed when you remove them, or with the household.
The record of who made, assigned or removed an album or an item, and when the notice was accepted400 days
Support tickets and their messagesNo limit is implemented. Removed when the account is deleted.
What you save through a free tool at try.parentproof.com: your name, email address, any optional answer, the result title, the consent you ticked, browser type, country and time12 months from the day you save it, then deleted automatically. It is not attached to an account, so deleting an account does not remove it — ask and we will delete it sooner. More about the free tools.
An email left on the old waiting list, back when there was oneNo limit is implemented. The waiting list is closed because the early beta is open to everyone. The form is gone and the endpoint that took it now refuses everything, so no new address can be added. Any address left while it was open has not been deleted. Nothing in ParentProof reads it and nothing writes to it. It is not attached to an account, so deleting an account does not remove it — ask and we will.

One caveat on the two 30-day rows for device events and blocked host denials, because it matters: the deletion runs when the next event of that kind arrives, not on a timer. On a device that has gone quiet, the last events sit there until something wakes it or the device is deleted. That is a real limitation of how it is built, not a rounding error.

Children's data

This product exists to be used by a parent or legal guardian on a device belonging to their own minor child, with the authority to do so where they live. That is the only use it is designed, tested and written for — see Terms.

  • A child profile is not an account. A child does not sign up, does not give us an email address, and cannot be contacted by us. What we hold about a child is the activity described above, attached to a profile you created and named.
  • We do not ask for a birthday or exact age. Child setup asks for one coarse age range, and ParentProof will not add your first child without one. It is used to suggest a starting app list, and it is kept: in your account’s setup progress, with the child’s setup record, and in the ParentProof Play profile that is created for the child automatically when the range is given. A ParentProof Play profile is created for every child who is given an age range, with one broad age band chosen from that range so games can later choose a suitable experience. That Play band is your choice; we do not infer or verify it from what a child does.
  • The supervised device says so, the whole time. The ParentProof app runs in the foreground with a notification that stays visible — "ParentProof Secure · Watching over this phone" — and carries its own name and icon in the app list. Nothing about it is hidden, renamed or disguised, and we will not build a version that is. A monitoring tool a child cannot see is a different product with a different name for it.
  • Nothing about a child reaches an advertiser. See the wall.
  • You control all of it. Every rule, every profile and every piece of history is yours to change or delete from the dashboard, at any time, without asking us.

Where you live may give your child or you rights over this data — under COPPA in the United States, the UK and EU GDPR, or an equivalent local law. We will honour them; the practical route is below, and a person reads and answers it rather than a form.

The age band is not age verification. Several laws draw a line at 13. A Play band can record what the parent selected, but it does not prove a child’s age and is never inferred from their activity. The adult still represents that they are 18 or over and are the child’s parent or guardian under the Terms. This is a product description, not legal advice, and our lawyers may revisit it; if they do, this paragraph changes with it.

The wall between your child and our marketing

This is the part we are most willing to be held to.

Marketing consent is separate, off by default, and split into three independent choices you can change at any time from your dashboard. Nothing is on because you did not notice a pre-ticked box.

Behind that, there is a filter every outbound marketing event has to pass. It works on the payload, not the label: an event carrying a device identifier or any marker of child telemetry is refused before consent is even consulted, no matter what type it claims to be. A bug that mislabels a child event as a marketing one therefore does not leak it — it gets dropped.

The public tablet funnel has a separate, deliberately local event layer. It accepts only a fixed list of funnel events and fields — bounded one-based product and plan positions that the built-in store derives from the current public catalog, quantity, currency, catalog unit price, a subtotal calculated by the event layer, coarse funnel stage, error result, and FAQ position — then raises a parentproof:funnel event inside the page. It does not accept product, plan, account, child or device identifiers into event payloads. The built-in code does not save those events or send them over the network. It has no purchase event: a click, a hosted-checkout redirect, or a return URL is not proof that a payment or order exists.

A local-storage value named pp_marketing_consent can hold granted or denied when an explicit consent control uses this event API; missing means not granted. Only granted lets an explicitly installed public-funnel adapter receive the already-reduced payload. The public-site browser bundle contains no analytics vendor id, advertising pixel, vendor script, or installed PP_MARKETING_ADAPTERS network adapter. It does not treat unrelated global objects in the browser as permission to send anything. This statement is limited to the public browser funnel, not the authenticated product’s separately gated server-side marketing pipeline described above. If a public-funnel adapter is ever enabled, its recipient, purpose, retention, consent control, and network destinations must be named here first.

Why both boundaries exist. The authenticated product refuses child and device fields at its outbound wall. The public funnel is narrower still: it has no child fields in its event schema, stays inside the current page by default, and cannot infer payment success from navigation.

Technical detail attached to a bug report

When you send us a report, there is a tick box for attaching technical details. It is opt-in, it is capped in size, and nothing is transmitted until you press the button. Untick it and you send only your words. We never collect it from your machine on our own — it is attached by the app, on your instruction, or not at all.

Be precise about what "redacted" means here, because it is narrower than the word suggests: the filter strips things shaped like credentials — setup codes, tokens, long hex and base64 strings — so a secret cannot leak in a log tail. It does not strip personal information. A file path containing your child's name, a device name, or an app name will come through as written.

The child's app also reports its own crashes so we can fix them. A crash report is the failure itself, not what the child was doing — with one caveat we would rather state than gloss: the error message is included, up to 200 characters, and if the thing that failed was a page load then a hostname can appear inside that message.

Your data, and getting rid of it

  • Delete your account, from the dashboard, yourself. It asks for your password, then removes the household record — child and Play profiles, policies, rules, app history, activity, screenshots, entitlements, support tickets and your login. If a protected Android device or an earlier-beta protected computer is still linked, it names them and warns you first, then releases them: see the note just below.
  • Withdraw any marketing consent at any time, from the dashboard, without contacting anyone.
  • Backups. Deleting your account does not reach into the nightly database backups already taken: a copy of it can remain in those database backups for up to 30 days, until the oldest is replaced. We do not restore a single account from a backup.
  • Download a copy of your account from the dashboard: your account, household, devices, profiles, policies, app lists and rules. It does not include the activity history — events, browsing, screenshots, support messages. If you want those too, ask and we will put them together by hand.

Deleting the account queues a release request for linked devices; you do not have to unlink them first. Before account data is erased, every linked device is told to stand down. The instruction waits for an offline tablet until it reconnects, even after the account is gone. A tablet that never reconnects cannot receive the request and keeps enforcing its last rules. If you still have it, use your parent PIN or the computer setup app to remove controls before deleting your account. Force removing a lost or offline device from the dashboard removes its account link; it cannot turn off controls on a tablet that never receives the release.

Five things that survive deletion

Not everything goes, and we would rather explain the exceptions than let you find them.

  • The security audit log, with your account identifier replaced by a one-way hash so the rows are no longer connected to you.
  • The record of who was added to or removed from a household, who switched a child profile, and who asked for or opened a picture of a child’s screen (never the picture).
  • A one-way fingerprint of each Android device that started a free trial, and when it was first paired during the trial, with the link to your account removed. It cannot be turned back into the device’s identifier, and it is kept so the same tablet or phone cannot start a second free trial on a new account.
  • The record of a tablet order, if you ever bought one: what was bought, the amounts charged and refunded, the carrier and tracking number, and any dispute. It is kept for about seven years as a financial record, with its link to your account removed; the shipping address on it is deleted when you delete the account.
  • An email address left on the old waiting list before it closed, or saved through one of our free tools at try.parentproof.com. Neither is attached to an account. The waiting list cannot be joined any more, and what a free tool saves is deleted automatically after 12 months. Ask and we will remove your address sooner.

The first two survive on purpose: they exist so that an adult cannot erase the record of their own actions in a household by closing the account. In a product where two adults share control of a child's device, that is a safety property, and we are not going to trade it away for a tidier deletion promise. The third also survives on purpose, and holds nothing that leads back to you: it is how one device gets one free trial. The fourth is a financial record; the retention table says for how long. The fifth is held apart from any account, and we would rather list it here than let you find it.

Security, in the same plain terms

  • Passwords are stored hashed, never in a form anyone can read back.
  • Everything between a device, the dashboard and our server travels over TLS, and so do the DNS lookups we forward.
  • Anything available for a device — its settings and its history — requires a valid session on an account that shares that household. A picture of the screen also needs a fresh password confirmation for each viewing session (about five minutes), and only the adult who asked can open it.

What our own staff can see

Our support staff have an operator console, and pretending otherwise would be the same mistake this page was written to correct. What it can reach: the list of account email addresses and which household each belongs to, support tickets and their messages, and service diagnostics; and, for the photos and videos a parent adds, removing one, without being shown it. What it cannot reach: your devices, your child's activity, browsing, app history, screenshots, or the content of those photos and videos — there is no operator route to any of them, and we checked every route on that console before writing this sentence.

Getting in requires a separate operator login with the specific permission for that action; anything beyond an operator's standing permission needs a time-limited grant that another operator has to approve; and the reads are written to an audit ledger that the operator who performed them cannot edit.

Cookies, and this website

There are at most two cookies, and neither tracks you. pp_theme remembers whether you asked for light or dark mode, so the next page does not flash the wrong one. It carries nothing about you, just "light" or "dark". pp_app_sheet (sent as __Host-pp_app_sheet) is set only when you open a ParentProof screen from our phone app, for example to finish setting up. It is a signed, short-lived session, at most 12 hours, that lets that screen do the one job the app sent you there for, and while it lasts that browser cannot make purchases. It carries no tracking data and expires on its own; signing out clears it. Your dashboard keeps its sign-in token in browser storage instead; signing out deletes that token.

The public site can also keep pp_marketing_consent in local storage as described above. It is a choice value, not an identifier. The site loads its fonts, images, styles and scripts from ParentProof rather than an analytics or advertising network. Depending on the page, it requests current plan, download, or test-hardware catalog data from platform.parentproof.com. Opening a configured test checkout sends only SKU id, quantity, plan id, interval, and a fresh random checkout-attempt id to that ParentProof API; it sends no browser-authored price, email address, account, child, or device id. Only after that endpoint verifies the server-owned Price does the browser navigate to Stripe.

What we will not claim: that any of this makes a breach impossible. If one happens, you will hear it from us, quickly, with what was taken.

Asking us something, or complaining

Two routes, both reaching a person:

  • Email support@parentproof.com — for anything about this page, a request for what we hold about you, a deletion you cannot complete yourself, or a complaint.
  • The report button inside the setup app or the "Something not working?" card in your dashboard — best for anything broken, because it arrives with the context attached. See Support.

Who to write to. This page describes the system you can check, and it is the policy we hold ourselves to. If you need a formal record of anything on it, or a postal address to write to, ask and you will get a straight answer.

We can update this page as the product changes. When something material changes we date it and say what changed, as at the top of this page — we do not backdate an edit to cover something that already happened.