Privacy policy
Last updated:
Przepisnik is a personal app for managing recipes and planning cakes. This policy describes what data we collect, how we store it and what rights you have.
What data we collect
- Account data: the email address and password used to sign in (the password is stored by PocketBase as a hash, never as plain text).
- Content you create: recipes, categories, units, notes and cakes — stored solely under your user ID.
- Anonymous usage statistics: self-hosted analytics (Umami) records page views, referrer, country and device type. No cookies, no localStorage, no advertising identifiers and no stored IP addresses. The data goes only to our own server in the European Union (stats.plocic.dev).
- App usage events (“Help improve Przepisnik”): while you are signed in, we record in our database (PocketBase) which features were used and when — e.g. opening the app (once a day), adding or importing a recipe, turning on reminders, marking a dish as cooked. We store only the event name and date, tied to your account — never recipe content or anything you type. The data is not shared with any third party and is used only to improve the app. The legal basis is our legitimate interest (Art. 6(1)(f) GDPR). You can turn it off at any time in Settings → Privacy, after which nothing is sent.
- Error diagnostics: if the app hits an error, you can send a technical report (error message, stack trace, page address, app version) to our own server (report.plocic.dev) by clicking “Report a bug” on the error screen. In the mobile app, if an error happens outside such a screen (e.g. the app closes), the report is kept briefly on your device and the next time you open the app we ask whether to send it — declining deletes it. The report is sent only when you tap — nothing is sent automatically — and it contains none of your personal data or recipe content.
Where the data is stored
- PocketBase (a self-hosted instance on Elestio, EU) — your recipes and other content, plus your login data, accessible only when signed in. The exception is uploaded recipe photos and avatars: they are served from unguessable links that don’t require signing in, so anyone who has the exact link can open the image.
- Browser session / system keychain — a refresh token, used so you don’t have to sign in every time you open the app. The active session token is never written to disk — it lives only in the app’s memory.
- Our own server (Hetzner, EU) — this website, anonymous visit statistics (Umami) and the technical error reports described above. No personally identifiable data is stored there.
How long we keep data
Your account and data are kept until you delete your account. When you delete your account, all your recipes, categories, units, notes, cakes and login data are permanently deleted. App usage events are kept for at most 13 months (and are deleted together with your account).
Your rights
- Access: all your data is visible in the app when you are signed in.
- Correction: you can edit or delete individual entries at any time.
- Deletion: under Settings → “Delete account” you can delete your account together with all your data at any time. This cannot be undone.
- Export: if you need a copy of your data before deleting your account, write to the address given below — we will prepare a JSON file.
Who we share data with
We do not sell data or share it with third parties for marketing purposes. We store data on our own self-hosted infrastructure: the app and statistics on our own server (Hetzner, EU), the database on Elestio (EU) — these are processors acting on our behalf in line with their own security policies. We host visit statistics and performance measurements ourselves on our own server in the EU, so we do not share them with any external analytics platform.
Contact
Privacy questions can be sent to the email address registered as the app’s contact in the developer console (get in touch via the project’s GitHub page if you don’t know it).
Changes to this policy
If we change this policy, we will update the date at the top of the page. Major changes will be announced in the app before they take effect.