1. Health and Wellness Data
QuestLog allows users to enter wellness and productivity information to support personal analytics and coaching features. This includes:
- onboarding answers about average sleep, peak productivity window, and procrastination tendency
- sleep logs such as date, bedtime, wake time, sleep duration, rest level, and the time the entry was logged
- focus records such as session timestamp, session duration, focus rating, optional linked quest ID, and the time the entry was logged
- evening review data such as date, evening productivity rating, and the time the entry was logged
QuestLog uses this user-entered wellness and productivity data to generate analytics, correlations, strategic suggestions, reminders, progress views, and performance summaries inside the app. When a user is signed in, the app attempts to sync this data to Firebase Cloud Firestore. If the user is not signed in, the data remains stored locally on the device.
2. Data Inventory
The table below describes the main categories of data collected or processed by QuestLog, examples of the fields involved, how the data is used, and where it is stored or processed.
| Data Category | Examples | How QuestLog Uses It | Where It Is Stored or Processed |
|---|---|---|---|
| Account and identity data | Firebase UID, Google sign-in email, display name, photo URL, locally stored call-sign name | Sign-in, account access, personalization, subscription linking, notifications, and profile display | Firebase Authentication, local app storage, RevenueCat app-user linking when signed in |
| Quest and task data | Quest titles, subtasks, categories, XP values, priorities, target value, reminders, start and due dates, start and end times, repeat settings, completion and failure timestamps, linked skill and subskill IDs, focus minutes, tutorial and archive flags | Core task management, reminders, nag mode, analytics, progress tracking, home widget display, and cross-device sync | Stored locally in Hive; synced to Firebase Cloud Firestore for signed-in users |
| Progress and game data | Total XP, streaks, unlocked achievement IDs, total quests completed, total quests failed, total focus minutes | Gamification, dashboards, rank/level display, and progress tracking | Stored locally in Hive; synced to Firebase Cloud Firestore for signed-in users |
| Skills and training data | Skill names, categories, descriptions, subskill names, recent sessions, consistency scores, activity dates, pause state, total hours, total value, custom quest presets | Skill tracking, session logging, consistency analytics, preset creation, and cloud restoration | Stored locally in Hive and settings; synced to Firebase Cloud Firestore for signed-in users |
| Health and productivity data | Onboarding sleep answer, peak productivity window, procrastination answer, sleep logs, focus records, evening productivity logs | Wellness and productivity analytics, strategic suggestions, correlation models, daily review flows, focus/rating follow-up, and performance summaries | Stored locally in Hive; the app attempts to sync it to Firebase Cloud Firestore for signed-in users |
| Settings and operational state | Theme selection, sound setting, vibration mode, nag mode, nag priorities, quiet-hours flag, goal-enforcement flag, onboarding-complete flag, sleep/evening dismissal and prompted flags, last unrated session metadata, focus timer end time, seeded suggestion metadata | Feature configuration, reminder behavior, onboarding state, and preserving app state between launches | Stored locally in Hive settings |
| On-device surface data | Home widget quest count, up to five quest titles, notification titles and bodies, call-sign or user name shown in reminders | Display reminders and quick-glance task information on the device lock screen, notification tray, and home screen widget | Stored or rendered locally on-device through Android notifications and Android home widget APIs |
| Subscription and purchase data | RevenueCat entitlement status, purchase restoration state, original app-user ID, linked Firebase UID, package and offering metadata, Google Play billing transaction state | Determine Pro access, load offerings, restore purchases, and manage subscriptions | RevenueCat SDK and Google Play Billing services; local app state may cache current entitlement status |
| Technical, diagnostics, and service data | Crash reports, error stacks, app and SDK identifiers, local timezone string, connectivity status events, Android installer store metadata checks | App stability, debugging, service reliability, billing validation, and platform-specific behavior | Firebase Crashlytics, local device processing, package metadata APIs, and third-party SDK runtime processing |
3. How We Use Data
- to authenticate users and provide account access through Firebase Authentication
- to store data locally for offline-first use and optionally sync it across devices for signed-in users
- to manage quests, subtasks, skills, achievements, streaks, and other in-app progress systems
- to generate wellness and productivity insights from user-entered sleep, focus, and evening review data
- to deliver notifications, nag reminders, focus-session follow-ups, and Android home widget content
- to manage subscriptions, offerings, purchase restoration, and Pro entitlement status
- to diagnose crashes, monitor reliability, validate platform behavior, and protect the app from service issues
4. Local Storage, Cloud Sync, and On-Device Surfaces
Local storage
QuestLog stores core app data locally using Hive so the app can work offline. This includes quests, skills, progress, settings, onboarding responses, sleep logs, focus records, evening logs, and related app state.
Cloud sync
When a user signs in, QuestLog may sync supported data to Firebase Cloud Firestore. This includes quest data, hero/progress data, skills data, custom presets, and the sleep, focus, and evening review entries described above. If a user does not sign in, core app data remains local to the device.
Notifications and widget display
QuestLog can display quest titles, reminder text, and user name or call-sign information in notifications and on the Android home-screen widget. These are shown on the user device for convenience and may remain visible until dismissed, replaced, cleared, or device/app data is removed.
5. Third-Party Services and Processors
QuestLog uses third-party service providers to operate important app features:
- Firebase Authentication: processes account sign-in and account identifiers such as Firebase UID and Google sign-in profile data provided to the app.
- Firebase Cloud Firestore: stores synced quests, progress data, skills, custom quest presets, and user-entered sleep, focus, and evening review data for signed-in users.
- Firebase Crashlytics: receives crash and error diagnostics in release builds to help us identify reliability issues and fix bugs.
- RevenueCat: processes subscription entitlement state, purchase restoration status, and app-user/account linking for Pro features.
- Google Play Billing: processes Android subscription purchases, renewals, and billing-related transaction states.
We do not sell personal data. We do not share personal data with unrelated third parties for their own advertising or marketing use. Data is shared with the processors above only as needed to operate app features, process purchases, maintain security, or comply with legal obligations.
6. Permissions and Device Features
Depending on platform and feature use, QuestLog may request or use:
- internet access for authentication, sync, crash reporting, and subscription services
- notification permissions to show reminders, focus-session follow-ups, and evening review prompts
- exact alarm and boot-completed handling on Android so scheduled reminders can fire reliably after restart
- vibration and wake-lock related behavior for reminder and timer features
- local timezone detection to schedule reminders at the correct local time
QuestLog does not request camera, microphone, contacts, or platform health-record permissions based on the current codebase reviewed for this policy update.
7. Retention and Deletion
- Local data: remains on the device until the user deletes content, clears app data, signs out and clears local state, or uninstalls the app.
- Synced cloud data: remains in Firebase services while the account is active, unless deleted through account-deletion flows or otherwise removed from our systems.
- Notifications and widget content: may remain visible on-device until dismissed, updated, or cleared by the user or operating system.
- Account deletion: QuestLog includes an in-app account deletion flow intended to remove associated cloud data and then delete the authenticated account.
- Clear local cache/data: QuestLog also includes in-app options that clear locally stored app data while cloud data for signed-in users may remain for later re-sync.
8. Your Choices
- you can choose whether to sign in and enable cloud sync
- you can edit or delete quests, skills, and user-entered wellness/productivity entries in the app
- you can control notification-related settings such as nag mode, quiet hours, sound, and vibration
- you can sign out to stop authenticated syncing for the current session
- you can use the account deletion flow to request removal of your associated account data
9. Children
QuestLog is not intended for children under the age required by local law to provide valid consent on their own. If you believe a child has provided personal data through QuestLog, please contact us so we can review the request.
10. Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will post the updated version on this page and revise the "Last Updated" date above.
11. Contact
If you have questions about this Privacy Policy or a data request related to QuestLog, contact: maximuscortex@outlook.com