Anyone
Service Providers
Every third party that receives any information, what it receives, and where it is.
Version 2026-09-30
The complete list
These are all of them: four companies in the United States, and the speech engine of the device a child is using. RodriMath loads no third-party script, no font from a font service, no analytics, no advertising and no content delivery network — the browser is prevented from fetching one by the security policy the product sends with every page.
Supabase, Resend and Stripe each process information only on our instructions, under a data-processing agreement that forbids any use of their own. Vercel runs the software under its standard terms of service.
- Supabase (Supabase Pte. Ltd.) — the database, and adult sign-in with its own emails that confirm an address or reset a password. It holds everything described in the Privacy Policy. The data is stored in the United States, in Ohio.
- Vercel, Inc. — application hosting, and the scheduled jobs that delete expired records and send the progress emails. Requests pass through it; nothing is stored beyond short-lived operational logs. United States: the software runs in Cleveland, Ohio.
- Resend (Plus Five Five, Inc.) — delivery of the email RodriMath itself sends, all of it to adults: decisions about an account, invitations, notices that somebody is waiting for an answer, consent and erasure receipts, replies to support questions and enquiries, a school's authorisation request, purchase orders and invoices for a school's office, the notices about a plan — its confirmation, the notices before it renews, the yearly reminder on a monthly plan, a change of price, the receipt when a child comes back from a break, and the end of the free days — and the progress emails: the weekly summary, and alerts when a child masters something or is stuck on the same thing. Progress emails are on unless the adult turns them off in their settings. Resend receives the recipient's address and the message. A message about a child carries that child's first name, and a progress email says what they mastered or where they are stuck. It receives no answer a child gave and no identifier beyond the first name in the text. Open and click tracking are switched off, and the product will not send if it can see that they are on. United States.
- Stripe, Inc. — payments. A parent or a tutor who chooses a plan is sent to Stripe’s own page, and RodriMath never sees the card: Stripe receives the paying adult’s email address, the amount, a household or account reference and, for a household, the number of children the plan covers. A school that pays an invoice by card or bank debit does so on Stripe’s page too, and Stripe receives the school’s name, its billing email address and the purchase-order references. It receives no child’s name and nothing else about a child. Stripe tells RodriMath what happened — paid, failed, stopped — and RodriMath keeps one sentence per event, never the payload. United States.
- The viewer’s own browser speech engine — the words on the screen, when read-aloud is used: questions, lesson steps, stories and the world’s moments. Provided by the device or its browser maker. We ask for a voice that runs on the device wherever one exists; on some devices the only voice is one the browser maker provides over the network. A child’s name is never read out, and nothing identifying the child accompanies the words.
What is deliberately absent
No advertising network. No analytics provider. No error-reporting or session-replay service. No content delivery network. No payment processor in the browser: an adult who pays is sent to Stripe’s own page, and Stripe is the only party that ever sees a card. No customer-messaging or support widget. No artificial-intelligence service is called while the product is running, and no student information has ever been used to train a model.
No tracking pixel in any email. A delivery provider will normally embed an invisible image to report who opened a message and when; that is a record of a parent's reading habits, held by a third party, in exchange for a statistic nobody here needs. It is switched off, and the product checks the setting before it sends and refuses to send if it finds tracking on.
Why another cannot be added quietly
The content security policy the product sends with every page permits no external origin at all. A script added by a future dependency cannot load, because there is nowhere for it to load from. That is what makes this list checkable rather than merely asserted: the policy travels in the response headers of every page, so anyone can confirm from outside that nothing else is permitted to load.
That covers anything running in a browser, which is where a tracker would be. It does not cover a provider the server itself calls, which is what Resend and Stripe are — so those are held to a different check: every event Stripe sends is recorded once, as a sentence, in a table the audit log sits beside; and every message the product sends is written to the audit log, with the recipient's address shortened, whether it went out or not. A district asking "what was sent about this child, to whom, and when" is answered from the log rather than from our word.
Changes
Schools and districts are told before this list changes, as the School and District Terms commit us to. This version is dated 2026-09-30.
To be told when it changes, or to ask anything about it, write to hello@rodrimath.com.