Privacy policy
Last updated: 13 October 2026
Mela is a Maltese flashcard app, published by CB Scala, Malta. This policy explains what happens to information when you use the app and when you visit mela.cbscala.com. It is short because both do very little with your data.
Everything you learn stays on your phone
Mela has no account. There is no email address, no password and no sign-in. Learning needs none of them, and neither does the one optional extra, the weekly League (below). We could not identify you if we wanted to.
Your progress — which cards you have seen, when each one is next due, your streak, your settings and which packs you own — is stored on your device only. It is never uploaded, never synced and never visible to us. If you join the League, the phone tells it two facts about each session you finish, and nothing more (see below).
A consequence we state plainly rather than bury: a new phone starts your study history at zero. Packs you have bought come back with “Restore purchases”, because purchases live with your App Store or Google Play account, not with us. If your device backup includes app data, a restored phone will usually keep your progress, but we do not promise it.
What does leave your phone
Anonymous usage data
Mela sends counts and outcomes so we can see which parts of the app help people learn: that a session was started and finished, roughly how accurate it was as a band, which pack it came from, and whether a screen was reached. Each of these also says which version of Mela sent it, whether the phone runs iOS or Android, and the language and region the phone is set to (for example “en-GB”). This is on from the first time you open the app, and one switch turns it off: “Anonymous usage data” in the Me tab. Nothing is sent while it is off.
It never includes a word you studied, a card you got wrong, anything you typed (the only thing you can type is a search of your own word list, and that never leaves your phone), or anything that identifies you or your device.
This is tied to a random identifier created when you install the app. It is not your advertising id and not a device id, and we hold nothing that would let us connect it to a person. Turning the switch off replaces it with a new one, so nothing sent before can be connected to anything after. (The identifier used for purchases, below, is kept, because it is how the app knows what you own.)
Processed by PostHog on servers in the European Union. Kept for 12 months, then deleted.
Crash reports
If the app crashes, a diagnostic report is sent so we can fix it, unless you have switched “Anonymous usage data” off. It contains the error and where in the code it happened. File paths are stripped before sending. It carries the same random identifier as the usage data and no personal information.
Processed by Sentry on servers in the European Union. Kept for 90 days, then deleted.
Turning off “Anonymous usage data” turns off crash reporting too.
Purchases
If you buy a pack or subscribe, the transaction is handled by Apple or Google. We never see your card details. RevenueCat manages the receipt so the app knows what you own; it receives a random identifier created when you install the app and nothing else about you. It starts out the same as the usage-data identifier, and it is not replaced when you turn usage data off, because your purchases are kept against it. RevenueCat is based in the United States, so this is the one place stored data leaves the EU. That transfer is covered by the European Commission’s standard contractual clauses.
The League — only if you join
The League is a weekly board on which players earn points for the sessions they finish. Joining is optional, has no sign-in, and is never needed to learn. Nothing below happens unless you join.
- Your player. Mela draws your player’s name for you — a Maltese animal and an adjective, such as “Qattus Ħelu” — and you assemble a face from a fixed set of drawn parts. You cannot type a name, so nothing you write is ever shown to anyone, and your real name never is. Our server stores the name, the face, a random player number and when the player was created.
- Your sessions. When you finish a session, the phone sends the time it finished and a random number for the session. The server works out your points from that. Your answers, your accuracy, the words you studied and the rest of your study history stay on your phone. (Until 13 October 2026 the phone also sent the ids of words that reached “mastered”; the server has deleted them, and ignores any an older version of the app still sends.)
- Your key. Joining gives your phone a random key, kept on the phone. The server keeps only a scrambled copy of it (a hash). The key is the only way back to your player, so if you delete the app, your player cannot be recovered.
- What other players see: your player’s name, face, points and rank, for this week and last week. Nothing else.
- Reports. If you report a player, the server records that your player reported theirs, and when. The reported player is hidden on your phone.
- Who handles it. Our server runs on Cloudflare. The League’s data is stored only in Cloudflare’s European Union jurisdiction, although each request is answered by the Cloudflare data centre nearest to you — outside the EU, if that is where you are — under the European Commission’s standard contractual clauses. To answer your phone, Cloudflare necessarily sees its IP address; we use it only to limit how many new players one address can create in a minute, and we never store it with your player. The server’s technical logs are kept for a few days, at most 7, for fixing faults.
- How long it is kept. Until you leave the League. A player that has not been used for 12 months is deleted automatically, with everything it holds. Points and session records older than eight weeks are deleted every day. Reports are deleted after 12 months.
- It is not linked to the usage data. The League never receives the anonymous usage-data identifier, and the usage data never carries your player — not its number, not its name.
Leaving the League
In the app: Me → League → Leave the League. It deletes your player and everything the server holds about it, straight away. Your learning on the phone is untouched, and you can join again whenever you like, as a new player.
If you no longer have the app, write to contact@cbscala.com with your player’s name and roughly when you last played, and we will delete it within 30 days — or simply wait: a player nobody uses is deleted after 12 months.
The website
mela.cbscala.com sets no cookies. It stores nothing on your device — no cookie, no local storage, nothing. There is no banner to dismiss because there is nothing to consent to.
It does count visits and presses, so we can tell whether the page explains the app. A visit records the path you opened, the domain that sent you — the domain only, never the full address you arrived from — and your browser, operating system and device type. A press on an App Store, Google Play or email link records that it was pressed, and which one.
Your IP address is discarded before the visit is stored. Nothing connects one page to the next, or one visit to another: we cannot tell whether two visits are the same person, and we cannot connect a visit to anything in the app. That is a deliberate limit, and it is why there is nothing here to opt out of.
Processed by PostHog on servers in the European Union, the same as the app. Kept for 12 months, then deleted.
What Mela never does
- It never asks for your name, email address or phone number. (A League player’s name is drawn by the app, not asked for.)
- It never uses your microphone, camera, contacts or location.
- It never shows advertising and never shares anything with advertisers.
- It never sets a tracking cookie, in the app or on the website.
- It never sells data. There is nothing to sell.
Notifications
If you allow them, Mela’s notifications are scheduled by your phone itself. There is no push server, so nothing about them leaves the phone. They are:
- a daily reminder at the time you chose, never on a day you have already studied;
- a note on the evening a streak is about to end;
- once, three minutes after you open the purchase screen yourself, a note that the subscription can be tried for free — only when the store says you can, and never with a price;
- on Mondays at 8:00, that a new League week has begun. You can switch this one off on its own, in Me → League.
If you stop opening the app, they stop after a week. You can turn them all off in the Me tab or in your phone’s settings.
Children
Mela is not directed at children under 13 and collects nothing that would identify anyone of any age.
Kids mode sends nothing at all: while it is on, no usage data and no crash reports leave the phone, the League is out of reach and nothing a child does scores, and the Monday League notification is not sent.
Why we are allowed to do this
Under the GDPR, the anonymous usage data and crash reports rely on our legitimate interest in knowing which parts of the app help people learn and in fixing what breaks. You can object at any moment, without giving a reason: switch “Anonymous usage data” off in the Me tab and nothing more is sent. Handling a purchase relies on performing the contract you entered into when you bought a pack. The League relies on performing the contract you enter by joining it — a board cannot show your player without holding it — and you can end that contract at any moment by leaving. Limiting how many players one address can create relies on our legitimate interest in keeping the board free of fake players. The website’s counts rely on our legitimate interest in knowing whether the page works; they store nothing on your device and carry no identifier, which is why they sit outside the consent switch and behind no banner. There is no other processing, and none of it is used to profile you or make a decision about you.
Your rights
You have the right to ask what personal data we hold about you, to correct it, to have it deleted, to object to it being processed, and to receive a copy. In practice there is very little we can act on: we hold no name, no email and nothing that connects the random identifier to you, so we usually cannot find “your” data in order to show it to you. The League is the exception: tell us your player’s name and we can find your player, show you what it holds, and delete it.
What you can do yourself is immediate and complete:
- Reset all progress in the Me tab, or delete the app, erases everything Mela has stored on the device.
- Leave the League in the Me tab deletes your player and everything the server holds about it.
- Switching Anonymous usage data off stops all further sending and retires the random identifier.
If you want to raise something with us anyway, write to contact@cbscala.com and we will answer within 30 days. If you are not satisfied, you can complain to the Office of the Information and Data Protection Commissioner in Malta, at idpc.org.mt, or to the supervisory authority in your own country.
Changes
If this policy changes we will update the date above and note the change in the app’s release notes.
Contact
CB Scala, Malta — contact@cbscala.com