Privacy
What this site stores, who else sees it, and how to get rid of it. The short version: an account, what you have read, and nothing about your card.
Last reviewed 2026-09-07
Payments, first
No card details ever reach this site. Checkout is handled by Stripe on Stripe's own pages, and the card number, expiry and security code are entered there and stay there. This site never sees them, never receives them and has nowhere to put them.
What comes back from a payment is the fact of it: which course, how much, when, and an identifier for the Stripe session so the purchase can be matched to an account. That record is the accounting behind real money and it is kept.
The same rule runs the other way and it is the strictest one here. Never send real cardholder data to this site: not in an exercise answer, not in a support message, not in a capture. There is no facility for accepting it and no lawful basis for holding it. Every capture published here was sanitized before publication.
What an account holds
An account holds your email address, an optional display name, your language, a password hash and, if you turn it on, a two-factor secret. Using the site adds the modules you have marked complete, the courses you are enrolled in, the sessions you have signed in from, and any message you send through the contact button.
A session record carries the address the sign-in came from and the browser that made it. It exists so you can see where your account is signed in and end a session you do not recognize, which is the only reason to keep it.
Nothing here builds a profile of you, and no page contains advertising or third-party analytics of any kind. What you read is stored only where you asked for it to be, by marking a module complete.
Who else sees it
Three services are involved and each one sees only its own part. Stripe handles payments and holds the card details this site never receives. A delivery partner on a mentelabs.com domain sends email, so it sees your address and the message being sent. Hosting runs on Fly.io, and the database is where the account itself lives.
Where a lesson embeds a video it is hosted on YouTube, and the page shows a still image served from here. Nothing reaches Google unless you press play, and if you never do, YouTube is never contacted at all.
Where a module can be listened to, the voice is synthetic. The recording is made in advance with ElevenLabs, from the text of that module, and is then served from this site like any other file. That is why they are not on the list above: no player from anywhere else loads in the page, and ElevenLabs is never told that you listened, or that you exist.
Nothing is sold, and nothing is handed to anyone for advertising. The exception that any site has: a lawful order, or the evidence needed to answer a payment dispute you started with your own bank.
How it is protected
A password is never stored. What is stored is a bcrypt hash, which cannot be turned back into the password. A two-factor secret is encrypted with AES-256-GCM before it is written, using a key held outside the database.
A session token is the same idea. The value in your browser is never written down: only its SHA-256 digest is stored, so somebody reading the database cannot sign in as you. The cookie carrying it is HTTP-only and, in production, sent only over HTTPS.
Sign-in attempts are rate limited, and the whole platform is built on one rule that outranks the rest: no live cardholder data, ever. That is what the sanitizer exists for, and it is checked on every build.
Getting it back, or getting rid of it
You can download everything this site holds about you as one file, and you can delete your account, both from the security page. Both are immediate and neither has to be requested by email.
Deleting is permanent. It removes the account, its sessions, its progress and its messages, and it ends access to any course bought with it. A new account with the same address does not inherit the old one.
Two things outlive a deletion, both on purpose. The record of a purchase, what was bought, for how much and when, is kept because it is the accounting behind real money; with the account gone it is a course name, an amount and a date that name nobody. And messages sent through the contact button are removed automatically two years after they are sent, whether or not the account still exists.
If something here is wrong, or you want data corrected or removed sooner, write to the address on the contact page and say so.