1. Who this covers
This policy explains what Studodo ("we") collects when you use the Studodo iPhone app, its web version or the studodo.com website, why, and what choices you have. It's the same policy in the app and on the website.
Studodo is a free app made by an independent developer in Virginia, USA. It's a general study app made for high school students and anyone 13 or older who wants to learn. It isn't run by, or on behalf of, any school (see For schools for when a school directs its use).
2. Without an account
Everything you do (lessons, scores, flashcards, settings, plans) is saved only on your device: in the iPhone app's storage, or in your browser's storage on the web version. We can't see it. Deleting the app, clearing your browser data, or using Settings → Reset erases it. Without an account nothing is sent to us, and the web version doesn't load Google reCAPTCHA (it loads only when you sign in or create an account).
On-device AI feedback (beta, iPhone only, off unless you turn it on in Settings) uses Apple's on-device model on iPhones with Apple Intelligence. Your answers are processed on the phone itself: they're never sent to Studodo, Apple or anyone else, and nothing is saved.
3. With an account
If you create an account, we store:
- Your email address and a scrambled (hashed) password, handled by Google Firebase Authentication. Your email is stored only there: it isn't copied into Studodo's database and is never shown to anyone. We never see your password.
- Your study progress and settings (including people you've blocked, your decks, the grades you enter in the grade calculator, practice-exam history and free-response drafts), so they sync across your devices.
- A username you choose (3–20 letters, numbers, _ and .). Our server checks every username against a large filter (swear words and slurs in many languages, look-alike letters, leetspeak, personal info like phone numbers, emails, social handles, addresses, ages, grades and birthdays, and names that pretend to be staff). Please don't use your real name. Your username is unique, can be changed once every 30 days, and is shown only in the social features you turn on. Older accounts also have a pre-made nickname (like "Swift Falcon 42"), shown until they pick a username.
- A friend code (public only while Friends is on), and your friends list, friend requests you've sent or received, and people you've blocked, so friendships work across devices. While Friends is on we also save which recent days you met your daily goal, only to count friend streaks (days in a row you and a friend both met your goal), and the friend streaks you've started or been invited to.
- Gifts between friends: the gifts, high fives and nudges you send and get (who sent what, and when), a record of the gems your gifts cost (so your balance is the same on every device) and today's gift limits. Opened gifts and nudges are deleted after 30 days (nudges after 7), unopened gifts after 90 days.
- An avatar you build from Studodo's cartoon parts (never a photo). It's saved with your account and shown next to your name only in the social features you turn on.
- Your achievements (which ones you've unlocked, the up to 3 you pin as a showcase and the title you pick). They're part of your synced progress; the showcase, title and how many achievements you have are shown next to your name only in the social features you turn on.
- Any reports you send (for example, flagging a wrong answer or a rude username), so we can review them.
When you create an account we ask for your birth month and year to check that you're 13 or older. We don't save your birthday; we save only your age range (13–15, 16–17 or 18 and older), to pick privacy defaults (for everyone under 18, "Let others find me by username" starts off) and to keep three age groups apart: 13–15, 16–17, and 18 and older never see or reach each other in leagues, school leaderboards, search, friends, profile cards, challenges, gifts, nudges or friend streaks. Being in the same class doesn't change that, and a teacher can never friend, gift, challenge or nudge their students or open their profile cards. Accounts 18 and older can't join classes as students. Older accounts that only said "16 or older", and accounts with no age range yet, can't use these features until they confirm their age range. If the check doesn't pass, account creation is paused on that device for 7 days; only that pause time is saved, on the device.
In the iPhone app on iOS 26 or later, the app may also ask Apple for your age range (you choose whether to share it). It's used only for that same check and is never saved. If Apple's range is younger than the birth year you type, the younger range is used.
Sign in with Apple: if you use it, Apple gives us a user ID for your account and either your email address or, if you choose to hide your email, an Apple private-relay address that forwards to you. Apple never shares your password with us. When you delete your account, we also revoke Studodo's Sign in with Apple access.
Social features are off unless you turn them on. While they're off, nothing about you is shown to other users. You can turn each one on or off anytime in Settings → Privacy (or from the League tab and the Friends screen). Turning one off removes what it showed:
- Leagues & leaderboards: your username, avatar and weekly XP are shown to the other students in your weekly league group (about 30 students), and your username and best unit-test score appear on unit leaderboards, visible to other signed-in students. XP totals are checked by our server to stop cheating. XP you earn while leagues are off is never sent. Turning it off deletes your league entry and your leaderboard scores.
- School leaderboard: if you turn it on and pick your school, the school is saved with your account, and your pre-made nickname (never your username), avatar and weekly XP appear on that school's leaderboard, visible to other signed-in students in your age group who picked the same school, once at least 10 of them are on that week's board. You can change your school once every 30 days. Your school is never shown next to your name anywhere else. We use the public U.S. Department of Education school list; we never ask for your grade, teacher or class. Turning it off removes you from the board and clears your school.
- School pacing: if you turn it on and pick your school, we save that school and, for each class you've set up, the unit your class is on. Other students at that school only ever see a count, like "Most students at your school are on Unit 4", and only when 10 or more other students share and the most common unit holds at least 4 in 10 of them. Nobody sees your name, username or which unit you picked. Turning it off deletes what you shared.
- Friends: you get a friend code, and people can send you friend requests with it (you can get a new code anytime; the old one stops working) or, only if you turn on "Let others find me by username" (off by default for everyone under 18, on by default from 18), by searching your username, and only by people in your age group. Search shows only usernames, avatars and titles, never to people you've blocked. You choose which requests to accept. Friends you accept can see your username, avatar, XP (total, this week and today), streak (unless you turn off "Show my streak"), how many courses you take and your friend streak together. People in your age group who can see your name in a social feature can open your profile card: your username, avatar, title, pinned achievements, achievement count and how many friends you have in common. For ages 18 and older it also shows the month you joined and, if Friends is on, your streak and weekly XP; for anyone under 18, the streak and weekly XP are shown only to friends and the month you joined isn't shown at all. For friends under 18, "today" shows only whether they met their daily goal, not their XP. Our server and database rules enforce all of this. Turning Friends off deletes your friend code, takes you out of search and hides your stats from friends.
- Invite a classmate: if you're new and enter a classmate's invite code, we keep who invited you, when, and how many lessons you finished in that first week, plus a one-way scrambled copy of a random ID this app made for your device, so each device can use only one invite. When you finish 3 lessons, you both get a profile title. For the person who invites, we keep their invite code, how many invites counted, which invite rewards they've unlocked (a badge, outfits for Doug, an avatar frame and a title; never gems or money), how many times their code was used today, and scrambled copies of the IDs of up to 10 of their own devices, so an invite made on the inviter's own device doesn't count. Your classmate sees only how many people joined with their code, never who. If you delete your account, these records go; the scrambled device ID you used for an invite stays with nothing linking it to you, so the device can't be used for another invite.
- Gifts, friend streaks and nudges (part of Friends): you can send a mutual friend a gift that costs you gems you earned by studying (a streak freeze, 15 minutes of Double XP or a shop item they don't have yet; up to 3 a day, 1 per friend per day) or a free high five (once a day per friend). Gems are never sold. Your friend sees your username, avatar and what you sent. Friend streaks start only when you invite a friend and they accept (up to 5 at a time); either of you can end one anytime. If you share a friend streak, you can send a friend a nudge picked from a few pre-written messages, once a day. There's no free text anywhere. Blocking someone removes their unopened gifts and nudges and stops them from sending more; unfriending ends your friend streak.
- Friend challenges: you can challenge a mutual friend to beat your score on a lesson. The friend sees your username, which lesson, your accuracy and your time; you see theirs once they play. Only mutual friends can challenge each other. Challenges are deleted after 7 days, and right away if you unfriend or block the person, turn challenges off or delete your account.
- Classes: if you join a teacher's class with its code, that teacher sees what's described under Classes and teachers below. Turning Classes off takes you out of every class you're in and closes any class you teach.
4. Classes and teachers
Classes are off until you turn them on (Settings → Privacy) and are only for students 13 and older with their own account; classes for students under 13 aren't supported yet. A teacher (an adult, 18 or older, confirmed with the same birth month and year check, not saved) makes a class and shares its code. Before you join, Studodo shows you exactly what will be shared, and joining is your choice:
- Your teacher will see: your name for the class (first name and last initial), if you add one, your progress and scores on work they assign, which questions you missed on assigned work.
- Also your username and avatar, lessons done in the class's courses and your unit in class, XP this week and the last day you studied, from the class's courses only, your school student ID, if you or your teacher add one (for the school gradebook).
- Your teacher never sees: your email, your full name, your birthday, other classes, friends, activity outside class courses, avatar-shop purchases, location. There's no messaging.
Your name for your teacher: a class can ask for a name for your teacher (a first name and last initial is enough). In most classes it's optional; if the teacher marks a class "names required", you need to give one to join (you can still decide not to join). It goes through the same filter as usernames, is shown only to that class's teacher (never to other students, on leaderboards or anywhere public), and you can change or remove it anytime in Settings → My classes. It's deleted when you leave the class, are removed from it or delete your account.
School student ID (optional): so a teacher can match Studodo results to the school's gradebook, a class can ask for your school student ID when you join, or the teacher can type it in. It's always optional, checked to be only letters and digits (up to 20), shown only to that teacher, included in their CSV download, and deleted when you leave the class, are removed or delete your account.
What the teacher sees, in detail: for work the teacher assigns, whether you've started or finished it, your score, how many attempts you've made, the time you spent, when you finished and which answer you picked on each question. Teachers see this for each student and as class totals (for example, the percent of the class who got each question right and the most-picked wrong answer). They also see your XP this week and the last day you studied (both counted from the class's courses only), how many lessons you've done in the class's courses, the unit you've said your class is on, and a mastery level for each unit worked out from assigned work and your progress in the class's courses. A teacher can see the same class information in the app or on the web teacher dashboard.
Teacher labels: a teacher can keep a short private label for each student (up to 60 characters, filtered), for example to tell two students apart. Only that teacher sees it (and Studodo, only to run and secure the service). Labels can't hold health, disability or status details: our server refuses words like these. It's deleted when you leave the class, are removed or delete your account.
Accommodations: a teacher can turn on settings for that class's assigned work: extra time, fewer answer choices, reading questions aloud or shorter sets. They're stored only as these settings (never a reason, diagnosis or label), but we treat them as sensitive: they apply only to that class's assigned work, are never used for anything else, and only you and that teacher can see them (and Studodo, only to run and secure the service). They're deleted when you leave the class.
Joining and approvals: a teacher can set a class to open (anyone with the code can join), approval (your request, with your username, avatar and your name for the teacher if you gave one, waits until the teacher accepts or declines it) or closed. You can withdraw a request anytime.
Text from teachers: teachers can name assignments and write their own multiple-choice questions. These go through filters that block offensive words, links, emails, phone numbers, social media handles and apps, usernames, invitations to meet, and questions about where you live, your routine or your family, and you can report them with the flag. Questions from new teachers (accounts under 30 days old, or with fewer than 25 approved questions) also pass a stricter check: anything borderline is held in a review queue (with the teacher's account ID, the question and the reason) and isn't shown to students until we approve it; it's deleted with the teacher's account; new teachers' assignment titles are also copied to that queue for us to look over. If 3 different students report a title or question within 30 days, or a single student aged 13–15 reports it, it's hidden until we review it. Every other notice from a teacher (reminders and announcements, like "Quiz on Friday") is a pre-written template with only an assignment or a date filled in. There's no messaging: teachers can't send you free text, and you can't send text to teachers or other students.
Live quizzes: a teacher can run a live quiz on a projector while students answer in the app. Your answers are counted: the screen shows how many students answered and how many picked each choice, never names. If the teacher turns on the top-5 list (it's off unless they do), it shows the usernames (or pre-made nicknames) and points of the top 5, never anyone's name for the teacher. Your score and picks are saved for the teacher like an assignment; the individual live answers are deleted when the quiz ends.
Teacher accounts on the web: teachers can use the web teacher dashboard (studodo.com/teach). It can create a teacher account (email and password, or Sign in with Apple) only after the person confirms they're a teacher, gives a birth month and year showing they're 18 or older (not saved) and agrees to these terms; nobody under 18 can make an account there. In the app and on the web, teacher tools also need an account that's at least 7 days old with a confirmed email (or Sign in with Apple), and one device can set up one new teacher account per 30 days: we keep a one-way scrambled copy of a random device ID with the teacher's account ID and the date for that. Like any website, its host receives IP addresses and basic request details, and it uses Google reCAPTCHA (through Firebase App Check) to block bots. A teacher can delete their account on the dashboard (Account → Delete account) with the same result as deleting it in the app.
Downloads: a teacher can download their class's data (each student's name for the teacher, if given, username, school student ID if one was added, and their results and scores on assigned work) as a CSV spreadsheet for their own records. The join screen tells students this. A downloaded copy is the teacher's responsibility, under their school's rules; deleting data in Studodo doesn't delete copies a teacher already downloaded.
Studodo isn't a school's official record or grading system, and it has no agreements with schools or districts. A school or district that needs a data agreement can email support@studodo.com.
Deleting class data: when you leave a class, are removed or delete your account, your place in the class (with your name for the teacher, the teacher's label and accommodation settings), any join request, and your results and live answers in that class are deleted. If a teacher moves you to another of their classes, your name, label and settings move with you, but your results in the old class are deleted. Closing a class deletes its assignments, results and live quizzes. A class nobody has used for 150 days gets a warning on the teacher's class page and is closed 30 days later if it's still unused, so class data doesn't outlive the school year. Deleting a teacher account closes their classes and deletes their question bank.
5. For schools
Studodo isn't sold to schools, but teachers use classes with their students, so here is, in plain words, how we handle student information from classes:
- No selling: we never sell or rent student information, and we share it only with the service providers listed below, only to run Studodo.
- No ads or profiling: there are no ads anywhere, and class information is never used for targeted advertising or to build a profile of a student for anything other than that class's studying.
- Used only for the class: a class's information is used only to show the teacher and the student their class work and to run and secure Studodo.
- Deletion on request: a teacher can close a class at any time, which deletes its assignments, results and live quizzes. A school or teacher can also ask us to delete a class's student information: email support@studodo.com.
- Security: encrypted connections, database rules that let a teacher see only their own classes, and server checks on everything a class shows (see Security).
- When a school directs use: if a school or teacher has students use Studodo for class, we act under the school's direction for that class information: we use it only for the class, never for anything else, return or delete it at the end of the school's use or on request, and a parent can ask for their child's class records through the school or with our parent request form (studodo.com/parents). If a school has signed a data privacy agreement with us, that agreement's terms control.
U.S. student-privacy laws, such as FERPA, California's SOPIPA and Virginia's student data privacy law, set rules for apps used for school. The commitments above follow those rules, but Studodo hasn't been certified by anyone and hasn't signed agreements with schools; each school decides whether Studodo fits its own policies. COPPA protects children under 13: Studodo accounts and classes are only for ages 13 and up, so we don't knowingly collect personal information from children under 13. A school or district that needs a data privacy agreement can email support@studodo.com.
6. Rahimi (AI tutor)
Rahimi, the AI tutor, is currently turned off, so nothing is sent to any AI service. If it's turned back on, this section will be updated first to explain how it works.
7. Cookies, storage and notifications
Studodo doesn't use advertising or analytics tools, cookies or SDKs, and doesn't track you across other apps or sites. It uses:
- Storage on your device (in the iPhone app) or browser storage (local storage, IndexedDB and the app cache, on the web version) to save your progress, keep you signed in and let lessons work offline. This is required for the app to work. On the web you can clear it at any time in your browser settings.
- Study reminders in the iPhone app, only if you turn them on in Settings. They're local notifications scheduled on your phone itself, never sent through any server. You can turn them off in Settings or in iPhone Settings.
- On the web version only, Google reCAPTCHA (through Firebase App Check), which helps block bots from abusing accounts. It loads only when you sign in, create an account or are signed in, never for guests. Google may set cookies and collect device and browser information for this, under the Google Privacy Policy (policies.google.com/privacy) and Terms (policies.google.com/terms). The iPhone app doesn't use reCAPTCHA.
This website: the public pages at studodo.com (home, teachers, support, privacy and terms) don't use cookies, analytics or ads. Like any website, the host receives your IP address and basic request details when you load a page.
Because we don't track anyone across sites or apps, we treat every visitor the same whether or not their browser sends a Do Not Track or Global Privacy Control signal: there's no tracking to turn off.
The iPhone app doesn't use location, contacts, photos or the camera.
8. Services we use
- The web host that serves the website and the web version. Like any website host, it receives your IP address and basic request details when you load a page.
- Google Firebase (Authentication, Cloud Firestore, Cloud Functions, and App Check on the web version) stores account data and runs leagues. Data may be processed in the United States.
- Google reCAPTCHA, through Firebase App Check, only on the web: it loads when someone signs in, creates an account or uses the teacher dashboard (adults), to block bots. reCAPTCHA is covered by Google's own Privacy Policy and Terms of Service (policies.google.com), not by Firebase's data processing terms.
- Apple, if you choose Sign in with Apple.
Except for reCAPTCHA (above), Google processes account data only to run Studodo for us, as our service provider. Firebase's data processing terms let Google use the data only to provide the service to us and require it to keep the data secure, which gives the same protection this policy promises.
We don't sell, rent or share your personal information with anyone else, don't use it for targeted advertising or profiling, and don't show ads. We'd only disclose it if the law required us to (for example, a valid court order).
9. Keeping and deleting your data
Account data is kept until you delete it, or until the account has gone 12 months without being used (no sign-in and no app use while signed in): then the account and all its data are deleted automatically. Profile → Account → Delete account permanently erases your account, progress, profile, friend code, leaderboard scores, league and school entries, classes you joined or teach (with your name for each teacher and your class results), friend challenges, friend streaks, your gift box and gift records and any reports about you from our database (gifts you already sent stay with your friends, without your name), and revokes Sign in with Apple if you used it. League groups and school boards from past weeks are deleted automatically after about 5 weeks. You can export a copy of your progress first in Settings → Your data → Export.
Reports are kept for 180 days so we can review them, then deleted automatically. If you delete your account, reports you sent are only linked to an anonymous ID until then. A family link (see Kids and teens) is deleted when you stop it, when you delete your account, or after 120 days without use. Requests sent with the parent request form on our website (the parent's email, the teen's username if given, and the message) are kept for 180 days, then deleted.
To ask what we have about you, or to have it corrected or deleted, email support@studodo.com.
10. Your rights
Wherever you live, you can see a summary of your data in the app (Profile → Privacy & data), export your progress (Settings → Your data → Export), correct your username and settings, and delete your account and its data (Profile → Account → Delete account). Some laws (for example in California, Virginia and other U.S. states, the EU and the UK) give these rights formally; we give them to everyone. Signed in, Settings → Your data → Download everything we have about me gives you a readable copy of what our server keeps about you, including your class records. You can also ask us for a copy of the data we hold about you or to fix something you can't change yourself: email support@studodo.com. We'll reply within 30 days and won't treat you differently for asking. A parent or guardian can make these requests for their teen, by email or with the parent request form at studodo.com/parents. Before deleting an account or sending data we check the request comes from the teen's parent or guardian: for example, we ask the teen to confirm from their signed-in app, use a family link the teen already set up, or ask for a reply from the account's email address.
We don't sell or share personal information for targeted advertising, so there's nothing to opt out of. We don't collect precise location, contacts, photos or health data. The only class information that could be sensitive is a teacher's accommodation settings for assigned work (see Classes and teachers): they're stored as neutral settings, never a reason, and only you and that teacher see them.
11. Kids and teens
Studodo is made for high school students and anyone 13 or older who wants to learn. Anyone can use it without an account. You must be at least 13 to create an account; if you're under 13, please use Studodo without one. If you think a child under 13 has made an account, email support@studodo.com and we'll delete it.
If you're under 18, please get a parent's or guardian's OK before creating an account (the app asks you to; it can't check). Parents can use the parent tools below.
Parent tools: a parent can set a parent PIN on the teen's phone (Settings → Family); turning on any social feature then asks for it, and turning features off never does. It's saved only as a scrambled (hashed) code with the account's settings. A teen can also make a family link: a code the parent types at studodo.com/parents to see a read-only weekly summary (XP, lessons, days studied, minutes and streak this week; which social features are on; how many friends, with no names; and the classes joined, with each teacher's nickname). We keep the code, when it was made and last used, and that week's totals the app sends once a day. The teen sees exactly what the parent sees and can stop the link at any time, which makes the code stop working. Students under 18 are never grouped with adults: leagues, friends, search, school boards, gifts and challenges are kept within 13–15, 16–17 and 18+.
Usernames go through a strong filter on our server before anyone can see them, and you can't use one that looks like personal information. Anyone can report or block a person by their username. If 3 or more different people report the same person within 30 days, that person is automatically hidden from leagues, school leaderboards, unit leaderboards, search and friends, and their username is replaced with a generated one until they pick a new one. A report from the teacher of a class the person is in takes the student out of that teacher's classes and goes to our review; it doesn't hide anyone elsewhere on its own. We review reports quickly and remove scores or accounts that break the rules. If that happens to an account, we keep a record of it (that it was hidden or renamed, how many people reported it, and any strikes) with the account until we've reviewed it or the account is deleted.
Reports with a child-safety reason ("Asked to meet" or "Made me feel unsafe") also go to a priority review queue with the reported account's ID, who reported it, the reason, when, and both people's age ranges. A report from a 13–15 year old about someone older hides that person right away until we review it. Queue entries are deleted after 180 days, or sooner when the reported account is deleted.
12. Security
Data is sent over encrypted connections (HTTPS) and stored encrypted at rest by Google Cloud. Database rules deny everything by default; they let each person read and change only their own private data, let only mutual friends read a friend profile, let only our server write public profiles, usernames and friend lists, and limit what can be written to leaderboards. To stop cheating and abuse, our server keeps per-account counters (how much XP was sent recently and how often league features were used) with your league data. Only the developer can open the database console, with two-step sign-in, and only to run and secure the service. If a breach affected your information, we'd tell affected users (and schools whose classes were affected) without undue delay. No system is perfectly secure, so use a password you don't use anywhere else.
13. Changes
If this policy changes, we'll update the date at the top and mention it in What's new. For a material change we'll tell users in the app and teachers by email at least 30 days before it applies, and we'll never use information already collected in a new way without asking first. Questions? Email support@studodo.com.
