Courses
Terms of Use & data notice
What this site stores about you, who can see it, and how to have it removed. Written plainly, because a notice nobody can read isn't notice.
Last updated 3 October 2026
The short version
- You can read every free unit without an account. Nothing about you goes into our database when you do: the page you opened adds 1 to a counter and that is the whole record — no cookie, no id, nothing that could be traced back to you later. See how visits are counted.
- If you sign in, we store your name, email, and your coursework — answers, code you submit, and time-on-task.
- If you join a class, your teacher can see all of that for their class.
- During a live session, your teacher can see that you're connected, by name. A marker on screen tells you when that's happening.
- We don't sell anything about you, and there is no advertising on this site.
- Ask us to delete your data and we will. Contact is at the bottom.
Who runs this
This site and its courses belong to Battlesuit LLC, an Ohio company. Dan Adiletta owns the company and writes the courses.
If you're using this site as part of a course at a school, your school has its own policies covering student records. This notice describes what this site stores and sits alongside those policies rather than replacing them; where the two disagree about school data, your school's policy governs. Ask your teacher if you're unsure which applies.
Reading without an account
Most of the site is readable signed out, and in that state nothing about you is written to our database — there is no row anywhere with your name on it, because there is no account. One counter for the page does go up by one; it holds no identifier, and how visits are counted says exactly what that does and does not record. Your progress is kept only in your own browser, in local storage, under these names:
beliefs.v1.completed,beliefs.v2.*— units you've marked read, checkpoint results, your reading-width setting, your place in an outline deck, and a note that an older key was migratedprogress.v3.*,lms.v3.courses— the same progress, per course, in the current formatlms.v3.key,lms.v3.courseKeys,lms.v3.pendingKey— that you redeemed an enrollment key, and the key itself, so this browser can keep opening what it unlocked. A key you typed before signing in is dropped after 30 days.lms.v3.effects— whether you've switched the on-page animations offlms.v3.spark.pace,lms.v3.credit.offered,lms.v3.harder.offered,lms.v3.retry.offered,lms.ageAsk.raisedAt,lms.v3.story.zoom,lms.v3.renamed.csj— when Spark last nudged you, offered to ask about extra credit, offered a harder question or offered points back, when you were last asked your birth year, the planner's zoom, and a note that a course's old name was updatedlms.v3.desk,lms.v3.desk.tograde*,lms.v3.present.collapsed,incident-ack:*— teachers only: desk layout and notices already read
Some more are kept in session storage, which the browser deletes when the tab closes: lms.v1.pulse, which holds nothing but the fact that some page has already been opened in this tab (it is what tells a visit from a page view, and precisely why it cannot recognise you tomorrow); lms.v3.session, lms.v3.revealed:* and lms.v3.donow-*, the live lesson this tab joined, which of its questions you answered and which answers were shown; lms.v3.exp.dismissed, panels you closed; lms.linking and lms.stale-reloaded-at, for a sign-in or a reload in progress; and for teachers, lms.v3.present, lms.v3.desk.class and lms.v3.deskguide.
These are not cookies. None is sent to us except the enrollment key, which goes with each locked page you open so the server can check it. Signing in adds one more, your sign-in session, under a name beginning sb-. Clearing your browser's site data erases them all, and erases that progress with them.
If you sign in
You sign in with Google, Discord or GitHub, whichever you choose. We never see your password. From that account we store your email address, display name, and profile picture URL, and for Discord or GitHub, its username.
Once you have an account, these are stored on our server:
- Progress — which units you've marked read, your checkpoint results and where you left off, so they follow you between devices.
- Answers — for each question: what you picked, whether it was right, how many attempts, when, and which College Board standards it was tagged with.
- Code you submit — the full text, plus the automated analyzer's findings, plus any rubric score, written feedback, or Loom video link a teacher leaves, and when you first saw the mark and first opened its breakdown.
- Suggested marks — before grading work that has a rubric, your teacher may ask Claude, an AI assistant made by Anthropic, to read it and draft the scores and a short comment. Your teacher checks each one and changes what they disagree with, and nothing is a grade until they save it. The draft is kept beside the grade. Your teacher and the overseer can read it. It is not shown with your scores; your data download includes it.
- Work in progress — what you've typed into a code box, a page editor or the project planner and not handed in yet, saved a couple of seconds after you stop typing so it follows you to another computer. Your teacher, the overseer and a parent you invite can read it. Handing in a code answer deletes its draft; the hand-in is the record from then on. Signed out, it stays in your browser as before.
- Help requests — when you ask for help on homework: which homework, the note you wrote, when, and your teacher's reply. Your teacher, the overseer and a parent you invite can read it. It is kept after it is answered, so you can read the reply again.
- Time on task — seconds a unit's tab was actually visible, and how many times it lost focus.
- Your school — which school your account belongs to. It comes from a school Google account (Google tells us its domain, such as
yourschool.org), or from the class you join, or for a teacher from the name they type. Your account page shows it and where it came from. In a class it changes nothing about who teaches you. It does decide which school's overseer can see your work, and in a course you take on your own, which teachers at your school can (below). If you are an overseer, your name and profile picture are shown on the account page of everyone at the school you are assigned to. - Access events — when your account was created, when you signed in or out, and when you redeemed an enrollment key.
- Discord servers — when you sign in with Discord, or link it on your account page, Discord shows us the list of servers you're in, once, at that moment. We look for two and keep nothing else from the list. If you're in the Literary Cleveland writers' server, Novelist is added to your account and we note that you're a member. If you're a student in a class, we record whether you're in Dan's own Discord server, and Dan is told if you are. That server is for his work as a writer, not for his students. Dan and the overseer can read this, and your data download includes it.
- Your Story Circle document, if you use the planner in Novelist — chapters, characters, timeline, and any character portraits you upload. Portraits go in a private bucket and are served over short-lived signed links, never a public address.
- Feedback you send from the menu on your name — what you wrote, the page you were on, the size of your window, any text you had highlighted, and a screenshot if you chose to attach one. A question you flag as wrong, a Yes when Spark offers to ask about extra credit, and a Yes when Spark offers to add points your practice earned back, are sent the same way. That last one also raises the score on the questions it names, with a note saying practice did it. Nothing is captured until you ask for it: your browser asks which window to share, and the highlighted text is shown to you with a button to drop it before anything is sent. Screenshots go in a private bucket on the same terms as portraits.
- Page errors — if a page breaks while you're using it, we record the error, which browser you were using, and that it was you who hit it, so it can be fixed. This one is automatic: unlike feedback, you don't ask for it. It holds the fault and your name, never what you had typed.
- Failed access codes — if an enrollment key is entered wrongly, the IP address it came from is kept for two hours and then deleted, so nobody can sit and guess codes. It isn't linked to your account and it isn't kept as a record of you.
The site administrator (Dan) can read profiles and access events across all courses, because someone has to be able to fix an account that's broken. Teachers cannot — a teacher only ever sees their own class, and the courses students at their school take on their own.
One other teacher can see your work: the overseer. Dan designates a second teacher at the school who can read every roster at that school and everything its students do here, in every course, including one you bought for yourself — your hand-ins, your marks, the feedback you got back, feedback you sent us, your check-ins, work you haven't handed in yet, the help you asked for on homework, marks drafted for work not yet graded, and every unit as you read it. An overseer sees only their own school's students. You are one of a school's students if your account belongs to it, if you are in a class taught there, or if a pass link for that school gave you a course. In a class they can look but not change anything: no marking, no editing, no removing you from a class. The one thing they can mark is work in a course you take on your own. Your account page shows who it is at your school.
Two reasons it exists, and neither is that somebody doesn't trust you. If Dan is unavailable — out sick, on leave, gone — your full record should still be reachable by somebody who can act on it. And a place where students hand work in shouldn't be private between one teacher and one student, with nobody else able to look. The overseer does not see Dan's own writing or the business side of this site, and they cannot see your Story Circle document either.
Feedback goes to Dan, not to your teacher, even when your teacher is Dan's colleague and the note is about their class. You are talking to the person who built the page. Your school's overseer can read it too, so they can see what students run into here; they cannot change or answer it.
The one exception is your Story Circle document. Nobody can read it but you — not a teacher, not the administrator. It is a half-finished novel, not coursework, and the database is set up so there is no way to look at yours.
What the paste share can and cannot show
A long-answer code question also records what share of your final answer arrived by paste rather than typing. It cannot tell anyone what you pasted or where it came from — an IDE, your own notes, or somewhere else — only the share. It is a reason for a teacher to ask how you're doing on a question, not evidence of anything, and it is never shown on this page or anywhere else you can see your own scores — only in the teacher's own grading queue.
What time-on-task can and cannot show
It counts only while the tab is visible, so it's time spent reading rather than time since you opened it. It cannot tell anyone where you went when you left, it doesn't notice a second window open beside this one, and on a phone it counts notifications and screen timeout as leaving. It is a reason for a teacher to ask how you're doing. It is not evidence of anything, and it is described that way to teachers in the gradebook itself.
If you join a class
Joining with a class code adds you to that class's roster. From then on, the teacher who owns that class can see, for that course: your name and email, your answers and mastery by standard, your code submissions, work you've started and not handed in, your time-on-task figures, and the class meetings you were at, with your answers and points in each. Other students cannot see any of it. Teachers of other classes cannot see it either.
If you invite a parent from your account page, they can see your classes, the units you've worked through, how your answers are going, work you haven't handed in yet, and help you asked for on homework, with the reply. They cannot answer anything or post as you, and you can remove them at any time from the same page.
A teacher can remove you from a roster. Doing so stops their access; it does not delete your work, which stays yours.
If you take a course on your own, outside any class for it, and your account belongs to a school, the teachers Dan has named at that school and its overseer can see your progress in that course: the units you've finished, how your answers are going, and what you hand in. Any of them can mark your hand-ins, and you see who did. A course you bought for yourself is the exception: your school's teachers do not see it, and Dan marks it. The overseer can still read it, like everything else you do here. If your account has no school, a course you take on your own stays between you and Dan. A pass link can name a school, and the page it opens says which. A course you get from that link belongs to that school, whatever account you sign in with.
What can be graded, and what can't
A course here is allowed to put a number next to your name only if it is built out of three things: skills — what you are being asked to do — learning objectives underneath them, written as actions you can perform, and knowledge topics underneath those. Computer Science in Java is built that way. That is the only reason a score in it means anything: every point traces back through an objective to something you were told you would be able to do.
Anything not built that way is ungraded, and says so on the page. Novelist is ungraded and will stay that way — its units are convictions about craft, and a conviction is not a competency. Progress there is which beliefs you have marked read and which quick checks you have answered. It is never totalled, never turned into a percentage, and never sent to a gradebook.
This is enforced in the database and not only in the interface: a class meeting is the only thing on this site that turns an answer into points, and one cannot be opened for a course that has no skills, objectives and topics of its own.
Live sessions
A teacher can run a live session for a class they own. While a session is running:
- You see a “live” marker on screen. It is showing for exactly as long as the session is, and it cannot be running invisibly.
- Your name is visible to your teacher, so they can see who's connected — nothing about which page you're on, what you're doing, or how you're scrolling is sent.
- Your teacher can ask the class a check-in question. If you answer it, that answer is sent too — see below for what happens to it.
- Your teacher can put a question or a poll on the screen. If you answer, your answer is sent and kept, and your teacher sees it with your name. So are your answers in a class meeting, which is how they earn points.
What is not sent: your scores, which page you're on, how far down a page you've scrolled, anything at all once the session ends, and anything whatsoever from any other tab, app, or website. This site can only ever see this site.
Check-in questions
During a session a teacher can ask the class a question — a 1–10 slider (“how's your stress today?”) or a short open response (“what are you excited about?”).
- The class never sees who said what. A slider question is shown to the room as a distribution only; an open question is shown as answers shuffled into an order with no names attached. This is enforced by the database, which has no rule that would let one student read another's answer — not merely by how the page is built.
- Your teacher does see your name with your answer. That is deliberate: a check-in nobody can act on is a wasted question. The panel you answer in says so, above the question.
- So does the overseer — the second teacher who can see everything at your school. That is a change made in September 2026, and it is worth saying plainly why: a check-in is the one place here where you might tell us something that one teacher should not be the only adult to have read. If that happens, somebody else should be able to look into it. It is the same person described under “One other teacher can see your work” above, and they can look but not change anything.
- These responses are kept, so a teacher can notice a change over weeks. You can ask for yours to be deleted.
Answering is not required, and nothing about a check-in affects a grade.
How visits are counted
We count how much the site is read. Until August 2026 Google Analytics did that; now the site does it itself, and nothing about it leaves this domain.
Everything that is recorded when you open a page:
- the date, and which page — one number goes up by one;
- whether this was the first page in this browser tab, which is how a “visit” is told from a page view;
- the website that linked you here, if you followed a link from somewhere else — the site's name only (
google.com), never the address or anything you searched for; - whether your screen is phone, tablet or desktop sized — three possible answers, taken from the window's width.
What is not recorded — and cannot be, rather than is chosen not to be. No cookie is set. No identifier of any kind is stored: not your IP address, not a device id, not a hashed or scrambled stand-in for one. There are no rows about people in this table at all — only running totals — so there is nothing there to link together, today or years from now. Nobody, including us, can ask it which pages any one person read. The four counters above are also keptseparately: the site can say how many phones and how many arrivals from a given link, never which page a particular phone opened.
This runs whether or not you are signed in, and it is not connected to your account either way. If your browser sends Global Privacy Control or Do Not Track, nothing is counted at all — even though counting like this is not the sort of tracking those signals were written for.
Time-on-task is recorded per student, but that is coursework and only happens when you are signed in — seeif you sign in.
Other companies involved
This is a static site, so most of what happens is between your browser and these services directly:
- Supabase — the database and sign-in. Everything above is stored there.
- Netlify — hosting. Keeps standard server logs, which include IP addresses.
- Anthropic — only for suggested marks, and only when your teacher asks for them. Claude is shown the question, its rubric and the work you handed in, never your name or email.
- Stripe — only if you buy a course. Payment goes to Stripe directly, and we never see your card number.
- Google Analytics — no longer used. It used to load on every page and set its own cookies. It was removed in August 2026 and replaced by the counting described above, which never leaves this site.
- Google Fonts — not used. The typefaces here are served from this site, so reading a page never reaches Google's font servers. The Story Circle planner used to be the one exception; it was rebuilt inside the course and no longer loads anything from a third party.
- Google, Discord and GitHub — for sign-in, and only the one you choose. Discord's list of your servers is read as described above.
- YouTube and Vimeo — video players load only when you click play. Note that a YouTube video's thumbnail image is fetched from Google's image servers when the page loads, before you click anything.
Each of these has its own privacy policy, and we don't control what they do with what they receive.
How it's protected
Every table has row-level security: the database itself decides who can read each row, rather than the website asking nicely. The key this site ships to your browser is public by design and can only ever reach your own rows and the ones your teacher is entitled to. That said, no system is perfect, and you shouldn't put anything into a text box here that would harm you if it were seen.
If your data is ever read by someone who shouldn't have been able to see it, we'll tell you ourselves, by email to the address on your account, as soon as we know what was involved and no later than 30 days after we find out. If you're in a class, your teacher and your school will hear from us too.
How long it's kept, and getting it deleted
Coursework is kept while the course is running, so grades and progress survive a term. There is no automatic deletion schedule yet.
You can download a copy of everything stored about you, yourself, without asking anyone: it's the Your data card on your account page. It covers every category listed above — your answers, hand-ins and marks, check-ins, time on task, sign-ins and anything you sent us — and arrives as one file you can keep or pass on. Files you uploaded are in it by name rather than as the files themselves; ask through the form below if you want those back too.
You can ask for your data to be deleted at any time. Use the form at the bottom of this page. If the work is part of a grade at your school, there may be an academic record your school needs to keep — tell us and we'll explain what can go and what can't. That conversation is why deleting isn't a button: it isn't always all-or-nothing, and it can't be undone.
One thing survives a deletion, and you should know what it is. The security log keeps a line for things like "an account signed in" or "an access code was redeemed" — it's how we'd notice somebody breaking in. When your data is deleted, your name comes off those lines and the lines stay. What's left says something happened and when; it no longer says who. Everything else in the list above goes, including the files you uploaded, and whoever does it gets a table-by-table count of what was removed so it can be checked rather than taken on trust.
You have to be 13 or over to have an account here. The first time you sign in we ask what year you were born; we don't keep the answer, only whether you're old enough. If you're not, the account is put on hold and nothing you do is saved — and if that's wrong, or a parent or teacher set it up for you, send us a message and a person will sort it out.
Using the courses
- The writing and code here are © Battlesuit LLC. You may use them for your own study and, if you're a teacher, in your own classroom. Republishing them, selling them, or feeding them into a product is not permitted without written permission.
- Borrowed ideas are credited to their sources on the page that uses them. AP is a College Board trademark, and this site is not endorsed by or affiliated with them.
- Don't share your enrollment key or class code outside your class, and don't try to reach other people's work. The database will stop you, but trying is still a breach of these terms.
- Answers you type are seen by your teacher. Keep them fit for a classroom.
- The site is provided as-is, with no warranty. It's a teaching tool, not critical infrastructure — expect the occasional outage.
Changes
If what we store changes, this page changes with it and the date at the top moves. Material changes to what a teacher can see, or to what leaves your browser, will be announced in class rather than only here.
Contact
Questions, corrections, or a deletion request go here. If something on this page doesn't match what the site actually does, that's a bug — please say so.
This goes to Netlify, who host this site, and from there to Dan. Nothing is stored in the course database, and you don't need an account to send it — which matters, because "delete my account" is a thing you should be able to ask for without one.