Privacy Policy
How mati handles your data.
Last updated: 28 July 2026
mati is a personal recipe manager. This policy explains what we collect, why, and the rights you have over your data under the GDPR.
Who we are
The data controller for mati is the operator of this service. For any privacy question or to exercise your rights, contact us at <replaceme>@email.com.
What we collect
- Your email address: used as your account identifier and for sign-in, password reset, and security notifications. It is held by our identity provider; mati's own database stores no email address, only the opaque user ID that provider issues.
- Your recipe content: recipes, versions, notes, categories and pantry items. All of this is stored end-to-end encrypted and is opaque to us.
- Authentication data: your password is never sent to anyone, including us. Your browser derives a separate sign-in secret from it, and that is what our identity provider stores and checks. The secret cannot be turned back into your password, and it cannot decrypt anything. If you enable two-factor authentication, your authenticator secret is held by that same provider.
- A daily counter: the number of recipe generations you have made today, so the daily limit can be enforced. It is a number against your user ID, with no content attached.
We do not use analytics, advertising, tracking pixels, or any third-party trackers. There are no cookies used for tracking.
How your encryption works
For the technically curious, here is exactly how it works:
- Your recipes are encrypted in your browser with AES-256-GCM (Web Crypto), under a random 256-bit master key.
- The master key is never stored in the clear. It is kept wrapped (encrypted) twice: once with a key derived from your password using Argon2id (memory-hard, 64 MiB / 3 iterations), and once with a random recovery code shown to you one time.
- Your password never leaves your device. Argon2id turns it into a secret that stays in your browser to unwrap the master key, and a second, one-way secret used purely to sign in. Our identity provider only ever sees the second one, so even a complete breach of it cannot decrypt your recipes. mati's own servers only ever hold wrapped keys and ciphertext.
- Changing your password simply re-wraps the master key, so your recipes are not re-encrypted and never leave your device unencrypted.
- Forgot your password? Your recovery code unwraps the master key and re-wraps it under a new password, so your recipes survive the reset.
Legal basis
We process your data to provide the service you signed up for, on the Terms of Use; this is performance of a contract (GDPR Art. 6(1)(b)).
Who processes your data (sub-processors)
- Scaleway: hosts the website, the API and your encrypted data, in France (Paris,
fr-par). Scaleway sees only ciphertext, an opaque user ID and timestamps. - Hanko: our identity provider (Hanko GmbH, Germany). It handles sign-in and holds your email address, your derived sign-in secret and, if you enable it, your two-factor secret. It never sees your password, your recipes, or any encryption key.
- Mistral AI: when you use the "generate recipe" feature, the recipe title you type is sent to Mistral AI (based in the EU), which returns a suggested recipe. This is the one feature where content leaves your device unencrypted, and only for that request. Neither the title nor the suggestion is stored on our servers.
If you never use recipe generation, none of your content is ever sent to Mistral.
International transfers
Your data is hosted within the European Union (France and Germany). All of the sub-processors above operate in the EU, so your data is not transferred outside it in the normal course of using mati.
How long we keep it
We keep your data for as long as your account exists. When you delete your account, your recipes and account are permanently erased and cannot be recovered.
Your rights
Under the GDPR you can, at any time:
- Access and export your data: use Settings → Export my data to download everything as a JSON file.
- Rectify your data: edit your recipes and details directly in the app.
- Erase your data: use Settings → Delete account to permanently remove your account and all content.
- Data portability: the export above is provided in a machine-readable JSON format.
You also have the right to lodge a complaint with your local data protection authority.
Changes to this policy
If we make material changes to how we handle your data, we will update this page and its "last updated" date.