Privacy

Privacy policy

TimesOwl is a kids practice app organized as households. This policy explains what we store for caregivers and learners, where it lives, and why we do not use third-party ad trackers.

Last updated September 18, 2026

Who this policy is for

TimesOwl is multiplication fact practice for children, usually with a parent or guardian nearby. The site is written for families. This policy is for the adult who is responsible for the household.

It explains what we collect, where it lives, who can see it, how long we keep it, and how to ask us to change or delete it. If a sentence here does not match what the product actually does, email us — the product wins, and we will fix the page.

A shorter summary you can read with a child is on the children’s privacy page. Cookie names and lifetimes are on the cookie notice. Using TimesOwl is also covered by the terms of use.

Who operates TimesOwl

TimesOwl is a small independent practice app at timesowl.com. It is not a school district, a textbook publisher, or an advertising company. When this policy says “we” or “us,” it means the people who run that site.

We do not currently publish a postal mailing address. Email is how to reach us. We do not have a separate privacy office, data protection officer, or outside law firm speaking for this product.

Households, caregivers, and learners

TimesOwl is built around a household, not a social network and not a classroom roster.

  • A household is one family on one account. Today a household has one caregiver login. The data model can hold more than one caregiver later; the product does not offer that yet.
  • A caregiver is the account identity: optional email and password after registration, plus the anonymous record we create on first practice. Analytics, feedback, and error reports hang off this row. The caregiver and a learner may be the same person (a kid who can type an email, or an adult practicing).
  • A learner is a practice profile inside the household: a first name you choose, stars, streak, session length, and the review schedule for each multiplication fact. Siblings do not share a schedule. In-app copy says “learner”; marketing pages often say “child.”
  • A browser session is tied to one caregiver and one active learner. Switching learners in the Hi menu stays inside the same household. We do not offer separate child logins or child-facing account settings.
  • Deleting this household is a parent action on Settings. You can also clear one learner’s practice history there without removing the profile.

Children’s privacy

TimesOwl is meant for kids, roughly ages 7 to 11, practicing with a grown-up nearby. We treat the person who registers — or who emails us from the household’s address — as the responsible adult for that data.

We do not sell personal information. We do not run third-party advertising or tracking pixels. We do not ask children for an email address, a phone number, a photo, or a public username in order to practice. Learners are not shown to other families. There is no chat, comments, or public profile.

Practice can start without creating an account. The first visit creates an anonymous household on our servers and a session cookie in the browser. The only first-run prompt is a learner name, so the app can greet the right person and keep siblings apart. Registering later attaches the caregiver’s email and password to that same household so progress can move to another device.

We do not claim a student-privacy certification or an FTC-approved kids-privacy seal. This page describes what the product actually stores. For the short version, see children’s privacy.

Information you give us

Most of TimesOwl can be used without typing an email. When you do type something, we store what you sent:

  • Learner display name — the first-run name gate, or a name you add when you create another learner. Names are limited in length. We do not verify that a name is a legal name.
  • Caregiver email and password, if you register. The password is stored as a hash (bcrypt). We do not store the password in plain text. There is no password-reset email yet; if you are locked out, email us.
  • Optional in-app feedback: a name, an email (copied from the account when we have one), an optional 1–5 rating, and a message. Feedback is read by the people who run TimesOwl. It is not posted publicly.
  • Anything you write in an email to us, including deletion or access requests.

Practice data we store

Spaced repetition only works if we remember which facts are due. For each learner we keep learning data, not a feed of everything they do on the internet:

  • Which multiplication facts were shown (the catalog is 2 × 2 through 12 × 12), whether the answer was correct, and roughly how long the answer took.
  • The review schedule for each fact: next review time, interval, ease, repetitions, and lapses. That is how the app picks the next card.
  • Practice sessions and individual answers stay about 90 days. After that we keep day totals and lifetime counts on the learner (how many cards they have answered, how many sittings) so Progress and the feedback gate still work. Clearing a learner’s history in Settings zeros those totals too.
  • Stars, current streak, longest streak, last practice day, and the session-length setting (1, 2, 5, or 10 minutes).
  • Progress views for the household: recent sittings, facts that need work, facts that are solid. That page is for the caregiver on this account, not for other families.

Information the product records automatically

Some data is created because a browser hit the site, not because anyone filled in a form.

  • Session identifiers: an opaque token in the `timesowl_session` cookie, and a SHA-256 hash of that token in our database. The raw cookie value is not stored.
  • First-party analytics: a visitor key in `tw_analytics_visit`, page paths, named events (for example starting or finishing practice), approximate time on a page while the tab is visible, first-touch referrer, UTM query parameters if a link included them, and the browser’s user-agent string. Details are in Analytics and the cookie notice.
  • Homepage experiment assignment: which headline package this browser was shown, in `tw_hero_exp`. We record whether practice started before that trial expired. Crawlers are not enrolled.
  • Error reports: exception name and message, a stack trace, the page path (query strings stripped), sanitized breadcrumbs, user agent, and a request id (`cf-ray` or similar). See Error reports.
  • We do not write IP addresses into the TimesOwl database. Cloudflare, which runs the site, sees IP addresses as part of ordinary HTTPS request handling and may keep them in its own logs.

Cookies

TimesOwl sets a small number of first-party cookies on timesowl.com. We do not use third-party advertising cookies, social “like” pixels, or remarketing tags.

The three cookies the app itself sets are `timesowl_session` (required to keep practice on this device), `tw_analytics_visit` (first-party usage counts), and `tw_hero_exp` (homepage headline experiment). Cloudflare may also set its own security cookies on the network path; those are Cloudflare’s, not TimesOwl analytics.

We do not currently show a cookie-consent banner. The session cookie is needed for the product to work. Blocking it means the browser will not stay signed in and anonymous progress will not stick. The full table is on the cookie notice.

Analytics

If we measure usage, we do it ourselves. There is no Google Analytics tag, Meta pixel, or other third-party tracker embedded on TimesOwl.

The first-party tracker records page views and a short funnel (landed on the site, clicked through to practice, opened the app, started a sitting, finished a sitting, practiced on a second day). It also records registration as an outcome, not as a required step. Engagement time is counted only while the tab is visible, roughly the way a product analytics tool would, so an abandoned tab is not treated as a long session.

A visit cookie lasts about 30 days. Sittings are split when events are more than about 30 minutes apart, so nightly practice is not one month-long “session.” When an event can be tied to a signed-in caregiver, we link it so we can tell which channels lead to families who actually practice. Admin routes are not tracked.

We use those measurements to see whether the site is confusing, which headlines help a parent start a sitting, and whether practice is being finished. We do not use them to build an advertising profile of a child, and we do not sell them.

Error reports and screenshots

When the app throws an exception, the browser may send a report to us so we can fix the bug. That report is first-party. We do not use a third-party error service.

The report includes a sanitized message and stack (email addresses in the text are stripped), the page path without query strings, and optional breadcrumbs. Repeated crashes of the same kind increment a count rather than storing every stack. If the client can capture the viewport, we store a screenshot as an object in Cloudflare R2. The database row keeps only an unguessable key and the content type — not the image bytes. Screenshot files are not listed in public URLs that a stranger can guess.

A screenshot is a picture of whatever was on screen, which can include a learner name, a multiplication fact, and stars. We use it to see the broken state, not to study the child. Access is limited to people who operate TimesOwl (the same admin surface used for other internal tools). We do not put screenshot keys in ordinary log lines.

What we do not collect on purpose

We try not to ask for more than the product needs:

  • No child’s email, phone number, or postal address.
  • No government ID, school ID, or class code. TimesOwl is not a school roster product.
  • No precise GPS location, contacts, camera roll, or microphone.
  • No payment card numbers. The app is free to use. There is no checkout.
  • No social-login buttons (no “Sign in with Google” or similar).
  • No third-party advertising identifiers or cross-site tracking pixels.
  • No public posts, chat, or user-generated content visible to other families.

How we use information

We use the information above to:

  • Run practice: pick the next fact, keep stars and streaks, show Progress to this household.
  • Keep you signed in on this browser, and switch the active learner when you ask.
  • Let a caregiver register so the same household can be opened on another device. Signing in on a new browser attaches to the registered account. It does not merge a different anonymous household from that other browser.
  • Count usage and headline experiments so we can tell if the site is working.
  • Diagnose crashes and security issues.
  • Respond when you email us or send feedback.
  • Enforce the terms of use, including abuse of the service.
  • Comply with a lawful request or protect someone’s safety if we have a concrete reason to.

Hosting: Cloudflare, D1, and R2

TimesOwl runs on Cloudflare. The people who operate TimesOwl see the data described in this policy. Cloudflare sees it as our infrastructure provider, under their terms with us, to run the service — not to advertise to your child.

  • Cloudflare Workers run the application at the edge (the code that answers timesowl.com and www.timesowl.com).
  • Cloudflare D1 is the application database. Households, caregivers, learners, sessions, practice history, review schedules, first-party analytics rows, feedback, and error metadata live there. It is a SQLite-compatible database operated by Cloudflare, not a spreadsheet we email around.
  • Cloudflare R2 holds error-screenshot bytes only. Practice data and emails are not stored in R2.
  • Cloudflare DNS and HTTPS terminate traffic. Request logs and our structured application logs go to Cloudflare Workers Observability. We redact secrets (cookies, passwords, tokens) before those lines are written. Logs are kept for a limited time set by the host, not forever in D1.
  • Fonts are bundled with the app and served from our origin. We do not load analytics or ads from other companies’ domains at runtime.

When we share information

We do not sell personal information, and we do not share it for cross-context behavioral advertising.

We share data with Cloudflare as described above, because that is how the product is hosted. If we add another processor later (for example email delivery, if we ship password reset), we will name it here before it handles household data.

A caregiver in the household can see that household’s learners and Progress. We do not show one family’s practice to another family.

We may disclose information if we believe we must in order to follow the law, a valid legal process, or to prevent serious harm. We may also share data if the product is transferred (for example if someone else takes over running TimesOwl); we would still expect it to be used to provide the practice app, not to become an ad dataset.

We may publish aggregated or de-identified figures that do not reasonably identify a child or a household (for example “how many sittings finished this week”).

How long we keep it

Anonymous households — no registered email — are marked to expire about 30 days after they are created. A scheduled job deletes those households. Caregivers, learners, sessions, and practice in that household go with them.

Registered households stay until the caregiver deletes them in Settings, asks us to delete them, or until we close the account for a terms violation. Session cookies last about 30 days; expired session rows are cleaned up even if the household remains.

First-party analytics keep a couple of days of named events plus UTC-day counters and sitting totals, long enough for the 90-day admin reports. Heartbeats are never stored as rows. Rows are tied to a visitor key and, when we know it, a caregiver id. They are not a public report.

Error metadata keeps one live sample per crash fingerprint and a count. Screenshot objects in R2 can be deleted when the report is no longer needed.

If you delete the household in Settings, we remove it from the application database. If you email a deletion request instead, we will remove it after we verify the request. Backups, logs, and the host’s own records may take longer to age out. We will not keep a household around “just in case” after a Settings deletion or a verified email request.

Security

No website is perfectly safe. We take ordinary care for a small practice app:

  • HTTPS on timesowl.com.
  • Passwords hashed. Session tokens hashed; the cookie is HttpOnly and SameSite=Lax, and Secure in production.
  • Sign-in is slowed down after repeated wrong passwords on that account.
  • Registration rotates the session token so an old anonymous cookie does not keep extra privileges. Sign-in always issues a new token rather than upgrading a token the browser arrived with.
  • Application logs redact cookies, passwords, and tokens. Error messages strip email addresses when they appear in crash text.
  • Admin tools (internal analytics, feedback, error screenshots) are not a public signup. Admin is granted on the account in the database, not from a button in the product.

Your choices

You can practice without registering. Clearing cookies or using a private window starts a new anonymous household; the old one is not merged, and it will expire if nobody registers it.

You can add or switch learners in the household from the Hi menu. You can log out, which drops this browser’s session row and leaves the household in place.

In Settings you can clear one learner’s history or delete the household. You can also email us from the registered address if you want a copy of what we have or you want the household deleted. We will verify emailed requests come from the caregiver before we act. If you cannot reach that inbox, we will ask enough questions to be reasonably sure we are not deleting the wrong family.

You can block or delete cookies in the browser. See the cookie notice. Blocking `timesowl_session` logs you out of the product.

We do not send marketing email today. If that changes, it will be opt-in and described here.

US state privacy rights

If you are in California or another US state with a consumer privacy law, you can ask us for access, correction, or deletion of personal information we have about your household, and you can ask us not to sell or share it. We do not sell or share personal information as those laws describe that term for advertising. We do not use it for cross-context behavioral advertising.

We do not use sensitive personal information (as those laws list it) to infer characteristics about a child. Practice data is used to schedule facts.

We will not discriminate against you for making a privacy request. Send the request to privacy@timesowl.com. We may need to confirm you control the caregiver email before we fulfill it.

People outside the United States

TimesOwl is offered from the United States. If you use it from another country, your information is processed in the United States and on Cloudflare’s network, which operates in several regions.

If you are in the European Economic Area, the United Kingdom, or Switzerland, the legal bases we rely on are the obvious ones for a free practice app: we process account and practice data to provide the service you asked for, we process security and abuse data as a legitimate interest in keeping the site up, and we process optional feedback because you sent it. You can ask for access, correction, deletion, or a copy, and you can object or restrict in the situations those laws allow, by emailing us. You may also complain to a local supervisory authority. We do not have an EU or UK representative.

Schools and FERPA

TimesOwl is a consumer site for families. It is not a school-provided system of record. We are not a “school official” under FERPA for your district. Homeschool families use the same household product as everyone else.

If a teacher happens to open timesowl.com on a classroom device, that still creates a TimesOwl household, not a district account. We do not offer class codes, SSO with Clever or Google Classroom, or student-information-system sync.

Changes to this policy

We will post updates on this page and change the “Last updated” date. If a change is material for an existing registered household — for example we start using a new kind of data, add advertising, or add a processor that handles learner records — we will say so in the product or email the caregiver when we can.

If we ever add a paid plan, payment processing, or email that is not a reply to you, this policy will name the vendor and the new data before that feature handles real households.

Contact

Privacy questions, access requests, and deletion requests: privacy@timesowl.com.

That is also the address for the terms of use and the cookie notice. In-app feedback is a separate form inside the practice app; it is read by the same people.