1. Who We Are

Canopy Families is a service of Mackie AI Enterprises Limited (company number 17107639), registered in England & Wales.

ICO registration number: ZC110311

Contact: [email protected]

2. Our Commitment to Children's Privacy

We do not sell children's personal data or use it for advertising. We design children's pages with high-privacy defaults and keep optional website analytics off those pages.

This policy explains what the service actually collects, why it is needed, who receives it, and the controls available to families. Children also see a shorter explanation before starting a learning chat.

3. What Data We Collect

Parent and guardian accounts:

Children's profiles (created by parent or guardian only):

Home-network protection (full-access plan): router or device details, DNS configuration identifiers, service settings, connection status, and DNS analytics such as blocked domains and query totals supplied by NextDNS.

School Week preview: when a parent opts in, we save their household preference, supplied fictional examples, proposed events and deadlines, edited revisions, exact-revision approvals, mock calendar results and operation status. This preview does not accept pasted school correspondence, connect to Google Calendar, read Gmail, receive school emails or send content to an external AI service. Please use the supplied fictional examples only. Planner records are accessible only through the current parent owner's household.

AI usage and allowance records: family and, where applicable, learning-session references; the AI feature used; model and provider request references; request times and completion status; token and tool counts; estimated provider cost and the pricing version used. Separate allowance records hold the family's allowance period, amounts reserved or charged, and whether a request is settled or uncertain. These records do not copy prompts, replies, names, credentials or safety-classifier verdicts, but their references can link them to a family or session, so they are not anonymous.

AI safety abuse controls: child references, hourly classification counts and opaque call references with short recovery leases. These records limit repeated or simultaneous remote safety checks; they do not contain message content or classifier verdicts.

Technical and website data: service logs, IP-derived request information, browser or device type, consent preferences, and — only after opt-in and never on children's pages — website analytics and anonymous performance measurements such as route, network speed and Web Vitals.

Security and abuse-prevention data: Cloudflare Turnstile runs only on parent registration, sign-in and password-change verification. It receives security signals needed to distinguish people from automated traffic, including network and IP information, browser and operating-system characteristics, the Canopy hostname and site key, challenge timing, interaction, and outcome. Canopy does not send names, email addresses, passwords, form entries, user communications, or child learning content to Turnstile. For selected child-access endpoints, Canopy converts the endpoint's existing security credential — such as a device, approval, or link token, or a child reference — into a secret-keyed, one-way identifier before short-lived rate-limit counters are sent to Upstash. Raw credentials, identifiers, IP addresses, PINs, and form contents are not stored in that rate-limit database.

We do not request biometric data or store full payment-card details. A message and the automated safety flag applied to it may reveal or infer health or wellbeing information. We treat that information as especially sensitive.

4. Why We Process Information

Depending on the activity, we rely on providing the service requested by the parent or guardian, our legitimate interests in operating a secure and useful family service, compliance with legal obligations, or consent for optional analytics. We assess children's interests and rights before relying on legitimate interests.

We rely on our legitimate interests to authenticate users, prevent automated account abuse, enforce proportionate rate limits, and protect the service. Turnstile and Upstash are strictly necessary security controls and do not depend on optional analytics consent.

Parent or guardian approval is required before a child profile is created, but it is not treated as a blanket legal basis for every later use of a child's information. Where safety analysis reveals or infers health information, an additional UK GDPR Article 9 condition and appropriate safeguards are required.

You can withdraw optional analytics consent at any time using the Analytics settings control. Parents can request deletion or object to other processing by contacting [email protected].

5. How We Use Data

We do not use children's data for advertising. Automated safety classification is used to protect the child and support parent oversight, not to target content or promotions.

6. Data Sharing

We do not sell or rent personal data. Information is disclosed only where needed to operate the service, process payments, deliver requested communications, protect a child or another person from serious harm, or comply with law.

We review provider roles, contracts, security measures, sub-processors, and international-transfer safeguards. Some providers may also act as independent controllers for limited activities such as payment fraud prevention or their own legal obligations.

7. Service Providers and Recipients

The following providers are present in the current implementation:

We update this list when the implemented provider set changes materially.

8. Data Retention

Account, profile, device, and safety data: retained while the family account is active, subject to the shorter periods below. An account-deletion request enters a controlled deletion queue after a 24-hour cooling period. Our worker removes directly controlled account data from the application database, Supabase authentication, and any linked NextDNS profile, with retries if a step fails.

Child learning history: homework conversations and practice-game activity are removed from our application database after 30 days, measured from the end of a session or its start if unfinished. The maintenance job runs hourly. A session linked to an undelivered safeguarding alert is held until that alert is delivered, so its supporting context is not lost before notification. Deleting a session also removes its messages and associated game attempts and hints; it does not restore a weekly learning allowance already used. Parent activity based on that session then disappears.

School Week preview records: sources and derived text become eligible for removal after 30 days from source receipt. Completed-operation metadata has a separate 30-day period; audit metadata expires 30 days after its action. Minimal approved plans and calendar mappings remain until 30 days after the event or deadline. Minimal duplicate and approval-replay records become eligible once all linked retention periods have ended and operations are reconciled; duplicate recognition ends when these records are removed. Unresolved operations are held for reconciliation. Hourly maintenance uses bounded batches, so expiry does not mean immediate physical removal. Turning off the preview does not stop retention. One minimal current worker checkpoint per opted-in household remains until household deletion; it contains phase, lease and fixed counts, not school text or a run history. Account deletion removes resolved local planner data once no in-flight or uncertain operation remains.

AI usage metadata: expires 30 days after the initial provider-call start, including any retry attempts. Hourly maintenance removes expired records in bounded batches; a backlog may require further runs. Deleting the linked learning session or family removes the associated usage rows. This period is separate from the retention of conversation content and provider copies.

AI allowance and reservation records: kept through their allowance period and eligible for removal 35 days after that period ends, through bounded maintenance batches. Deleting child learning history or usage metadata does not erase a reserved or uncertain allowance amount or restore credit. Family deletion removes the family's allowance records.

AI safety admission records: recovery leases expire after 60 seconds; hourly maintenance removes expired leases and classification-counter windows older than two hours in bounded batches. A newer request may replace an older hourly counter. Child deletion removes these records. Lease expiry and allowance eligibility are not promises of immediate physical deletion.

Short-lived access records: child magic links expire after 15 minutes and pending device approvals after 10 minutes. Expired link and approval records are removed after seven days, and PIN-attempt records after 30 days.

DNS creation and deletion records: private operation and profile references, state and timestamps help track provider work when a response is interrupted or uncertain. They do not contain DNS queries, school correspondence, child content or credentials. Confirmed deletion records are eligible for removal after 30 days; unresolved operations remain available for operator reconciliation rather than being reported as complete.

Optional DNS advisories: these emails are off unless you explicitly opt in in Family Settings. Turning them off cancels queued advisories; an email already sending may still arrive. Completed delivery metadata is eligible for removal after 30 days, through a bounded maintenance sweep, when transport acceptance was acknowledged or a cancellation occurred before any payload was prepared for sending. Acceptance is not proof that an email reached your inbox. Failed records, cancellations with uncertain transport acceptance, and other unacknowledged delivery records remain available for operator review. The application outbox stores identifiers, timestamps, retry state and a keyed payload fingerprint, not email addresses, email bodies or raw DNS queries.

Turnstile challenges: challenge tokens expire after five minutes and can be validated only once. Cloudflare's retention of Turnstile security signals and aggregated service analytics is governed by its Turnstile Privacy Addendum and Privacy Policy.

Abuse-prevention counters: Upstash rate limits use one-minute windows for practice-game requests and ten-minute windows for selected child-access requests, with automatically expiring keys. Canopy disables Upstash rate-limit analytics and sends only a scoped HMAC identifier, counter state, and expiry — not a raw IP address, account or child identifier, account content, PIN, device credential, approval credential, or link token.

Provider copies and backups: follow the provider's applicable retention and backup cycle. For example, Anthropic states that standard commercial API inputs and outputs are deleted from its backend within 30 days unless a different agreement, safety enforcement, or legal requirement applies.

We are continuing to formalise periods for other fields and provider copies. The 30-day child learning period above applies to the application database; provider backups and logs follow their own applicable cycles.

9. Your Rights and Your Child's Rights

As a parent or guardian, you have the following rights under UK GDPR in relation to both your own data and your child's data held by us:

To exercise a right, contact us at [email protected]. Rights depend on the circumstances and lawful basis. We normally respond within one calendar month and will explain if an extension or exemption applies.

10. ICO Registration

Mackie AI Enterprises Limited is registered with the Information Commissioner's Office under registration number ZC110311.

If you have concerns about how we handle your data that we have not resolved to your satisfaction, you have the right to lodge a complaint with the ICO at ico.org.uk.

11. Changes to This Policy

We will notify all registered parents and guardians of any material changes to this policy by email before they take effect. We will never make retroactive changes that reduce your rights or protections.

The date at the top of this page reflects when this policy was last updated.