← Back to LifePocket
Česká verze
✨ LifePocket
Privacy Policy
Effective from: 16 October 2026 · Controller: Adam Štencl
This page explains what personal data LifePocket processes, why, who has access to it and how long we keep it. The app is free, has no ads and no tracking tools. We do not sell your data.
1. Data controller
2. Sign-in and your account
You can sign in in two ways. Accounts are managed by Firebase Authentication (Google).
- With a Google account: Firebase receives your email, name and a link to your profile photo from Google. The app only shows the photo in the header and does not store it in its database. The name from your Google account is used only if you have not set a nickname (for example, as your name in a group).
- With email and password: Firebase stores your email and password (the password in a secure form; we never see it). When you register, Firebase sends you an email to verify your address and, on request, an email to reset your password.
3. What data we store
Everything you enter in the app is stored in the Firebase Firestore database (Google) under your account:
- Profile: name or nickname, gender (only so that Czech words use the correct grammatical form, e.g. “splnil/splnila”, meaning “completed”), your chosen AI companion (avatar), the modules you selected and your starting template (Family, Student, Health or Goals and growth), the date you last opened the app (see section 8), daily calorie goal, vision and life areas, weekly meal plan, daily focus and its history, custom event types, notification settings, group alert settings (
groupNotif), the time of the last group alert sent to you (groupNotifSent) and the time you last opened “What’s new” (groupFeedSeen), hydration settings (daily goal, cups with their size and icon, reminders: on or off, from when to when, how often and whether only when you are behind, the linked habit water.habitId), today’s drinking status (waterDay: date, ml drunk and the time of the last entry; saved only when reminders are on), a record of hydration reminders sent (waterSent, written by the server, see section 7), group memberships, participation in challenges of the month and week (pc, see section 6), Simple mode (simple, your answer to the starting question start, the day it was turned on simpleAt), the days when more features were revealed (unl, e.g. points or the main task of the day) and the state of suggestions for more features (nudge: when the last suggestion was shown and when each suggestion was last shown (nudge.shown), your Yes / No / Later answers and, per module, the number of days you actively used the app and the first and last such day (nudge.act), without the content of your entries)
- Goals and sub-goals; for a measurable goal also the starting and target value, unit, the last 60 logged values and milestones reached (25, 50, 75 and 100%)
- Habits and records of completing them, including the time of completion (hour and minute, for the “Early bird” badge), pauses (from when to when and the reason: sick, holiday, other) and used streak shields. A day the app completed by itself after you reached your Hydration goal is marked
src: "water"; if you cancel such a day by hand, it is saved as not counted with the manual marker so that it is not completed again. Sample habits created on first launch are marked sample so they can be deleted with one button
- Points and levels: points for completed habits and goals per day, your level, badges and the date you earned them, streak shields, goal milestones and chosen avatar accessories. They are calculated from your records and you can turn them off in Settings. Nobody else sees them, not even members of your groups. The weekly summary and badge images are put together only on your device and leave it only if you share them yourself.
- Journal entries (diary), including mood and photos
- Checklists, including photos attached to items
- Calendar events and birthdays (these may include names of other people that you enter)
- Shopping list, recurring purchases, saved recipes and planned meals
- Personal pantry (subcollection
pantry): name, quantity, unit, minimum quantity, time of the last change updatedAt and, for items copied when leaving a group, the group’s name copiedFrom. Up to version 4.69 the pantry outside a group was stored only on the device; after you sign in to the new version it is moved to your account once (the same item with the same unit is added to the one already in your account) and deleted from the device. Moved items carry a transfer marker migIds (a code derived from the random device ID) so the same pantry is not added twice.
- Frequently bought items: from items you tick off as bought, the app keeps a summary of what you buy, how often, when last, the last quantity and category, and which items you have hidden. It is used only to offer quick adding in Shopping. Items you have not bought for a long time drop out of the offer on their own.
- Food logs (name, calories and nutrients) and health logs (mood, sleep, energy, stress, water, note)
- Hydration (subcollection
water): per day the amount drunk, the daily goal and for each entry its time and amount. The app shows and loads the last 28 days; older days are not deleted automatically. They are deleted when you delete your account.
- Conversations with the AI companion: the last 30 messages and a summary of older conversations created by the AI (see section 4)
- Reported AI responses, if you report any (see section 4)
- Device tokens for push notifications (see section 7)
- Technical error logs (see section 8)
Photos are resized on your phone and stored directly in the Firestore database with the journal entry or checklist item. We do not use any other file storage, and photos are never sent to the AI.
Some data stays only on your device (e.g. favourite purchases); see section 13.
4. AI features
AI features are provided by the Anthropic API (Anthropic PBC, USA). The app sends your request to our server (Firebase Cloud Functions, function claudeProxy, region europe-west1 in the EU), which simply passes it on to Anthropic. The server does not store the content of requests or responses and does not write it to logs. It only stores the number of AI requests per day (see section 8).
What is sent to the AI:
- Chat with your companion: your message, the last 10 messages of the conversation, the summary of older conversations and an overview of your data from the modules (goals, habits, your last 5 journal entries in shortened form, mood over the past 7 days, checklists, shopping, calendar for the next 90 days, pantry, meal plan, recipes, food, health, hydration (amount drunk, number and time of entries, goal met over 7 days), focus, weekly report and groups). Group data is included in the overview as you see it in the group, i.e. including the group name, number of members and, for shared events, the name of the person who added them. Every 20 messages, the AI creates a summary of older messages, which is saved to your account.
- Saving a journal entry: if the entry text is longer than 20 characters, the app automatically sends it to the AI after saving so it can find planned meals and completed or new habits. If you do not choose a mood, the AI suggests one based on the text.
- Other AI features that you use or that run in the app: morning greeting and weekly report (habit completion including habit names, number of journal entries and mood, names of people celebrating birthdays), daily summary (your text, vision, goals and today’s habits), quote of the day, calorie estimate (name of the food), recipes and cooking instructions (name and ingredients), meal plan suggestion and shopping suggestion (recipe names and pantry).
The AI also receives your name or nickname. We do not send it your email, password, device tokens, gender or photos. How long Anthropic keeps data is determined by that provider’s policies.
Reporting an AI response: on every response from the AI companion you can tap “⚑ Report”. Your account (subcollection aiReports) then stores the reason you chose (inappropriate, untrue, offensive, other), your optional note (up to 500 characters), the text of the reported response (up to 2,000 characters), the time and the app version. Reports are used only to review and improve AI responses and to protect against inappropriate content. They are not sent anywhere else, not even to Anthropic. They are deleted together with your account.
5. Groups (sharing with family and others)
Anyone can create a group and invite other people to it. Group data is kept in a shared space in Firestore that only the group’s members can access. Anyone with the group code or invite link can see the group name and the name of its founder before joining.
What other group members can see:
- the group name and member list: your name or nickname, avatar, date you joined and role (founder / member)
- depending on what the group has turned on: the shared shopping list (including the shared summary of frequently bought items: name, category, how often and when last they were bought and the last quantity, without member names; your hidden items are visible only to you), events you share with the group (including who added them), the group’s meal plan, the group’s pantry (the main group always shares it, other groups together with the shopping list; your personal “Mine” pantry stays only in your account) and checklists you mark as shared, including photos attached to items
- the history of changes in the group (“What’s new”): who added, edited, ticked off or deleted what in the shared modules (your name, grammatical gender for correct Czech wording, the type of change and the item name, up to 60 characters). The history is deleted automatically after 7 days, even if you leave the group. If you delete your account, your records are deleted immediately.
- notifications sent to other members by an older version of the app with the “Notify others” button (your name and a short message)
- habits you explicitly share: the name and emoji, how often you do the habit, its type and target count, whether it is done today and today’s value, your streak (current and best), the last 7 days and whether the habit is paused. Reminders, the linked goal and older history are not shared. You turn sharing on for each habit separately (habit detail → Sharing) and choose the group, and you can turn it off at any time. Completing a shared habit and streak milestones (7, 30 and 100 days) appear in the group’s history of changes. Other members cannot edit your habits.
- goals you explicitly share: the name and emoji, colour, progress in percent, deadline, the day it was reached, milestones reached (25, 50, 75 and 100%), the number of completed sub-goals. For a measurable goal, the start, target and current value with its unit (e.g. kg) are shared only if you explicitly turn this on (Sharing → “Share the values too”); otherwise others only see the progress in percent. The description, category, priority, sub-goal names, tasks, linked habits and the history of logged values are not shared. You turn sharing on for each goal separately (expanded goal → Sharing) and choose the group, and you can turn it off at any time. An archived shared goal stays in the group marked as completed and archived. Reaching a milestone or completing a shared goal appears in the group’s history of changes. Other members cannot edit your goals.
- notes you explicitly share: the title and the full text, read-only. Your mood, photo, date and your other notes and journal are not shared. When you edit a shared note, the change is shown to others right away. You turn sharing on for each note separately (open note → Private / group name) and choose the group, and you can turn it off at any time. Sharing a note appears in the group’s history of changes (with its title).
- recipes you explicitly share: the full recipe (name, time, servings, meal type, ingredients, steps and tip). Other members can save it to their own recipes: this creates their own copy in their account, which stays with them even if you stop sharing or delete your account. You turn sharing on for each recipe separately and can turn it off at any time. Sharing a recipe appears in the group’s history of changes (with its name).
- reactions and comments (👏 🔥 ❤️ 💪 and a short message up to 200 characters) you give or receive on a shared habit, goal, note or recipe or in the history of changes, including your name. The recipient gets a notification. They are deleted automatically after 30 days; a comment can be deleted by its author, the recipient and the group admin. The comment text is stored only with the comment itself, so a deleted comment also disappears from the history of changes and no notification is sent for it.
- group challenges you create in a group or join: the challenge name, target, unit, duration and who created it; for everyone who joins, their contribution (a total, or the days they completed the challenge and the day they joined). In the app, other members only see that you contributed, and the shared number. Individual contributions (sorted by name) are shown only if the challenge creator or a group admin turns them on. Any group member can create a challenge; the creator and the group admin can end or delete it. Creating and completing a challenge appears in the group’s history of changes. A challenge, including contributions, is deleted automatically 30 days after it ends. You can leave a challenge at any time and your contribution is removed.
Group members cannot see the rest of your personal data (notes and journal entries, habits, goals and recipes you do not share, mood, health, AI chat and so on).
Invitation: each group has a code such as WORD-K7M2QX (older groups have a shorter code, e.g. WORD-1234). Anyone who knows the code or receives an invitation link (lifepocket.app/?join=CODE) can, after signing in, see the group name and member list and join the group. With a link, the app always asks before joining. The code is the group’s only protection, so share it only with people you trust. The group admin can generate a new code at any time: the group’s data and members move to the new code, and the old code and earlier invitation links stop working. Members who are offline at that moment may lose changes they have not yet sent. Any member can change the group’s sharing settings.
Leaving a group: when you leave, your name, avatar and role are removed from the member list and the app stops showing you the group and its data. The same applies if another member removes you from the group: your app removes the group by itself the next time it loads. Content you added to the group (shopping items, events, checklists, etc.) stays in the group for the other members. The shared summary of frequently bought items also stays in the group, but it contains no names. When you leave or are removed from a group, your shared habits, goals, notes and recipes and your contributions to group challenges are removed from it. Reactions and comments you gave to others remain for up to 30 days. The group itself cannot be deleted in the app, except when you delete your account (see section 11): a group in which you are the only member is deleted entirely. You can ask us by email to delete a group or your data in it. When leaving, you can have the group’s shared content (everything, or only items you added) copied to your personal shopping list, calendar, checklists, meal plan and pantry. The copy is yours alone and other members do not see it. When everyone has left a group, its data stays stored with no access. Whoever created or left the group can bring it back in Settings (“Restore a previous group”); for this, the app remembers in your profile the codes of up to 20 groups you have left.
6. Challenge of the month and week
When you join a public challenge (Challenge of the month or Challenge of the week), we store the nickname you choose for the challenge, the time and day you joined, the days you check off and their number. This data is stored in the challenge’s shared space under a technical participation identifier. It is a hash (SHA-256) computed from your account identifier and the challenge: your account identifier can’t be read from it directly and it differs in every challenge. Anyone who knows your account identifier (for example people in your groups) can compute the hash and link the participation to you.
- What others see: all signed-in LifePocket users see your nickname and number of completed days on the leaderboard; never your name, email or avatar. All participation data is technically readable by signed-in users: the nickname, the time you joined (and the day your participation counts from), the days you checked off, their number and the technical participation identifier.
- Groups: people in your groups will recognise you on the group leaderboard (they see your group name next to your nickname).
- Nickname: don’t use your name or email. The app does not accept nicknames with offensive words. The app administrator may remove inappropriate nicknames: a removed participant disappears from the leaderboard and can’t rejoin that challenge (we only keep the technical participation identifier and the time of removal).
- Notifications: your profile records which challenges you are in, whether you want the evening reminder and the last day you checked off (
pc), so the server can send notifications (new challenge announcement and evening reminder). You can turn them off in Settings → Notifications.
- Leaving: in the app you can leave a challenge while it is running and for 7 days after it ends; this deletes your challenge data. After that, it is deleted when you delete your account or when you ask the app administrator by email (section 12). For statistics we keep only anonymous totals (how many people joined), without nicknames.
7. Push notifications
You receive notifications only if you allow them in your browser or on your phone. They are delivered by Firebase Cloud Messaging (Google) through the push service of your browser or operating system (e.g. Google, Apple, Mozilla).
- For each device we store a delivery token, the platform type, the date of the last update and a random device ID.
- The token is deleted when you sign out, if the device is online. In addition, when sending notifications the server deletes tokens that the service marks as invalid and tokens older than 60 days, and keeps no more than the 10 most recent devices.
- So that it can send you reminders, every 5 minutes the server reads from your account: your nickname, gender, notification settings, tokens, habits (name, emoji, reminder time), today’s habit completion records, events from your calendar and from your main group’s calendar (name, date, time, type) and your hydration settings with today’s drinking status (
waterDay). The notification text is put together from this data and sent; it is not stored or logged anywhere. The server skips the reminder for a habit linked to Hydration (water reminders replace it, or today’s water goal is already met). So that a hydration reminder is not repeated, the server writes to your profile when and which reminder it sent (waterSent: date, time of your last drink, reminder number and type of text).
- Depending on your settings (Settings → Notifications → Group alerts), we send you alerts about changes other members made in the group. The text contains the author’s name and item names. For this we remember in your profile when we last sent you an alert.
- The “notify group” feature (
notifyFamily, only in older versions of the app) sends your nickname and a message (up to 200 characters) to the other members. The “test notifications” feature (testPush) sends a test notification only to you.
You can turn notifications off at any time in the app settings or in your browser.
8. Technical records
- Number of AI requests: to prevent abuse there is a limit of 50 AI requests per day (every AI call counts, including the automatic analysis of journal entries). The server stores only the date and the number of requests for that day. The day is based on Czech time, so the limit resets at midnight. The first request of the next day overwrites the record.
- Error logs: when a technical error occurs in the app, the following is saved to your account (subcollection
errorLogs): the error message text, the location in the code, the beginning of the stack trace, the time, the app version and a shortened browser identifier. Before saving, we remove emails, web address parameters, group codes, identifiers and longer quoted texts from the text. At most 15 records are saved per app session, and only when you are signed in and online. They are used only to fix bugs.
- Server operation logs: the server functions write only technical information to Google Cloud logs (e.g. account ID, error code, number of notifications sent), not the content of your data or the text of notifications.
- Date last opened: when you open the app, we save the date you last opened it to your profile (at most once a day). Once a day, the server uses this to calculate only aggregated anonymous figures (e.g. how many people used the app in the past week, the number of groups and AI requests), without names, emails or the content of your entries.
- Hosting: the website runs on GitHub Pages (GitHub, Inc., USA). When the page loads, GitHub sees your IP address and browser information in its server logs.
9. Who is involved in processing
- Google (Firebase Authentication, Firestore, Cloud Functions, Cloud Messaging): sign-in, data storage, server functions, notifications. Firebase libraries and fonts (Google Fonts) are loaded from Google servers, which see your IP address when doing so.
- Anthropic: processing of AI requests (section 4).
- GitHub: website hosting (section 8).
- Formspree (Formspree, Inc., USA): when you send a message through the “Write to us” form, Formspree receives your email and the message text and delivers them to us.
- Voice input: dictation uses the speech recognition built into your browser. Some browsers (e.g. Chrome) send the audio to their maker’s servers for processing.
- Sharing a link: the “Share LifePocket” and “Send invitation” buttons open sharing directly on your device (or copy the text to the clipboard). You choose who you send the link to and how; nothing is sent to us or anyone else.
- Supporting the project: the app does not process any payments. The Czech bank QR payment for a voluntary contribution only passes the account number, amount and message to your banking app; you confirm the payment and your bank carries it out, the app knows nothing about it. The QR code is created directly on your device and nothing is sent anywhere for it. The BTC Lightning QR code leads to your Lightning wallet, which processes the payment under its own terms. Project support is not shown in the app downloaded from Google Play.
Anthropic, Google, GitHub and Formspree are US companies, so data may be transferred outside the EU. Such transfers are safeguarded by standard contractual clauses approved by the European Commission or by the EU-US Data Privacy Framework, depending on what the provider uses.
10. Why we process data and on what legal basis
- Performance of a contract (Art. 6(1)(b) GDPR): your account, storing and syncing your data, AI features, groups. The app cannot work without this.
- Consent (Art. 6(1)(a) GDPR): push notifications. You give consent by allowing notifications and can withdraw it at any time by turning them off.
- Legitimate interest (Art. 6(1)(f) GDPR): error logs, the daily AI request limit, operation logs and protection against abuse, and replies to messages from the contact form.
Journal entries, moods and health records may contain sensitive data. You enter them voluntarily, and we process them only to show them to you and so that the AI features you use can work with them.
11. How long we keep data
- We keep the data in your account for as long as the account exists.
- Deleting your account: you can delete your account directly in the app (Settings → Account → Delete account). All data in your account (including error logs, AI reports and the AI request count record) is deleted immediately and permanently, the account itself is deleted and you leave all groups. A group in which you were the only member is deleted entirely. Content you added to a shared group (shopping items, events, checklists, etc.) remains available to the other members, including your name on those items (
addedByName). When you delete your account, we also delete your participation in challenges of the month and week (nickname and checked-off days), your shared habits, goals, notes and recipes, contributions to group challenges, reactions, comments and change history in all groups (including others’ reactions to your items). Your personal summary of frequently bought items is deleted with your account; the shared summary of a shared shopping list stays in the group, without your name. Group challenges you created stay in the group (the challenge name and settings, without your contributions) until they are deleted automatically 30 days after they end. If you were the group’s only admin, the member who has been in the group the longest takes over as admin. Before deleting, you can download a backup of your data (section 12). Alternatively, you can ask us by email to delete your account (section 12) and we will delete the data within 30 days.
- We delete error logs older than 90 days manually during regular clean-ups (deletion is not automatic).
- The AI request count record contains only the last date and count, and it is deleted together with your account.
- Content you added to a group stays in the group even after you leave (section 5).
- The history of changes in a group (“What’s new”) is deleted automatically after 7 days (section 5).
- We keep challenge of the month and week data for as long as your account exists or until you leave the challenge (section 6).
12. Your rights
- Access and data portability: a copy of all your data is available to you at any time; you can download it in the app (Settings → Account → Download my data) as a file in the machine-readable JSON format. For groups, the export contains only their code and name, not other members’ content. On request, we will also send you a copy of your data by email.
- Rectification: you can edit most data directly in the app; we will correct anything else on request.
- Erasure (right to erasure): you can delete individual items in the app and delete your whole account yourself in Settings → Account (the data is deleted immediately; see section 11). If you ask by email, we will delete your account within 30 days.
- Restriction of processing and objection: you can object to processing based on legitimate interest.
- Withdrawal of consent: by turning off notifications.
- Complaint: you can contact the supervisory authority, the Czech Office for Personal Data Protection (ÚOOÚ, uoou.gov.cz). You can also contact the supervisory authority in the EU country where you live or work.
To exercise your rights, write to adam.stencl@gmail.com. We will reply within 30 days.
13. Storage on your device and cookies
LifePocket does not use advertising or tracking cookies. It stores in your browser only what it needs to work:
- IndexedDB: Firebase sign-in and data for push notifications.
- sessionStorage: only while the app is running, the
lp_twa flag indicating that the app from Google Play is running (used to hide project support) and, when switching the language on the sign-in screen, briefly lp_auth_panel (which sign-in panel to reopen after reloading; deleted right after use).
- Cache (service worker): app files for working offline and pending “Done” actions from notifications.
- localStorage:
- app settings and state: theme
lp_theme, notification settings lp_notif, random device ID lp_device_id, last version shown lp_seen_version, expanded groups in the menu lp_open_groups, last opened Meal plan tab lp_meal_tab, the selected Shopping, Meal plan and Pantry list (Mine or a group) lp_view_shop, lp_view_meal, lp_view_pantry, guided tour, hints and intro tips lp_tour_done, lp_tour_pending, lp_hint_…, lp_qs_dismissed, lp_qs_done, hidden “Invite family” cards in Shopping and Calendar lp_ih_shop, lp_ih_cal, the dismissed card about group alerts lp_gn_intro, the day shared habits were last refreshed in each group lp_sh_day (group code and date), the collapsed “Shared in the group” section in Habits lp_sh_closed and in Goals lp_shg_closed, the selected app language lp_lang and lp_lang_sync (the language is also saved in your profile as lang so it applies on all your devices; your device time zone is also saved in your profile as tz so reminders and summaries arrive at the right local time), dismissed installation guides ios-dismissed and pwa-dismissed, a pending group invitation lp_pending_join (valid for 7 days), a marker that the device has already launched the app from Google Play lp_twa_seen, and the identifier of the account the local data belongs to lp_owner_uid (the app also uses it to recognise that you have signed in here before and shows the sign-in screen straight away instead of the welcome page)
- personal data only on this device: the former pantry outside a group
lp_pantry (only from older versions: after you sign in it is moved to your account once, then deleted from the device), favourite purchases lp_fav_shop, today’s mood lp_daily_mood, daily focus and its history lp_focus, lp_focus_next, lp_focus_history, the former water counter lp_water (only from older versions: today’s glass count is moved to your account once when you turn on Hydration, then deleted from the device; an older state is deleted straight away), weekly report text lp_weekly_report, quote of the day lp_daily_quote
- the dismissed “New: Hydration” card
lp_wt_intro
- expanded groups in Settings (Advanced, Support, Account)
lp_set_open
- markers so that reminders and greetings are not repeated: times of the last 20 drinks logged from a notification button
lp_wt_seen (so the same drink is not logged twice), lp_rex_greet, lp_last_remind, lp_sched_…, lp_hrnotif_…, lp_notif_…, lp_inactivity_shown_…
- challenge of the month and week: the last loaded list of challenges and your participation for quick display
lp_pc, hidden challenge cards lp_pc_hide and the last nickname used lp_pc_nick
When a different account signs in on the same device, the previous account’s personal local data (former pantry, favourite purchases, mood, focus, the former water counter, the Hydration markers lp_wt_intro and lp_wt_seen, weekly report, quote of the day, the state of intro tips on the home screen, hidden “Invite family” cards and challenge of the month and week data lp_pc, lp_pc_hide, lp_pc_nick) is deleted. If the same account signs out and back in, it is kept. After you delete your account in the app, all lp_… data is deleted from this device except the lp_twa_seen marker.
14. Security
- You can access your data only after signing in through Firebase Authentication.
- Data under your account can be read and changed only by your account.
- Group data can be read and changed only by its members. A specific group can be loaded only by its code; it is not possible to list all groups. A non-member can change a group only by adding themselves to it.
- The server configuration (including the AI key) is not accessible from the app at all, and the key never leaves the server.
- You can only read the AI request counter; only the server can change it.
- Communication is encrypted (HTTPS).
15. Age
The app is intended for people aged 15 and over (the age that applies in the Czech Republic). In other countries, local law may set a different minimum age for consent.
16. Changes to this policy
We will inform you of significant changes through the app (the What’s new section). The effective date is shown at the top of this document.
17. Contact
Do you have a question about how your data is processed? Write to us: adam.stencl@gmail.com
This translation is provided for convenience; in case of discrepancy, the Czech version prevails.