The short version
Maestra helps you practise speaking Spanish out loud. After each session, Maestra sends us a log of your practice: what you answered (as text, never as sound), the words you asked e or s to translate, your grades and what you did in each lesson. It is sent under a random id for your device, and with your account if you have signed in. We use it to run Maestra and to learn which lessons work. There is no switch to turn it off. Your own copy stays on your device too.
Some features use Maestra's server, and through it a few other companies: scoring your answer, translation help (e and s) when your device cannot translate, reading a Spanish correction aloud in the lessons' voice, and, turning your spoken answer into text — if you choose it in Settings, or in the web app when your browser can't do it and you are signed in (Maestra tells you when that starts). We tell you in Settings which features send what, and you can switch each of them to your device or off. Your voice is sent only for server speech-to-text, and we never keep it. We record what each server request cost us.
If you join a class, your teacher sees how much you practise and the mistakes you keep making, as rules — never what you said or typed, and never a score on an answer (section 7).
If you make an account, we keep your email and your practice so it follows you between devices. We don't show ads, we don't sell your data, and we don't use advertising trackers. Maestra is for people 13 and older. You can ask us to export or delete your data at any time.
1. Who Maestra is for
- Maestra is for people aged 13 and over. It is written for high-school students and adults. It is not directed at children under 13.
- If you are under 13, don't make an account. If we learn that someone under 13 has an account, we will close it and delete its data. By signing up you confirm you are 13 or older, and we keep that you did (a yes and when, never your birthday).
- [PLANNED] Schools. When Maestra works with schools, a student under 13 will be able to use it only through a school that has approved Maestra and signed a data agreement with us. The school then gives consent on the parents' behalf, for educational use only, as US law allows. That student will sign in with their school account only, and won't be able to add a personal sign-in or buy anything. See section 9.
- A younger child who wants to try Maestra at home can use a parent's account on the parent's device. We collect nothing about that child, and there is no separate progress for them.
2. What Maestra is today
Maestra is a program for the Mac terminal — the Maestra command-line app (maestra, the "CLI") — and a web app that runs in a browser, on a computer or a phone. The CLI keeps your practice in a folder called ~/.maestra/ on your Mac; the web app keeps it in your browser's storage.
- Accounts exist and are optional. You sign in with your email address: we send you a link, and opening it signs you in. You can also sign in with your Apple or Google account (section 4.2). The CLI signs in by showing a short code that you approve in the web app.
- Sync exists. When you are signed in on more than one device, the grades you made on one come down to the others, so your progress and reviews are the same everywhere. Settings, your
eandsasks and where you left a lesson stay on each device. - Practice you did on a device before signing in there becomes part of your account when you sign in.
- The iPhone, iPad and Android apps are paused. They are not available, and nothing in this policy about app stores applies today. On a phone, use the web app.
- Not open yet: classes (built, and switched off until they launch). Not built yet: families, school accounts, the lesson builder, lesson tests and "hear yourself" recordings. Where this policy describes any of them, it marks them [PLANNED].
3. Your voice
Maestra can listen to your spoken answer, turn it into text, and score the text. Listening is on unless you turn it off in Settings. With listening off, no microphone is opened.
Where your speech is turned into text:
- On a Mac (the CLI): by the Mac's own speech recognition, on the Mac. The CLI never sends audio anywhere. Where the Mac can't do it, listening is off.
- In the web app, by default ("device"): by the browser's own on-device speech recognition (Chrome's, where it has a Spanish speech pack). Nothing is sent. Where the browser can't do it and you are signed in with tokens, Maestra's server turns your answers into text for the rest of that session, as below for "cloud", and Maestra tells you when it starts and how to let your browser do it again; otherwise listening goes off and Maestra tells you how to fix it.
- In the web app, if you choose "cloud" in Settings (speech to text), or in the case just above: the recording of your answer is sent to Maestra's server, which passes it to Groq (or, if Groq is unavailable, DeepInfra) to be turned into text. We don't keep the recording: it is not stored, cached or logged, and it is gone when the request ends. We keep a short record that a transcription happened: when, how long it took, the size of the recording, whether it worked and how many characters of text came back. The text itself goes into your practice log like a typed answer. The provider's own terms govern what it does with what we send.
Your microphone may be open while Maestra is speaking, and your device may show its recording indicator then. This is deliberate: a browser can take a second or two to open a microphone, and learners were answering before it opened. Everything captured before your answer begins is thrown away in the app. It is never turned into text, never scored and never sent anywhere.
Maestra does not score your pronunciation or your accent. It scores the text of your answer (section 5).
[PLANNED] "Hear yourself." An optional setting that saves your spoken answer so you can play it back. It is not built. When it is, the recordings will stay on your device and will never be uploaded or shown to anyone else. Until then, nothing in Maestra saves a recording.
4. What we collect
4.1 Your practice log (everyone, signed in or not)
After each session the CLI and the web app send us a log of what happened in it:
| What | Examples |
|---|---|
| Your answers, as text | What you typed, or the text your spoken answer was turned into. Never audio. |
Your e and s asks | What you typed or said (English for e, Spanish for s), the Spanish phrase you were answering, and the translation you got back. |
| Grades and scores | Your c/x grades and the score Maestra gave each answer. |
| What you did | Lessons and parts you started and finished, cards and readings, keys you pressed, how long things took, lessons you rated, settings you changed. |
| Feedback | Notes you send with f or maestra feedback (the Maestra command-line app's command) (section 4.4). |
| Your device | A random id made for this install, the app version, whether it is the Mac or the web version, your time zone, and errors the app ran into. |
If you are signed in, the log is stored with your account. If not, it is stored under the random device id only. What you asked e or s to translate is never shown to a parent or teacher.
Teacher mode (for teachers and the organizers of a group, and not open yet): while it is on, Maestra keeps a count of the lessons and minutes reviewed and the course, not which lessons or cards you opened or anything you said, and an answer you try there goes to the judge the same way any answer does.
4.2 Your account
If you make an account, we also keep:
| What | Why |
|---|---|
| Your email address and, if you set one, a display name | To sign you in and to reach you |
| Your sign-ins, and which devices you have signed in on | So any of your devices opens the same account |
| Your plan, trial and entitlement (which paid features you have, and until when) | To give you the features on your plan |
| Your daily reminder, if you turn it on in the web app (section 5.7) | To send it |
Signing in with Apple or Google. If you choose "Sign in with Apple" or "Sign in with Google" instead of an email link, that company sends us your name and an email address — for Apple, this may be a private relay address if you chose "Hide My Email," which reaches your real inbox without giving us it. We use that name and address only to create and sign in to your Maestra account, the same as any other account. We never receive your Apple or Google password, and we never post anything to your Apple or Google account. Apple and Google each show you, in your own account settings, which apps you've connected, and you can revoke Maestra's access there at any time; revoking it stops future sign-ins but doesn't by itself delete your Maestra account (section 11). Deleting your Maestra account deletes what we hold from a connected Apple or Google sign-in, along with everything else in section 11.
4.3 What each server request cost
When Maestra's server calls another company for you (scoring, translation, speech to text, reading aloud, chat, audio for a file), we record what that request cost us: the feature, the provider, how much was used, the amount, the time, and your device id or account. No text and no audio. We use this to run Maestra within a budget and, when paid plans start, to count your usage. These are financial records: if you delete your account, they are kept under an id that no longer leads to you, without your email.
We also keep one spending limit a day across all these features. When it is reached, they rest until the next day and the app falls back to your device (or to grading yourself).
4.4 Feedback
When you send feedback from inside Maestra, the note carries where you were: the lesson, the Spanish phrase on the screen, your answer and the score it showed. It goes into your practice log and into an inbox that the people who run Maestra read and work through. The inbox shows your note, the lesson, the phrase and the score.
4.5 What we don't collect
- Your voice. We don't store audio (section 3).
- Your own files. Files you open in My files stay on your device (section 5.5).
- Your card number (section 12), your precise location, your contacts, or advertising identifiers.
5. What Maestra's server does for you
Some features need a computer bigger than your phone. Each one below says what is sent, who handles it, what is kept, and how to turn it off. We use your device's own abilities first wherever Maestra says so.
5.1 Scoring your answer (the judge)
When your answer is not an exact match, Maestra scores it from 0 to 100.
- By default ("auto"), Maestra's server scores it first, and your device scores it if the server can't be reached (on a Mac with Apple Intelligence, or in a browser with an on-device AI model).
- Sent: the Spanish phrase you were answering, its short description, the text of your answer, your level, and your device id (and account, if signed in). Never audio, never your name.
- Handled by: Groq, or Cerebras if Groq is unavailable.
- Kept: the score, stored under a fingerprint of the phrase and the answer (not of you) for 30 days, so the same answer gets the same score at once. And a record of the scoring (the phrase, your answer and the score, with your device id or account), used to check and improve the judge.
- To keep it on your device: Settings → judge runs → local. To turn it off: Settings → judge answers → off.
5.2 Translation help (e and s)
e puts English into Spanish and s puts Spanish into English. You type what you want translated, or, with the microphone on, say it — then it is turned into text first, exactly as a spoken answer is (section 5.3).
- By default ("auto"), your device translates first: Apple Translation on a Mac, or the browser's own translator. Only if your device can't is the request sent to Maestra's server.
- Sent to the server: the English (
e) or the Spanish (s) you typed or said, as text, the Spanish phrase you were answering, your level and your device id. - Handled by: Groq, or Cerebras if Groq is unavailable.
- Kept by the server: nothing of what you typed. Your practice log records the ask (section 4.1).
- To keep it on your device: Settings → e and s answer with → local.
- The optional Claude translator (Mac CLI only): you can set Claude, from Anthropic, as the translator for
ein your settings file, with your own Anthropic key. Maestra never picks it on its own. If you choose it, what you type intoeand the phrase you were answering go straight from your Mac to Anthropic, under their terms.
5.3 Speech to text
Web app only, and only if you choose cloud in Settings. See section 3.
5.4 Reading Spanish aloud (live voice)
Maestra's lessons come with recordings, which your device downloads from our website. Some lines have no recording: the judge's corrected version of your answer, and alternative replies.
- On by default. Such a line is sent to Maestra's server and read by Microsoft Azure Speech in the lessons' voice.
- Sent: the Spanish line and your device id.
- Kept: the audio, in our storage, under a name made from the words of the line, not from you. Anyone who needs the same line later gets the same recording.
- To turn it off: Settings → live voice → off. Your device's own voice then reads those lines, and nothing is sent.
5.5 My files
My files lets you read your own texts and web pages with Maestra.
- A file you open stays on your device. Its text is not sent to us.
- A web page you add by its address: the address is sent to Maestra's server, which fetches the page and sends back its text. Nothing is kept on the server.
- Audio for a file (you ask for it, and it uses your plan's tokens): the file's sentences are sent to Maestra's server and read by Microsoft Azure Speech. The recordings are kept in our storage under names made from the words of each sentence, like the lesson recordings, so a sentence already read for anyone costs nothing. The sentences' text is not stored.
5.6 Chat
Chat lets you talk in Spanish with one of Maestra's characters. Today it is open only to a small list of accounts that we have turned it on for, and only in the Mac CLI.
- Sent, on every turn: the conversation so far, the situation you described, your level and your device id, to Maestra's server.
- Handled by: Groq, or Cerebras if Groq is unavailable.
- Kept by the server: not the conversation; only how long each turn took and its size. The CLI keeps the conversation on your Mac.
- [PLANNED] When chat opens to everyone, conversations will be part of your practice log (section 4.1), like typed answers.
5.7 Daily reminders
Reminders are off until you turn them on in Settings.
- In the web app (needs an account): we keep your browser's push address and keys, the days and time you chose, your time zone, what the reminder says (for example, which lesson is next and how long it takes), and the last day you practised, so we don't remind you on a day you already practised. Your browser's maker delivers the notification through its own push service; the message is encrypted to your browser. The reminder is deleted when you turn it off and when you delete your account.
- On a Mac: the reminder is a scheduled task on your Mac. Nothing is sent to us.
5.8 [PLANNED] Lesson building and lesson tests
- Lesson building (teachers and parents with a paid plan): your description, your chat messages and any photo you take of a quiz or page will be sent to our server and our AI provider to build the lesson. Please photograph a blank copy with no student names on it. We will delete the photo after the lesson is built. We keep the lesson you built; it is yours (see the Terms).
- Lesson tests: the text of your answers will be sent to our server and AI provider so the test can be graded.
6. How we use your data
We use it to:
- run Maestra: your account, your progress, your review schedule, sync between devices;
- score answers, translate, and read Spanish aloud when you ask;
- learn which lessons work and what goes wrong, and improve lessons and the judge;
- keep costs within a budget and, when paid plans start, count usage and give you what your plan includes;
- send the reminders you asked for, and messages we must send (sign-in links, security, receipts, changes to this policy);
- keep Maestra secure and working, and fix problems;
- answer you when you contact us;
- follow the law.
We do not:
- show ads, in the app or anywhere else;
- sell your personal data, or "share" it for cross-context advertising (as California law uses that word);
- use advertising trackers or third-party advertising cookies;
- build profiles of students for any purpose other than their learning;
- use your data to train AI models, or let the companies that handle it for us do so;
- let anyone else use your data for their own purposes.
7. [PLANNED] What teachers see, and what parents will see
Classes are built but not open yet. When they open, a teacher who pays for the Teacher plan can invite you to a class with a link or a code. Before you join, Maestra shows you what your teacher will see, and Settings → Class keeps showing it. It is the same text everywhere:
Your teacher sees: your practice minutes and practice days, the phrases you said right, the pages you read, the lessons and readings you finish, and the mistakes you keep making, as rules (like “buenas tardes · singular and plural”).
Your teacher never sees: recordings (none are kept), transcripts, what you say or type, your score on any answer, your chats, or anything you practise outside this class’s course.
You can leave the class at any time in Settings → Class. When you leave, your teacher no longer sees what you practised in it, only that you left.
How it works:
- Your device works out the numbers. From its own practice log, your device adds up each day's practice on the lessons and readings of your class's course — minutes, phrases said right, pages, what you finished — and sends those numbers, with the lesson and reading names, to Maestra's server for the classes you are in. It also sends the mistakes you keep making in that class's lessons, since you joined as rules: the kind of mistake and the correct form (like buenas tardes), how often, and whether you have fixed it — worked out for each class apart, so one teacher never sees the mistakes you made in another class's lessons or on your own. The words you actually said never go with them: they stay in your device's notebook.
- Only your class's course, and only while you are in the class. Practice outside the class's course, or from before you joined, is never counted. When you leave, or your teacher removes you, your teacher no longer sees any of what you practised in the class — in the class view, its totals or the spreadsheet — only your name and the date you left, and your seat is free.
- Class totals need three students. Your teacher sees each student's numbers, but the class's totals and the class's common mistakes are shown only when at least three students contribute to them.
- A spreadsheet. A teacher can download the same numbers as a spreadsheet (CSV), and nothing more.
- Nudges. A teacher can send you a short note — one a day at most — shown once on Today and sent in one email, which you can turn off in Settings → Class.
- If your teacher's plan ends, the class pauses. You keep everything you learned: your progress, your courses and your notebook.
- If we ever want to show a teacher more, you will be asked to accept again before anything new is shown.
[PLANNED] Linked parents. Families are not built. When they are, a parent will link to a teenager's account with a code, and the teen has to accept. The teen is always told a parent is linked, and either side can unlink at any time. A parent will see summaries of practice, never what the teen said, typed or asked e or s to translate, and never a score on an answer.
8. [PLANNED] The teacher AI connector
A planned feature of the paid teacher plan will let a teacher connect their own AI assistant (for example Claude) to Maestra, to ask things like "who hasn't practised this week?" or to build a lesson.
- Answers will go to the teacher's own AI provider, which Maestra does not control. That provider's privacy policy applies.
- Students will be pseudonymous by default: identified by initials or roster numbers, not full names.
- Maestra will send the minimum: class totals by default, and details about one student only when the question is about that student.
- Some things will never be sent, whatever is asked: a student's per-answer practice scores, what a student typed into
h, any audio or recording, and anything about students outside the teacher's classes. - Teachers will have to agree before connecting, after a clear notice that answers go to their AI provider.
- Schools will be able to turn it off for their classes.
- Every change the connector makes (for example, assigning a lesson) will be logged and visible to the teacher.
9. [PLANNED] Schools
When a school or district uses Maestra with its students, the school will be in charge of its students' school data.
- Our role. For schools in the US, we will act as a "school official" under FERPA (the US federal law on student records): the school keeps control of the records, and we use them only to provide Maestra to the school.
- Educational use only. We will use student data from a school only to provide the service the school asked for. No advertising, no selling, no profiles for any other purpose.
- No redisclosure. We won't give school data to anyone else, except the companies in section 13 that help run Maestra, or when the law requires it.
- Data agreement. Before under-13 students use Maestra, the school and we will sign a data agreement.
- State student-privacy laws. Many US states protect student data, for example California's Student Online Personal Information Protection Act (SOPIPA). In general they forbid targeted advertising to students, selling student data and building non-educational profiles, and require reasonable security and deletion on request. We will follow those rules for school data.
- Google Classroom. If a teacher connects Google Classroom, we will receive the class roster (names, school email, Google user id) and course information, and we will be able to post assignments and send back completion. We will use data from Google only to provide those features.
- Data kept separate. Class records will belong to the school relationship. Personal practice outside assignments stays private to the student.
- School settings. A school will be able to turn off
h, AI features, voice features and the teacher AI connector for its students.
Parents of students who use Maestra through a school should contact the school first about their child's school records. We will help the school respond.
10. Who we share data with
Only these, and only as described:
- The companies in section 13 that run parts of Maestra for us. They may use the data only to provide their service to us.
- Stripe, when you buy something (section 12).
- Your own AI provider, only if you choose the Claude translator with your own key (section 5.2).
- [PLANNED] Teachers, linked parents and schools, as sections 7 to 9 describe.
- The law. If we must respond to a valid legal request, or to protect someone's safety. Where we are allowed, we will tell you (or, for school data, the school) first.
- A new owner. If Maestra is sold or merged, your data may move to the new owner, who must keep this policy's promises for data collected under it.
11. How long we keep data, and deleting it
| Data | How long |
|---|---|
| Your practice log and your account | Until you delete your account. We have not set a time limit for accounts nobody uses: [X MONTHS] |
| Your practice log, if you never made an account | [X MONTHS]. It is tied only to a random device id |
| Data on your device | Until you delete it, or clear the browser's data for Maestra, or remove the CLI. We can't reach it |
| Audio sent to be turned into text | Not stored (section 3) |
| Judge scores stored under a fingerprint | 30 days |
| Recordings of Spanish lines and file sentences | Kept; they are named after the words, not after you |
| Daily reminder | Until you turn it off or delete your account |
| Records of what requests cost us | Kept as financial records, without your email once your account is deleted |
| Purchase records | As long as tax and accounting law requires: [X YEARS] |
| Server logs | [X DAYS]. They carry sizes and timings, never what you typed or said |
Deleting your account. In Settings, choose delete my account and type delete to confirm, or ask us at hola@mdolabs.dev from the email on your account. If you have a paid plan, it is cancelled first. We then delete your practice logs, the records the server made about your answers, your feedback, your practice tables, your sign-ins, your devices and your reminders, and keep only a marker that the account existed and was deleted. A few daily summary files are rewritten without your data only when that day's summary is next rebuilt: [X DAYS]. A device that was offline may keep showing paid features until its entitlement expires. What law makes us keep, such as purchase records, we keep.
Classes. When you leave a class, your teacher stops seeing your numbers and your mistake rules for it at once; only your name and the date you left stay on the class list. Deleting your account deletes your class numbers and your mistake rules too, and takes you off every class list.
[PLANNED] When a teen unlinks from a parent, the parent will lose access at once, and the teen's data stays with the teen. When a school ends its agreement, we will delete (or return, if the school asks) its student data as the agreement says; students aged 13 and over who also have a personal sign-in keep their personal account, and accounts of under-13 students, which exist only through the school, will be deleted in full.
12. Payments
- Nothing can be bought yet. Payments are being built with Stripe in test mode, and no real charge can be made.
- When paid plans start, you will pay on a page run by Stripe (Stripe Checkout). We expect Stripe to be the seller of record, which means Stripe handles the sale and the tax on it.
- We never see or store your card number. Stripe handles it. We receive only what we need: your account, which plan or token pack you bought, whether it is active, its renewal date, and whether a payment or refund happened.
- The iPhone, iPad and Android apps are paused, so no App Store or Google Play purchases exist.
13. Companies that handle data for us
| What for | Company | Data it handles |
|---|---|---|
| Our server, the website, the web app and the CLI installer (Workers); storage for practice logs, server records, recordings and feedback (R2); short-lived caches (KV); queues and counters (Queues, Durable Objects) | Cloudflare | Everything the server receives, and visitors' IP addresses |
| Sign-in emails | Cloudflare (Email Sending) | Your email address and the sign-in link |
| Database and sign-in | Supabase (Postgres and Auth) | Your account, sign-ins, devices, practice tables, cost records, purchases, reminders, feedback |
| Scoring answers, translation help, chat, and speech to text | Groq | The fields in sections 5.1, 5.2 and 5.6, and the recordings in section 3 |
| Scoring, translation help and chat, when Groq is unavailable | Cerebras | The same as Groq, for those features |
| Speech to text, when Groq is unavailable | DeepInfra | The recording of one answer |
| Reading Spanish aloud | Microsoft (Azure AI Speech) | Spanish lines and file sentences |
| Payments (test mode today) | Stripe | Your email, your account id, what you buy, your payment details |
Where these companies store data: [REGIONS]. We will update this list before adding a new company.
Not listed above, because they run on your device or are yours: on-device translation, speech recognition, AI models and voices provided by your computer or browser (Apple, Google, or your browser's maker), and the push service your browser uses to deliver a reminder. They may download language packs, voices or models the first time you use a feature; their own policies cover that.
14. Your rights and choices
You can:
- See and export your data. In Settings, choose export my data for a file (JSON) of everything Maestra's server keeps about you, or ask us.
- Correct it. Ask us.
- Delete your account. In Settings, or ask us. See section 11.
- Turn things off in Settings: listening, cloud speech to text, the server judge, server translation, live voice and reminders.
- Use Maestra without an account. Your practice log is still sent, under a random device id only.
- Object or withdraw consent where we rely on it.
How to ask: email hola@mdolabs.dev from the email on your account. We may need to confirm it's you. We answer within [30] DAYS. We won't treat you differently for using your rights.
If you are in the EU, UK or a similar place, you may have rights under the GDPR or similar laws: access, correction, deletion, restriction, portability, objection, and to complain to your data protection authority.
If you are in California or another US state with a privacy law, you may have the right to know, delete, correct, and opt out of sale or sharing. We don't sell or share personal data as those laws define it.
If you are in Mexico, you have the rights of access, correction, cancellation and objection to your personal data (ARCO rights). Ask us as above.
15. Security
- Everything between your device and our server travels encrypted (HTTPS).
- The keys that reach our providers are kept on our server and never sent to a device.
- Our database tables refuse reads from the app's public key; only our server reads and writes them.
- The people who run Maestra reach account and cost information through an admin panel that checks their role on every request and records every action. It does not show your answers or your
hasks one by one. - No system is perfectly secure. If a breach affects your data, we will tell you (and your school, for school data) as the law requires.
16. Where data is stored
Our server runs on Cloudflare's network, close to wherever you are. Stored data is kept in [COUNTRY / REGION]. Maestra belongs to a US company, and the companies in section 13 may handle your data in the United States and in other countries where they work.
17. Cookies and similar technology
The website and the web app use your browser's storage only to work: to keep your practice, your settings and your sign-in on your device. No advertising cookies. No third-party trackers. No analytics service.
18. Changes to this policy
If we change this policy, we'll update the date at the top. If a change matters (for example, a new kind of data, a new use or a new company), we'll tell you in the app or by email before it applies. We will not use data already collected in a materially different way without asking.
19. Contact
MDO Labs LLC, Sheridan, Wyoming, USA · hola@mdolabs.dev