Life Log - Privacy Policy Supplement
Effective Date: October 15, 2026
Last Updated: October 15, 2026
This Privacy Policy Supplement is specific to Life Log and supplements WagDev LLC's general Privacy Policy and Data Security Standards.
1. Life Log Data Collection
1.1 Information You Provide
Basic Account Data:
- Email address (for authentication)
- Authentication method (email/password, Google Sign-In, or Apple Sign-In)
- Display name, if you set one. It is shown to other members of a shared log.
Life Log Entries (All Users):
- Entry dates, titles, and descriptions
- The mood you attach to an entry, if any (great, good, neutral, bad, or terrible)
- Selected categories, including any category names you create or rename
- Tags you add to an entry
- Entry creation and modification timestamps
Life Log Plus User Data:
Life Log Plus is our subscription tier, referred to elsewhere in this supplement as premium.
- Shared log membership information (who belongs to which shared log)
- A copy of the entries you choose to sync or share, stored in our cloud so they reach your other devices and the other members of a shared log. On the free tier your entries stay on your device and we never receive them.
1.2 Automatically Collected Data
Life Log collects far less automatically than most apps. There are exactly two automatic flows, and both are described in full below.
Crash, error and performance diagnostics (via Sentry, all users): see Section 1.4.
Advertising (via Google AdMob, free tier only):
- Device or advertising identifier: the Google Advertising ID on Android, or an app set ID. Life Log shows no App Tracking Transparency prompt, so on iOS the IDFA is not available to the ad SDK (see Section 1.3).
- IP address, and the general location (country or region) Google estimates from it
- Your interactions with the ad itself (impressions and clicks)
- Ad delivery diagnostics (ad load latency, ad SDK errors)
Section 1.3 describes this in full.
1.3 Advertising and the Free Tier
The free tier of Life Log is solo and ad-supported. You see a single banner strip anchored above the tab bar. It never covers your entries and never appears over a dialog or modal. Life Log Plus, our subscription, adds cloud sync across your devices and shared logs, and removes advertising. A Plus subscription is the only way to remove ads: there is no standalone ad-removal purchase in Life Log.
When Life Log requests an ad, the embedded Google Mobile Ads SDK collects, on Google's behalf, the identifiers, IP address, ad interactions and diagnostics listed in Section 1.2. Google uses them for advertising, analytics and fraud prevention. That data is governed by Google's privacy policy, and the full disclosure of AdMob data practices appears in Section 4.3 ("Advertising in Some Apps") of the WagDev Privacy Policy, which is incorporated here by reference.
AdMob never receives your entry content. Entry text and descriptions are never handed to the ad SDK. Nothing you write in Life Log is used to select, target, or measure an ad. Neither are your entry dates, titles, categories, tags, or moods.
Ad personalization. Life Log requests non-personalized ads on both platforms. On iOS it presents no App Tracking Transparency prompt, so the advertising identifier stays unavailable to the ad SDK; on Android it asks Google for non-personalized ads regardless of your Ad ID settings. Life Log holds anniversaries, milestones and family memories, so it keeps the tighter posture on purpose, and gives up the higher ad rate that personalization would earn.
Consent in the EEA, the UK and Switzerland. If you are in the European Economic Area, the United Kingdom or Switzerland, Life Log presents Google's User Messaging Platform consent form before it requests a single ad, and nothing is requested from AdMob until you have answered it. The form is shown even where the ads that follow will be non-personalized: serving any ad at all still involves storing or reading information on your device, so choosing non-personalized narrows what is used rather than skipping the question. If you refuse consent, Life Log does not request an ad at all and simply shows no banner. If you are outside these regions, you are never shown a consent form.
Changing or withdrawing your consent. Your first answer is not binding on you. Open Settings and tap Privacy options to bring the same consent form back up at any time, change any choice, or withdraw your consent altogether. A withdrawal takes effect on the next ad request. The Privacy options row appears only if you were shown a consent form in the first place, so it is not there for users outside the EEA, the UK and Switzerland.
1.4 What Sentry Collects for Crash and Error Reporting
To find and fix bugs, Life Log embeds Sentry, a crash, error and performance reporting service operated by Functional Software, Inc. (d/b/a Sentry). Sentry is our only diagnostics processor. Life Log has no analytics SDK at all, which is covered in Section 1.5.
When Life Log crashes, hits a runtime error, or detects that it has become unresponsive, the Sentry SDK transmits:
- The stack trace of the error, mapped back to our source code
- Device model, operating system version, app version and build
- Diagnostic context our own logging attaches to the event. This can include your account identifier (the internal ID of your Life Log account), because many of our diagnostic messages record which account a failure happened to. It does not include your entry titles, descriptions, tags or moods.
- Breadcrumbs: a short trail of what happened just before the error. It records the screens you moved through, the names of the controls you touched, and our own log messages. Screen paths are reduced to their shape before they are sent, so an address like
/entry/edit/1234leaves your device as/entry/edit/:idand carries no entry identifier. - Reports of a frozen app. If the app stops responding, we send how long it was unresponsive for, and the shape of the screen you were on, so we can find which screen froze.
- Performance traces, on a sample of app sessions (currently about one in ten), recording how long parts of the app took to run
- Anonymous app-stability sessions: when a session started, how long it lasted, and whether it ended normally or in a crash, so we can measure how stable each release is
What Sentry does not receive from Life Log:
- Your IP address. We set
sendDefaultPii: falsein our SDK configuration. - Your entry titles, descriptions, tags, moods or category names
- Your email address or your display name
- Your advertising identifier
- Your location
- Session replays, meaning recordings of your screen. These are switched off.
Credentials are stripped before anything is sent. Our logging layer replaces the value of any field named like a password, token, key, credential or cookie with [REDACTED] before a log entry reaches Sentry or any other destination.
On linkage, stated plainly. Because diagnostic context can carry your account identifier, we treat Life Log's crash, performance and other diagnostic data as linked to you in our App Store privacy declarations, and we do not claim that it is anonymous. It is never used to track you across other companies' apps or websites.
Sentry data is retained per Sentry's data retention policy and governed by Sentry's privacy policy. The full disclosure of how WagDev uses Sentry across apps appears in Section 4.2 ("Service Providers") of the WagDev Privacy Policy.
1.5 What Life Log Does Not Collect
This list is here because an earlier version of this supplement described two things Life Log does not actually do. Both are corrected as of version 1.5.0.
- No photos or media of any kind. Life Log has no photo attachments, no camera access, no photo library access, and no image storage. It asks for no photo or camera permission. Earlier versions of this supplement described photo attachments as a premium feature. That feature does not exist and never shipped.
- No product analytics. Life Log has no analytics SDK installed, Firebase Analytics included. We do not collect screen views, feature usage, funnels, session counts or user properties for product analysis. Earlier versions of this supplement described app analytics via Firebase. That collection never happened. The only automatic flows are the two in Section 1.2.
- No location permission. Life Log never asks for your location. The only location-related data is the country or region Google's ad SDK estimates from your IP address when it requests an ad (Section 1.3 and Section 8).
- No contacts, calendar, microphone, health or fitness data, and no browsing or search history.
- No advertising identifier on iOS, because Life Log presents no App Tracking Transparency prompt.
2. How Life Log Uses Your Data
2.1 Core Functionality
- Entry Storage: Your entries are kept on your device. With Life Log Plus they are also stored in Firebase Firestore so they are available across your devices and in shared logs.
- Synchronization: Cloud sync across your devices is a Life Log Plus feature
- Group Logs: Shared entries are accessible to all members of that shared log
- Subscription: Your purchase is validated so Plus features unlock and ads stop
2.2 Service Improvement
- Crash and error reports help us fix bugs and improve stability (Section 1.4)
- Performance traces and frozen-app reports help us find the screens that are slow or lock up
- Anonymous app-stability sessions tell us how stable a release is
We do not profile how you use Life Log for product analysis. There is no analytics SDK to do it with (Section 1.5).
3. Data Sharing Specifics
3.1 Group Log Sharing (Premium)
- When you join a group log, all members can see entries in that shared log
- Group members have full access to add, edit, or delete shared entries
- Your personal log remains private unless you explicitly share entries
- You control which entries go in shared vs. personal logs
- Other members of a shared log can see your display name and the email address your account uses
3.2 Third-Party Services
Firebase (Google):
- Stores synced entries for Life Log Plus users
- Provides authentication services
- Verifies that requests come from a genuine installation of the app (App Check)
- Subject to Google's privacy policy
Sentry (Functional Software, Inc.):
- Receives the crash, error, performance and stability data listed in Section 1.4, and nothing else
- Never receives your entry content, your email address or your display name
- Subject to Sentry's privacy policy
Apple (Sign in with Apple):
- Processes Apple Sign-In authentication
- May return a private relay email in place of your real address
- Subject to Apple's privacy policy
RevenueCat (Subscription Management):
- Manages subscription billing and receipt validation on our behalf
- Receives anonymized purchase data from Apple and Google, and your account identifier as the app user id
- Does not have access to your entry content
- Subject to RevenueCat's privacy policy
Google AdMob and Google's User Messaging Platform (Advertising, free tier only):
- Serves the banner advertisement shown to free-tier users
- Receives only the data listed in Section 1.2, and never your entry content, titles, categories, tags or moods
- The User Messaging Platform presents the consent form and records your answer for users in the EEA, the UK and Switzerland
- Subject to Google's privacy policy
Apple App Store and Google Play (Payments):
- On iOS, purchases are processed by Apple via the App Store
- On Android, purchases are processed by Google via the Google Play Store
- We only receive confirmation of successful payments
- We never see your credit card information
3.3 What We Don't Share
- We don't sell your personal data for money
- We don't share your entries with advertisers. The free tier does show ads (Section 1.3), but AdMob never receives your entry content, titles, categories, tags or moods.
- We don't use your content for marketing
- We don't share personal logs with other users
Some US state privacy laws treat personalized advertising as a "sale" or a "share" of personal information. Where those laws apply, Google's consent form carries a "Do Not Sell or Share My Personal Information" choice, reachable at any time through Settings, then Privacy options.
4. Your Privacy Controls
4.1 In-App Controls
- Export Data: Download all your entries as a spreadsheet
- Delete Account: Permanently remove all your data
- Delete All Data: Clear the entries on this device without deleting your account
- Leave Group Logs: Remove yourself from shared logs
- Manage Categories: Control your organizational system
- Privacy options: Change or withdraw ad consent, where a consent form applies (Section 4.4)
4.2 Data Portability
- Spreadsheet export includes all your entry text, dates, categories, tags and moods
- You can import entries from a spreadsheet as well, so nothing is locked in
- Exports are generated on-demand for data freshness
4.3 Deletion Rights
- Delete individual entries anytime. A deleted entry disappears from the app at once. If you are on Life Log Plus and the entry had been synced, the cloud copy is marked deleted rather than erased on the spot, because that marker is what carries the deletion to your other devices. Its stored content is then purged automatically 180 days later. Section 5.2 sets out the detail.
- Delete your entire account through Settings, then Account, then Delete Account. This destroys your encryption key first, so every synced copy of your content becomes unreadable immediately, including anything still waiting to be purged.
- A page explaining exactly what deletion removes, what is retained and for how long, readable without installing the app, is published at legal.wag.dev/life-log/data-deletion
- Request deletion assistance at privacy@wag.dev
- Note: Shared group log entries remain for other members
4.4 Advertising Controls
- Change or withdraw ad consent (EEA, UK, Switzerland): Settings, then Privacy options re-presents Google's consent form, so you can change any choice or withdraw your consent entirely, at any time. This row appears only if you were shown a consent form in the first place.
- Remove ads: Subscribe to Life Log Plus. That is the only way to remove ads in Life Log; there is no standalone ad-removal purchase.
- iOS: Life Log shows no App Tracking Transparency prompt and serves non-personalized ads on iOS, so there is nothing to turn off there.
- Android: Settings, then Google, then Ads, then toggle "Delete advertising ID" to reset or disable your Google Advertising ID system-wide.
5. Data Retention
5.1 Active Accounts
- Your entries are retained as long as your account is active
- Synced entries are retained in our cloud while you have an active Life Log Plus subscription, and are covered by Section 5.3 when it ends
- Crash, error and performance data is retained by Sentry on its own schedule, which is currently 90 days for events and shorter for performance data. See Sentry's data retention policy.
5.2 After Deletion
When you delete a single entry. It is removed from view in the app immediately. On the free tier, where nothing was ever sent to us, that is the whole story. On Life Log Plus, the synced copy is marked as deleted instead of being erased at that moment, because that marker is how your other devices learn the entry is gone. While it is marked, the document still holds the encrypted content from the last time it synced. It is purged automatically 180 days after you delete it, by a retention rule on our database, and the copy on each of your devices is cleared after 90 days.
When you delete your account. Your encryption key is destroyed first, which makes every synced copy of your content unreadable to anyone, us included, from that moment on. Your entries and categories are then deleted outright, along with your profile, preferences, sync records and subscription record. Nothing is left that could be read.
What we keep after an account is deleted, and why:
- Your consent records (which policy version you accepted and when), kept as the evidence that we obtained consent
- Our key-management audit log, kept for two years for security compliance. It records that a key was created or destroyed, never your content.
- Subscription and billing event history, kept for billing and tax purposes
What we cannot remove:
- Your contributions to a shared log remain for the other members of that log, because they are their record too
- Crash and error reports already sent to Sentry are not individually recalled; they age out on Sentry's retention schedule
- Payment records held by Apple or Google are theirs, not ours, and are retained as required by law
The deletion page at legal.wag.dev/life-log/data-deletion sets this out in more detail.
5.3 Subscription Changes
- Your entries are always retained regardless of subscription status. Ending Plus does not delete anything you wrote.
- When Plus ends, the app returns to being solo and device-only: syncing stops, and you keep working from the copy on your device
- Entries in a shared log remain visible to the other members of that log
6. Children's Privacy
Life Log is not intended for children under 13. If we learn a child under 13 has created an account:
- We will delete the account immediately
- We will remove all associated data
- Parents may contact privacy@wag.dev to ensure deletion
7. Security Measures
Life Log implements security through:
- Firebase's enterprise-grade infrastructure
- An encrypted database on your own device, and encryption of entry content in transit and at rest in our cloud. Section 10 says exactly what that does and does not mean.
- Firebase Security Rules preventing unauthorized access
- App Check attestation, so our backend rejects requests that do not come from a genuine installation
- Regular security updates and monitoring
See our Data Security Standards for complete details.
8. Location Information
- Life Log does not access precise GPS location and requests no location permission
- Google AdMob receives your device's IP address when an ad is requested and may use it to estimate your general location (country or region) for ad serving. This happens even though Life Log asks for no location permission of its own. See Section 1.3.
- That estimate is the only location-related data in Life Log. It gives neither us nor Google your specific location.
9. Marketing and Communications
9.1 What We Send
- Essential service updates (security, major changes)
- Subscription-related notifications
- Response to support requests
9.2 What We Don't Send
- Marketing emails (unless you explicitly opt-in)
- Promotional messages about other apps
- Emails or push notifications carrying third-party advertising
This section is about messages we send you. It is separate from the in-app banner advertising shown to free-tier users, which is described in Section 1.3.
10. Encryption and Data Security
This section explains, in plain language, how Life Log encrypts your content and, just as importantly, what our encryption does not do.
10.1 The Two Layers, and Which One You Get
Life Log protects your entries in two different ways, with two different keys. Which ones apply to you depends on whether your entries ever leave your device.
On your device, for everyone. Life Log's local database is encrypted as a whole file, using a 256-bit key that is generated on your device the first time you open the app and kept in the operating system's own secure storage (the iOS Keychain or the Android Keystore). That key never leaves your device and we never receive it. If your entries never leave your device, which is the case on the free tier, this is the only encryption that applies to them, and we hold no key to it.
In our cloud, for Life Log Plus. When you sync or share an entry, the parts of it that are your own words (the title, the description, the tags, and the names of your categories) are encrypted before they are written to our cloud:
- Encryption at rest (AES-256-GCM): that content is encrypted using AES-256-GCM, a strong, industry-standard encryption method.
- Envelope encryption with a managed key: we use "envelope encryption." Your content is encrypted with a Data Encryption Key (DEK), and that DEK is itself protected ("wrapped") by a key managed in Google Cloud's Key Management Service (KMS). This is a managed-key model: the keys are held and managed on our infrastructure, not held only by you.
- What this protects against: someone who obtained only a copy of the raw cloud database, without the corresponding key-management access, would not be able to read your entry content.
10.2 What This Is, and What It Is Not
We want to be clear and not overstate our protections.
- This is not end-to-end encryption, and it is not "zero-knowledge." Because the key that protects your synced content is managed on our infrastructure (KMS-wrapped) rather than held only by you, we, as the service operator, using our Google Cloud and key-management access, can decrypt the entry content you sync or share.
- We never advertise otherwise. Encryption is not sold as a feature of Life Log Plus, on the paywall or anywhere else, and no Life Log material claims end-to-end encryption, zero knowledge, or that we are technically unable to read your entries. If you ever see such a claim in Life Log or in our store listings, it is an error: please report it to privacy@wag.dev.
- Why we use a managed-key model: this design lets us provide account recovery, synchronization across your devices, and shared logs with other people, without requiring you to manage, remember, or risk losing an encryption key. If we used end-to-end encryption with keys only you held, losing that key would mean permanently losing access to your entries.
- Practical meaning: content you sync is protected from a database-only breach and from unauthorized access, but it is not technically hidden from us. Content you never sync is protected by a key we do not have.
- How we limit access: decryption of your content is performed by our backend service under restricted, role-based access to the key-management system. Our personnel do not have standing access to your decrypted content; obtaining such access requires a deliberate, privileged action that is restricted to authorized individuals and logged. See our Data Security Standards for more on these controls.
10.3 What Is Not Encrypted (Metadata)
Encryption of individual fields applies to the words you write. Certain metadata is stored in our cloud in plaintext (unencrypted) so the app can function, including:
- Timestamps (such as when an entry was created or modified)
- The date an entry is about
- The mood attached to an entry (great, good, neutral, bad, or terrible)
- Which category an entry is filed under
- Document and record identifiers
- Workspace and shared log membership information (who belongs to which shared log)
- Similar structural and organizational metadata
This means that, even though the words in your entries are encrypted, information about the existence, timing, dates, mood, categorization, and grouping of your synced entries is stored in readable form. The mood is listed explicitly because it is the one piece of metadata that carries a feeling rather than a structure, and we would rather name it than let it hide inside "similar metadata."
10.4 Summary of What We Can and Cannot See
- We can, by design, decrypt the entry content you sync or share using our managed key-management access, though we restrict and log such access as described above.
- We can see metadata such as timestamps, entry dates, moods, categories, identifiers, and shared log membership, which are stored unencrypted.
- We cannot see entries that never leave your device, because the key to your local database stays on your device.
- We cannot see your authentication passwords (managed by Firebase Authentication) or your payment card details (handled by the app stores and RevenueCat).
For more on our overall security practices and operator access controls, see our Data Security Standards.
11. Privacy Contact
For Life Log privacy questions:
- Email: privacy@wag.dev
- Response time: Within 3 business days
For urgent privacy concerns:
- Email: support@wag.dev
- Mark subject as "Urgent Privacy Issue"
This Privacy Policy Supplement should be read together with WagDev LLC's general Privacy Policy and Data Security Standards for a complete understanding of our privacy practices.