The short version is the whole version: she keeps words, never faces.
In short. Mirra contains no advertising, no tracking SDKs and no third-party advertising analytics. Your photo is never stored — it is analysed in the moment and discarded. We send your photo and a little context to our AI provider under a zero-data-retention agreement; we never send your name, email, or any account identifier with it. Your data lives on servers in the EU. You can delete everything at any time, from inside the app.
Magic Mirror – Mirra is operated by Jan Horák, Prague, Czech Republic. For anything on this page write to hello@magicmirra.app.
| What | Exactly | Why | Legal basis |
|---|---|---|---|
| Account | An anonymous device identifier. An email address and password only if you choose to add one. | To give you an account without asking you for anything, and to let your Grimoire survive a new phone. | Contract, Art. 6(1)(b) |
| What you tell Mirra | The name you want her to use, your life stage, tone preference, language. | To make the reading yours rather than generic. | Contract, Art. 6(1)(b) |
| Camera frame | One still image per reading. Held in memory only, never written to storage. | To generate that day's reading. | Explicit consent, Art. 9(2)(a) |
| Readings | The text Mirra wrote, the essence words, the phase words, the guidance, and whether you cast it. | To keep your Grimoire and give her continuity between days. | Contract, Art. 6(1)(b) |
| Your corrections | Whether you confirmed a reading, and what you corrected it to. | Because you are the authority on how you feel, not the model. | Contract, Art. 6(1)(b) |
| Usage records | Timestamp, model used, token counts, cost, latency. No content. | To know what the service costs to run. | Legitimate interest, Art. 6(1)(f) |
This is the part that matters most, so it gets its own section.
When you look into the mirror, your phone shrinks the frame and sends it to our server. The server holds it in memory, passes it to the AI model, and drops it. It is never written to a disk, never placed in a storage bucket, never saved to a database, never included in an error report, and never used to train any model.
We enforce this in the code itself: an automated test reads our source and fails our build if any file on that path so much as imports a way to write to disk, or declares a database column that could hold an image.
Your reading is generated by a large language model, accessed through OpenRouter (OpenRouter, Inc., USA), which routes the request to a model provider.
AI can be wrong. Every reading is offered as something you confirm or correct, and your correction is what Mirra trusts afterwards. Mirra is for reflection and entertainment. She is not a medical device and does not diagnose, treat, cure or prevent any medical condition, and she is not a substitute for professional support.
Data is stored on a server in the European Union. Readings are kept until you delete them or delete your account. Anonymous cost records are kept indefinitely and are unlinked from you on deletion.
Access, rectification, erasure, restriction, portability, objection, and the right to withdraw consent at any time. Two of them are buttons in the app: Settings → Export my readings and Settings → Delete everything. See deleting your account.
You may also complain to the Czech supervisory authority, the Úřad pro ochranu osobních údajů (uoou.cz).
Mirra is for adults. It is not directed at children and we do not knowingly create accounts for anyone under 18.
If we change anything material, the app shows you the updated disclosure and asks you to confirm it again before your next reading.