AstraMentis

Privacy notice

updated 2026-09-19

AstraMentis is a personal learning app run by one person, not a company. This notice says what it stores about you, where, for how long, and how to take it with you or delete it. It is written to be read, not to cover anyone.

Who is responsible

The person who runs this instance of AstraMentis (the “operator”) is the controller of your data. Their name, postal address and contact details appear at the end of this page. If you run your own copy of the app, you are the operator of that copy and those details have to be yours: a notice that cannot say who is answering for the data is not finished.

What is stored

Account: your username, display name, a password derived with scrypt (the password itself is never stored), the email address you gave for password recovery, the date you joined and who invited you.

Learning history: every card shown to you and when, your answers with whether they were right and how long they took, swipes, explanations opened, audio played, stories read, cards saved, and the rating of each skill. This is what makes the feed adapt to you.

Things you write: notes, wishes for later, collections and their items, and the name you choose for duels.

Settings: topic weights, switched-off rungs, interface language, and, if you turn on the daily reminder, the push subscription your browser issues (an endpoint URL and keys, no phone number).

Technical: a session cookie (random token, 30 days), a language cookie, and standard server logs kept by the hosting provider for a short time. There is no analytics, advertising or tracking script. The pages load nothing from anyone else either: the typefaces are served by this app, not by Google Fonts, so opening a page does not hand your address to a third party.

When something breaks, an error report is sent to Sentry (Functional Software, Inc.), which the operator uses to fix it: the error message, where in the code it happened, the app route and the deployed version. It carries nothing about who you are: no account, no email, no cookie and no IP address, and the route goes without anything after the question mark. Your browser never talks to Sentry; the report goes through this server.

Your date of birth is not stored. It is asked for when you create the account, checked there, and thrown away; what stays is that the check happened and when. Your export carries nothing about it, because there is nothing to carry.

On your device only: reader preferences and reading position, the duel name and the installed-app shell are kept in your browser's local storage and never sent anywhere.

What it is used for

To pick the next card at your level, keep your streak and stats, remember what you saved, send you the reset link if you forget your password, and, if you asked for it, send one daily notification. Nothing else. Your data is not sold, shared with advertisers, or used to train models.

Other people in the same instance can see the display name and username you chose when you share a collection or a duel with them. They never see your email, history or notes.

On what grounds

Every use of your data needs a legal basis under the GDPR. Naming them is not a formality: it is what tells you which uses you can refuse and which ones are the app itself.

Because you asked for the app (Article 6(1)(b), contract): your account, your learning history, the things you write, your settings, and everything that picks the next card at your level. This one is not optional — without it there is no app to give you. If you would rather it did not exist, the answer is to delete the account, and that is one click.

Because you said yes (Article 6(1)(a), consent): the daily notification, and nothing else here rests on consent. You turn it on yourself, you can turn it off in the same place at any time, you do not have to say why, and nothing else changes when you do.

Because the app has to keep working (Article 6(1)(f), legitimate interests): the error reports described above, and stopping abuse of the invitations. The interest is a service that stays up and gets fixed when it breaks. It weighs light against your privacy because those reports carry nothing about who you are — and you can object to it anyway, at the contact below.

Because the law says so (Article 6(1)(c), legal obligation): the age check when you sign up. And, if you ever pay for a subscription, the record of that payment.

Where it lives

The app runs on Vercel and stores data in a Supabase (PostgreSQL) project chosen by the operator, in the region they selected. Password-reset emails, if enabled, are sent through Resend. If you become a patron, the payment is handled by Stripe: the app never sees your card, and only keeps the subscription identifier, its status and the amount you chose. Each of these providers processes data under its own terms and acts on the operator's instructions.

Some of these providers are established in the United States (Vercel, Stripe, Resend, Sentry). Transfers there rest on the EU–US Data Privacy Framework and on the European Commission's standard contractual clauses, which each provider offers in its data-processing terms. Ask the operator at the contact below and they will send you a copy of the ones they hold. The database itself stays in the region the operator chose; an operator in the EU should pick an EU region.

When the app fetches public content (Lichess puzzles, Project Gutenberg texts, Wikimedia Commons recordings) it does so from the server; your identity is not sent to those services.

How long

For as long as your account exists. Sessions expire after 30 days or when you sign out. Password-reset links expire after one hour. When you delete your account, everything listed above is removed at once; server logs at the hosting provider expire on their own schedule (days, not months).

One thing deletion will not be able to remove, the day there is anything to remove: if you ever pay for a subscription, the record of that payment — what was charged, when, and to which account — has to be kept for as long as the operator's accounting law says. Nobody has paid anything yet, so today there is no such record. It is written here now so that this page does not have to start promising less later.

One exception, and it removes data rather than keeping it: the card-by-card trace of your practice — card shown, answered, skipped, explained — is kept in full for 90 days. After that it is replaced by a daily count (cards seen, answered, correct), which is all your streak, your milestones and your figures ever look at. Everything else stays: your levels, your saved cards, the cards you wrote, your reading speed, your notes and your collections. Your export carries the last 90 days in detail and the daily counts for everything before that.

Your rights

Export: from Profile → Your account → Export my data you get a JSON file with everything the app holds about you.

Delete: from the same place, Delete my account removes your account, history, notes, collections and subscriptions immediately. This cannot be undone.

Correct: you can change your name, email and password yourself in the app.

Object and put on hold: you can object to the uses that rest on legitimate interests — the error reports — and ask that your data be frozen instead of used while a disagreement is being sorted out (Articles 21 and 18). Write to the contact below.

Take back your yes: if you turned the daily notification on, you can turn it off whenever you like, in the same place. What was sent before stays sent; nothing else about your account changes.

If you live in a place with a data-protection law (the EU, the UK, Chile, Mexico and many others), you also have the right to ask the operator for access, correction, deletion or portability, and to complain to your local authority. Write to the operator's contact and they will answer within a month.

When the operator is in Sweden, the supervisory authority is the Swedish Authority for Privacy Protection (Integritetsskyddsmyndigheten, IMY, imy.se). You can also complain to the authority of the country where you live.

Age

AstraMentis is for people aged 16 or older, with no exception. Sixteen is not an arbitrary number: it is the highest age of digital consent a country may set under the GDPR, so from sixteen you can agree to this yourself wherever you live, and no parent has to agree for you. There used to be a line here inviting younger people in with a parent's permission; it is gone, because an app that welcomes children owes them a great deal more than this one is built to give.

You are asked for your date of birth when you create the account, and an account below that age is not created at all. Accounts of people under sixteen are removed.

Changes

If this notice changes in a way that matters, the date at the top changes and the app shows the new text the next time you open your profile. The operator keeps every earlier version of this text; ask for any of them at the contact below and you will get it.

Operator contact

support@astramentis.org

TermsCreditsBack to sign in