Privacy
The short version: your child's work stays on your device, unless you choose to send a worksheet to be marked or have a piece of writing read, and the three features that talk to a server, Kit, worksheet checking and Kit reading a piece of writing, are described in full below.
What is stored, and where
LearningKit runs entirely in your browser. Profiles, scores, medals, saved questions and game progress are written to your browser's own storage on the device you are using. They are not uploaded, not backed up to us, and not visible to anyone else, including us.
There is no account, no email address, no password and no login. We do not know who uses this, or how many people use it. Nothing is sent to us in the background: the only things that ever cross our server are the three features described below, Kit, worksheet checking and Kit reading a piece of writing, and only when someone asks for them. What each one sends is set out there, along with the little our server keeps afterwards.
What the app does not do
- No analytics or tracking of any kind inside the app.
- No advertising, and no advertising identifiers.
- No third party scripts in the app. Even its fonts are served from our own domain rather than a font service, so reading lessons and practising sends nothing anywhere. The exceptions are Kit, the optional tutor, worksheet checking, and Kit reading a piece of writing. All three are described below, and none of them sends anything until someone asks it to.
- No cookies used to identify or follow a child.
This website is counted. The app is not.
The app tracks nothing, ever. Whether it is installed, open in a tab, or running with the aeroplane on, LearningKit measures nothing and sends no events. The only server it sends anything to is ours, and your child's work goes there only when a child asks Kit a question, a grown-up sends a worksheet to be marked, or a grown-up has a piece of writing read. The app does knock on our door at other moments: to add a key, to check one, and to ask how many credits are left when Kit, the profile menu, or the grown-up's section opens. Those carry the key or the device's activation token, and nothing of your child's. One thing can travel elsewhere: the audio from the microphone in Kit, which your own browser handles and may process on the browser maker's servers. All of that is described below, and none of it is analytics. Every line in the list above stays true for a child using it, and none of what follows applies to them.
These pages are different, and it is only fair to say so on the page making the promise. The website uses two counters:
- Google Analytics, which sets a cookie in your browser and tells Google which page you are reading, what sort of device you used, and roughly which part of the world you are in.
- Cloudflare Web Analytics, which sets no cookie at all and reports little more than which countries visitors come from.
Between them they tell us how people find the site and which pages are worth keeping. Neither knows who you are, neither follows you to other websites, and neither can see inside the app: they run on these pages and stop there.
Backups are yours to move
Because progress lives on one device, you can save a backup file from the profile menu at any time and restore it on another device. That file is written wherever your browser saves downloads, and it never passes through us.
Deleting everything
Removing a profile in the app deletes everything belonging to that child from the device. Clearing the site data for the app in your browser settings removes all of it at once.
Children
LearningKit is built to be used by a child, usually with a parent nearby. There is no account, so there is nothing for a child to sign up with: no email address, no password, no date of birth. The name on a profile is typed by you, is there only so a child can find their own tab, and never leaves the device.
Three things deserve saying plainly here, because they are where a child's own details could travel. The first is a photo of a worksheet. A school worksheet usually has the child's name written at the top, so a photo you choose to send to be marked may carry that name, and it carries their handwriting either way. That photo goes to us and on to the marking service and comes back as marking. We do not keep it, the service is told not to store it, and nothing that was on the page is written into our records. The marking that comes back can repeat what was written on the page, including that name, and you can choose to save it on your own device; the full account of both is in "Checking a worksheet" below. If you would rather the name did not travel at all, fold the top of the page over or crop the picture before you send it. The marking reads the questions, not the name.
The second is the box a child types into when asking Kit. Whatever they type is sent word for word, so a child who writes their own name into a question sends that name with it, and nothing on our side takes it out. We keep no conversations and the model that answers is told not to store them, but it is worth telling a child that Kit only needs the question, never who is asking.
The third is a piece of your child's own writing. A finished piece can easily include a name, a school or other detail your child chose to write, and if you have Kit read it, that text is sent exactly as written, then read and not kept: we keep no copy of the piece itself, only a one-way fingerprint of its text, and the model is told not to store it either. If you would rather a detail did not travel, the easiest thing is to leave it out of the piece before asking for a reading, the same way folding over a name works for a worksheet photo.
Kit, the optional tutor (the paid part)
Kit is a lesson helper a child can ask questions while reading a lesson. It is one of the three parts of LearningKit that talk to a server, it is off until a grown-up unlocks it, and it is unlocked by a prepaid key: no account, no email address and no password are needed to use it.
When your child asks Kit something, what leaves the device is the work on screen and the conversation about it: the lesson page or practice question they are looking at, which lesson it belongs to, the question they typed, and the chat so far. If they have already answered, the answer they chose goes too, together with the correct answer and the app's own explanation of it, because Kit cannot teach a wrong answer it has not been shown; before they answer, none of those three is sent. The device's activation token goes with all of it (a random code that proves credits remain; it identifies the device, never the child). Our server passes that work and the conversation to a large language model (an AI service) to generate the answer, and tells the model not to store the conversation. The answer comes straight back. The app sends no name, no profile and no scores. The one name that can travel is one your child puts into the question box themselves, by typing or by speaking, which is why the Children section above says so plainly.
When your child taps the microphone in Kit, their words are turned into text by your browser's own speech recognition. Depending on the browser, that can mean the audio is processed by the browser maker's servers (Google for Chrome, Apple for Safari) rather than on your device. The microphone only listens after a tap and stops by itself, nothing is recorded or stored by this app, and the words appear in the typing box for your child to check before anything is sent.
What our server keeps: a fingerprint (a one-way hash) of each key, its remaining credits, and a coded marker for each lesson page or practice question Kit has helped with, so asking again about the same page or question is free. It keeps no conversations, no questions and no names. Your child's own device is a different matter: recent Kit chats are kept there, inside your own backups, and none of that text is ever sent to us. Opening Kit, or tapping it by accident, costs nothing: a credit is only used when Kit fully answers a question. A cancelled key is kept as a fingerprint-and-balance record for bookkeeping, and nothing more.
Checking a worksheet
A grown-up can photograph a page of your child's written work and have it marked. This is the second part of LearningKit that talks to a server. It sits behind the same prepaid key as Kit, it lives in the grown-up's section, behind a PIN or your unlock key, rather than in the lessons, and it happens only when you ask for it.
Tapping "Take a photo" or "Choose a photo" is the whole of the consent. There is no setting that leaves this switched on: you are choosing to send that one photo, and choosing once says nothing about the next one. Before it leaves, your own device shrinks the picture so that its longest edge is at most 2000 pixels and saves it as a JPEG, so a full size camera photo is cut down on your own phone rather than uploaded whole.
Three things leave the device: the photo, a one-way code worked out from the photo's own bytes, and the device's activation token (a random code that proves credits remain; it identifies the device, never the child). The app sends no name, no profile and no scores. The one name that can travel with a photo is one written on the page itself, which is why the Children section above says so plainly.
Our server passes the photo to a large language model (an AI service) to do the marking, and tells it not to store the request. Being told is the honest limit of what anyone can promise you about somebody else's machine, so it is put plainly rather than dressed up. The marking comes straight back to your browser and is held there while you read it. It is not written into your backup file, and nothing about it is saved unless you ask: leave the screen without tapping the button that saves it and it is gone.
Our server keeps none of it: not the photo, not the marking, not the words read off the page. None of that is written to our records or our storage, and our logs hold only sizes, counts and whether the photo could be read at all, never anything that was on the page. Beyond the key fingerprint and balance described above, the one thing our server keeps is the same sort of coded marker it keeps for Kit: the one-way code from the photo, which cannot be turned back into the photo, so that sending the same sheet again is free rather than charged twice.
Saving a marking is a second choice, and it is yours. At the top of the marking there is a button that saves it on that device. Tapping it is the whole of the consent, exactly as tapping to send the photo was, and tapping once says nothing about the next sheet. A device holds at most five markings this way, newest first, and saving a sixth drops the oldest, which the screen says before you tap. What is stored is the marking itself, the date and the subject of the sheet: never the photo, and nothing worked out from the photo. It stays on that one device, it is not written into your backup file, none of it comes to us, and it is deleted when you delete the child's profile.
Marking a sheet costs 1 credit. A photo too blurred, dark or cropped to mark honestly costs nothing, and neither does a page with nothing on it to mark: you are only ever charged for marking you can use.
Reading a piece of writing
A grown-up can have Kit read a finished piece of your child's own writing and reply with what it notices. This is the third part of LearningKit that talks to a server. It sits behind the same prepaid key as Kit and worksheet checking, in the Writing topic, where a child's finished pieces are kept. Seeing or keeping a piece of writing needs no key at all: only having Kit read it and reply does.
Tapping "Mark with Kit" is the whole of the consent. There is no setting that leaves this switched on: choosing to have one piece read says nothing about the next one.
What leaves the device is the piece itself and the task it answered: its form, its audience, the prompt, and any points it was asked to cover. The app sends no name, no profile and no scores. The one detail that can travel is whatever your child wrote into the piece themselves, which is why the Children section above says so plainly.
Our server passes the piece to a large language model (an AI service) to read it, and tells it not to store the request, the same limit put on Kit and on worksheet checking. Kit is asked to reply with what it notices only: two to four things done well, one thing to try next time, a short closing line, and a line on whether the piece did the task it was set, never a number, a grade or a level of any kind. The shape the model must answer in makes a number impossible to include, and the app strips one out defensively as well, on the way into storage, in case a future change ever let one through.
Our server keeps none of the piece and none of the reading: not the words, not the reply. Our logs hold only the piece's length and whether Kit could finish reading it, never the words themselves. Beyond the key fingerprint and balance described above, the one thing our server keeps is the same sort of coded marker it keeps for Kit and for a worksheet photo: a one-way fingerprint of the piece's own text, so reading the same piece again is free rather than charged twice, and a piece your child rewrites is a new piece to read and a new charge.
Kit's reading is kept differently from a worksheet marking, and on purpose. It is written onto the piece itself and travels inside your backups along with it, because a piece of writing is your child's own work, and losing sight of what Kit said about it would cost more than a score ever would. Each lesson keeps five finished pieces at a time, oldest dropped first, and Kit's reading goes with whichever piece it was written on.
Having a piece read costs 1 credit. Reading it back, at any time, costs nothing.
The paid version
Kit, worksheet checking and Kit reading a piece of writing, all above, are the whole of the paid version today: one prepaid key, no account to create, no subscription to buy. If more is ever added, anything that collects data will be opt in and described in full here before it ships, and the offline app would keep working even if the server went away entirely.
Your credits do not expire, and if Kit ever stops, you get your money back. A prepaid key keeps its credits for as long as Kit runs, with no expiry date and nothing recurring. Because that is an open-ended promise, here is what stands behind it: if we ever had to retire Kit, we would give at least 90 days' notice on this site first, and refund the unused credits on every key, worked out from what was paid. The free app, every lesson, question and game, would keep working regardless, because none of it depends on Kit or on our server.
Changes
If any of this changes it will be described here before it ships rather than afterwards.
Open LearningKit