Direct Notice to Parents & Children's Privacy Policy
Effective October 17, 2026 • Notice version 2026-10-17.3 • Daniel Blake d/b/a Blake Learning Labs (North Carolina)
1. Who We Are & How to Reach Us
This service (BrAIny Lab) is operated by Daniel Blake d/b/a Blake Learning Labs, a sole proprietorship in North Carolina, USA. Because we collect information online from children under 13, this page is our Direct Notice to Parents under the FTC’s Children’s Online Privacy Protection Rule (16 CFR Part 312).
Operator: Daniel Blake d/b/a Blake Learning Labs
Mailing address: P.O. Box 312, Greenville, NC 27834, USA
Telephone: +1 (860) 888-7619
Privacy & deletion requests: privacy@blakelearninglabs.com
Billing & support: support@blakelearninglabs.com
Notice version: 2026-10-17.3
2. Direct Notice to Parents & Guardians (Summary)
- What we collect from your child: the ideas (text prompts) your child types or speaks into the Lab. We do not ask for a child’s name, email, address, phone number, birth date, photo or video. Filters block phone numbers, emails and street words, but no filter is perfect, so please remind your child not to type personal details.
- Voice typing is off unless you turn it on. The microphone button is hidden until you switch on “Allow voice typing” in the Parent Vault. That is a separate choice from your main consent, and you can switch it off at any time. When it is on, the button uses your browser’s built-in speech recognition: Chrome sends your child’s voice to Google, Edge sends it to Microsoft, and Safari (including iPad) sends it to Apple, under those companies’ own terms, to turn it into text. Google, Microsoft and Apple are not our service providers, we have no agreement with them, and we cannot delete what they receive. We receive only the resulting text, never the audio. Leave it off if you do not want this.
- How we use it: only to generate the story, picture, game idea or read-aloud your child asked for, to run safety checks, to enforce your daily limits, and to show you recent prompts. We do not use it for advertising, profiling, or training AI models, and we do not sell it.
- Who receives it: the service providers listed in section 4, only to perform those tasks. We do not disclose children’s information to anyone else. If we ever want to share it for a purpose that is not part of running the Lab, we will ask for your separate consent first.
- Your choices: you can review recent prompts, pause the Lab, change daily limits, revoke consent, and delete everything, at any time from the Parent Vault (sections 5 and 6).
3. Data Inventory
This table lists everything we hold or send, where it goes, how long it lives and how it is deleted.
| Data | Where it lives | Who else receives it | Retention | Deletion |
|---|---|---|---|---|
| Parent passphrase (salted hash only) | Our database (Supabase) | None | Until the family is deleted | Delete-all-data |
| Family code | Our database; the device’s browser storage | None | Until deleted / site data cleared | Delete-all-data (clears this device) |
| Parent controls (Lab on/off, daily cap, today’s count) | Our database | Cloudflare processes requests | Until the family is deleted | Delete-all-data |
| Prompt history: the first 180 characters of each of the 30 most recent prompts | Cloudflare Durable Object | None (shown to the parent in the Parent Vault) | 30 days, rolling; removed automatically | Automatic, or delete-all-data |
| Parent consent ledger: consent time, notice version, acknowledgement timestamp, Stripe invoice ID, amount, and payment status | Database (Supabase) | None | 3 years (§ 312.5 consent audit trail) | Automatic retention job |
| Security-event ledger: timestamp, action, hashed family code, outcome (no prompts, no child data, no IPs) | Database (Supabase) | None | 1 year | Automatic retention job |
| Prompt text while a creation is generated (up to 600 characters) | Not kept by us beyond the history above | OpenAI (safety check + story); fal.ai or OpenAI (pictures) | Provider retention periods (section 4) | We cannot delete provider-held copies |
| Story text sent for read-aloud (when OpenAI voice is selected) | Not kept by us | OpenAI | Provider retention periods (section 4) | We cannot delete provider-held copies |
| Consent and billing record: status, plan, Stripe customer/subscription IDs, consent time, notice version and acknowledgement time, invoice ID and amount | Our billing state store (Cloudflare Durable Object); customer-to-family link in our database | Stripe is the source of payment data | While the account exists; deleted 30 days after cancellation or revocation | Delete-all-data |
| Parent email, billing address, card details & Stripe customer record | Stripe only. We never receive card numbers and we do not store your email address. Stripe customer record is deleted on wipe, after 14 days unpaid, or 30 days after cancellation/revocation | Stripe | Stripe’s own statutory financial/tax retention | Stripe customer deleted by our retention/wipe API; Stripe retains payment audit records |
| Saved creations (stories, pictures, printables), voice-narration counters | Only in the browser on the device used; never sent to our database | None | Until cleared | Delete-all-data clears the current device; clear site data on other browsers |
| Device address (IP) and request logs | Used in memory for rate limiting; not written to our database. Our hosting provider may keep network logs under its own policy | Cloudflare | Provider policy | Not under our control |
4. Service Providers
Receives prompts for safety moderation and story writing, finished story text for the safety check and for read-aloud voice, and (if image generation falls back to it) picture prompts. Under OpenAI’s published API terms it may keep requests for a limited period for abuse monitoring unless an organization has zero-data-retention approval. We have not obtained zero data retention and do not claim it. We have not authorized OpenAI to use children’s information to train models.
Receives picture prompts when image generation uses fal.ai. Generated images are fetched by our server and delivered as inline data to your child’s browser, so your child’s device never connects to fal.ai directly. We have not authorized fal.ai to use children’s information for model training.
Hosts the site and runs our server code and our billing and security state store. Cloudflare processes every request, including the device’s IP address, and may keep network logs under its own policy.
Hosts our database (see the data inventory). It may keep encrypted backups for a limited period; deleted data ages out of those backups on the provider’s schedule.
Collects and processes parent payments and verifies the parent through a paid transaction. Stripe, not us, holds your email, billing address and card. Stripe keeps payment records as required by financial regulations.
Not our service provider. If you allow voice typing, your child’s browser sends their voice to the browser maker (section 2). Our pages load no fonts, scripts or other files from Google, Microsoft, Apple, or any other outside host.
We do not permit any provider to use children’s information for advertising, data brokerage or AI-model training. We obtain standard commercial terms of service and data processing addenda (DPAs) where offered by our providers to ensure data is handled confidentially and securely, pending complete verified written certifications (see vendor assurances documentation).
5. How We Verify Parental Consent (§ 312.5)
- Notice first. Before checkout you must tick a box confirming you are the child’s parent or legal guardian (18+) and have read this notice. We record the notice version and the time you ticked it.
- Paid transaction. You pay on Stripe’s secure page with a credit card, debit card or other payment system that notifies the account holder of each transaction (§ 312.5(b)(2)).
- Server-confirmed. The Lab unlocks only after Stripe confirms to our server, with a signed message, that a charge above $0 succeeded. A free trial, a 100% coupon, or an unfinished checkout does not count as consent.
- Evidence kept. We keep a minimized consent audit record (time, notice version, acknowledgement timestamp, Stripe transaction references, and payment funding type) in an isolated consent ledger for 3 years following account cancellation, revocation, or deletion, strictly for regulatory accountability under 16 CFR § 312.5. It contains no prompts, child creations, or child personal data.
- Access follows billing. If a payment fails or the subscription ends, the Lab locks until payment succeeds again.
Revoking consent. In the Parent Vault choose “Revoke Consent & Cancel Subscription” (or email privacy@blakelearninglabs.com). The Lab locks immediately, billing is cancelled, and your data is deleted 30 days later unless you delete it sooner.
Disputes and refunds. A dispute on the consent charge or a refund immediately revokes parental consent and locks the Lab.
6. Your Rights: Review, Delete, Refuse Further Collection
- Review: the Parent Vault shows the recent prompts we hold (up to the last 30 days).
- Pause: the “Lab active” switch stops all generation immediately.
- Delete everything: “Cancel Subscription & Delete All Family Data” (passphrase required) first cancels your subscription, then immediately purges your family workspace, passphrase hash, parent controls, prompt review history, and Stripe customer mapping from our production database, Durable Objects, and Stripe customer records, and clears saved creations from the local device you are using. To satisfy legal accountability requirements under COPPA § 312.5, a separate minimized consent audit record (documenting the notice version, acknowledgement timestamp, transaction reference, and verified deletion completion timestamp, but containing no child prompts or personal data) is preserved in an isolated consent ledger for 3 years before automated purging. We only report success after deletion is confirmed; if any store deletion fails, we report an error and nothing is marked purged.
- What deletion cannot reach: Stripe’s payment records; copies a provider may still hold under its own retention period (section 4); backups that age out on the provider’s schedule; and creations saved in other browsers or devices, which you can clear by clearing that browser’s site data for this site.
- Lost your passphrase? Email support from the address on your Stripe receipts; we verify it and send a one-time reset code.
7. Data Retention Schedule (§ 312.10)
We retain children’s personal information only as long as reasonably necessary to fulfill the purpose for which it was collected, and delete it using reasonable measures to protect against unauthorized access or use (§ 312.10). An automated retention job running hourly (at minute 17 UTC) enforces these limits continuously across all stores:
| Purpose | Where it lives | Retention period | Deletion trigger | How verified |
|---|---|---|---|---|
| Active Lab operation (family code, passphrase hash, parent controls) | Database (Supabase) | Until deleted or 30 days post-cancellation | Parent delete-all-data request, or 30 days after subscription cancellation/revocation | Automated hourly retention worker & integration tests |
| Parental prompt review (recent 30 prompts) | Cloudflare Durable Object | 30 days, rolling | 30 days elapsed since prompt, or parent delete-all-data request | DO rolling purge logic & automated hourly retention worker |
| Parental consent audit trail (§ 312.5 proof) | Database (Supabase consent_ledger) | 3 years | 3 years elapsed after subscription cancellation, revocation, or wipe | Automated hourly retention worker |
| Security audit & breach investigation | Database (Supabase security_events) | 1 year | 1 year elapsed since event timestamp | Automated hourly retention worker |
| AI story, image, and voice generation | Server memory in-flight only; not stored on our disks | Transient transit only | Immediate completion of the HTTP response | Stateless worker design & code audit |
| Unverified / abandoned setup | Database & Cloudflare Durable Object | 14 days | 14 days elapsed without verified payment | Automated hourly retention worker & Stripe customer deletion |
| Cancelled or revoked subscription grace period | Database, Durable Object & Stripe customer record | 30 days | 30 days elapsed after cancellation/revocation | Automated hourly retention worker & Stripe customer deletion |
8. Information Security Program (§ 312.8)
We maintain a written information security program. Daniel Blake is the designated security coordinator. Safeguards in the product include:
- All AI-provider and payment keys live only on the server, never in the browser.
- The Parent Vault is protected by a passphrase that is salted, hashed and checked on the server, with automatic lockout after repeated wrong attempts.
- Every request is limited to its own family; unknown family codes are refused and never auto-created.
- Payment events are accepted only with a valid Stripe signature.
- Every prompt and every AI reply is safety-checked, and the Lab refuses to run if the safety check is unavailable.
We review these safeguards and document a risk assessment at least once a year.
9. Changes to This Notice
If we change what we collect, how we use it or who receives it in a way that matters, we will publish a new notice version and ask you to acknowledge it again before you subscribe or continue. For privacy questions or to exercise any right above, write to privacy@blakelearninglabs.com.