Privacy Policy
Last Updated: March 4, 2026
Welcome to DailyGrit ("we," "our," or "us"). We are committed to protecting your privacy and providing full transparency about how we handle your information. This Privacy Policy explains our data practices for the DailyGrit mobile application (the "App").
Summary: DailyGrit is a fully offline, local-first app. All your tasks, habit data, photos, and profile information are stored exclusively on your device. We do not operate servers, create user accounts, or transmit your personal data anywhere.
1. Information We Collect
1.1 Information You Provide Directly
When you use DailyGrit, you create and manage the following data, all of which stays on your device:
- Task Data: Task titles, type (habit or one-time), frequency (daily or weekly), color labels, creation date, pinned/archived status, and task completion history including dates and retroactive check-ins
- Subtasks: Checklist items you add under individual tasks, including their titles and completion status
- Task Reminder Times: Notification times you set for individual tasks, used to schedule local push notifications entirely on your device — no data is sent to any server
- Photo Attachments: Photos you choose to attach to a task completion, captured via your camera or selected from your photo library. These images are stored locally on your device and are never uploaded
- User Profile: Your chosen nickname, personal motto, and avatar photo. The avatar can be taken with your camera or chosen from your library and is stored locally in compressed form
- Streak and Progress Data: Your current streak, all-time best streak, total check-in days, and total task completions — all derived locally from your task history
1.2 Automatically Collected Information
The App does not collect analytics, crash reports, or behavioral data. The only technical information that may be accessed is:
- Device Haptics: The App uses your device's haptic engine for tactile feedback when completing tasks. No data is collected or transmitted as a result
- Local Date and Time: The App reads your device's clock to determine today's tasks, compute streaks, and schedule local notifications. This information never leaves your device
2. How We Use Your Information
All information is used solely to power the features you see in the App, entirely on your device:
- Task Management: Display your daily and weekly task lists, track completion history, and manage pinned, archived, and one-time tasks
- Habit Streaks: Calculate your current and all-time best streaks based on your local completion history
- Progress Badges: Determine whether you have unlocked achievement badges — "Grit Starter" (check in on 3 different days), "Unstoppable" (maintain a 7-day streak), and "Iron Will" (complete 100 tasks) — based on your local data
- Medals: Track milestone medals including First Step, Quadrant Master, Focus Elite, Early Bird, and Consistency, all evaluated locally
- Statistics and Heatmap: Generate completion heatmaps and performance stats from your local task history
- Local Notifications: Schedule and deliver task reminders at times you specify. Notifications are handled entirely by the iOS/Android operating system using data that never leaves your device
- Photo Attachments: Display photos you attach to task completions within the App. Photos are stored and read locally
- Profile Display: Show your nickname, motto, and avatar across the App's profile screen
- Data Export: Generate a JSON file of all your tasks, completion history, and stats for your personal use when you choose to export
3. Device Permissions
DailyGrit requests the following device permissions only when you explicitly initiate the relevant feature:
- Camera: Requested when you choose to take a photo for your profile avatar or to attach a photo to a task completion. Camera access is only invoked on your explicit tap — the App never accesses the camera in the background
- Photo Library: Requested when you choose to select an existing photo for your avatar or as a task attachment. On iOS 14+, the system photo picker is used, which does not require full library access
- Notifications: Requested when you set a reminder time for a task. All notifications are scheduled locally using the operating system's notification APIs. No notification content or schedule is sent to any external server
You can revoke any permission at any time in your device's Settings app. Revoking camera or photo library access will prevent photo features from working. Revoking notification permission will prevent reminder alerts from appearing, but your reminder settings remain saved locally.
4. Data Storage and Security
4.1 Local-Only Storage
All data — tasks, subtasks, completion history, streaks, photos, profile information, and settings — is stored exclusively on your device using MMKV, an encrypted, high-performance local storage library. We do not operate any servers. We do not receive, process, or store your data anywhere outside your device.
4.2 Data Security
MMKV provides device-level encryption for stored data. Your data is protected by your device's own security mechanisms (PIN, Face ID, Touch ID, etc.). Because we never receive your data, we cannot be the source of a data breach involving your personal task information.
4.3 Data Export
You can export all your data as a JSON file at any time using the export feature in the App. Once exported, the file is under your full control. We have no visibility into exported data or what you do with it.
5. Data Sharing and Disclosure
We do not sell, share, rent, or transfer your data to any third party under any circumstance, because we never receive your data in the first place. The only limited exceptions are:
- Legal Requirements: If a valid legal process compelled us to disclose data, we have no personal data to provide. All data resides on your device
- User-Initiated Sharing: If you use your device's native share feature to share exported data, that is entirely your choice and under your control
6. Third-Party Libraries and Services
DailyGrit is built with the following open-source libraries. None of these libraries transmit your personal data to external servers in the context of this App:
- React Native (Meta): Cross-platform mobile framework. Used solely to render the UI and handle device APIs
- MMKV: Encrypted local key-value storage library used to persist all your app data on-device
- Zustand: In-memory state management library. No network activity
- react-native-image-picker: Used to access your camera or photo library only when you initiate a photo action. No images are transmitted externally
- react-native-permissions: Used to manage runtime permission requests on Android. On iOS, permissions are handled natively by the system
- react-native-haptic-feedback: Triggers device vibration/haptics for task completion feedback. No data involved
- react-native-safe-area-context: Handles display cutout and notch layout. No data involved
The App does not integrate any advertising SDKs, analytics platforms, or crash-reporting services.
7. Children's Privacy
DailyGrit does not knowingly collect personal information from children under 13 years of age. The App does not collect any personal data from any user, regardless of age — all data remains on the user's device. If you are a parent or guardian and believe your child has provided personal information through other means, please contact us.
8. Your Rights and Choices
Because your data is stored locally on your device, you have complete control over it at all times:
- Access: Your data is always visible to you within the App
- Edit: You can modify any task, subtask, profile information, nickname, motto, or avatar at any time
- Delete Individual Items: You can delete individual tasks or clear task completion records within the App
- Delete All Data: Use "Delete Account" in the Profile > Settings section to permanently erase all your tasks, check-ins, profile data, and settings from your device. This action is irreversible
- Uninstall: Uninstalling the App from your device removes all locally stored data
- Export: You can export a complete copy of your data as a JSON file at any time
- Notification Control: You can disable task reminders individually in the App, or revoke notification permission entirely in your device Settings
- Photo and Camera Control: You can revoke camera or photo library permissions in your device Settings at any time
9. Data Retention
Your data persists on your device until you explicitly delete it via the App's "Delete Account" option, delete individual items, or uninstall the App. We do not retain copies of your data on any server, and we do not back up your data. If you lose or replace your device without a personal backup, your DailyGrit data cannot be recovered by us.
10. Changes to This Privacy Policy
We may update this Privacy Policy from time to time to reflect changes in the App's features or applicable legal requirements. When we make material changes, we will:
- Update the "Last Updated" date at the top of this policy
- Make the updated policy available within the App (About > Privacy Policy)
Your continued use of the App after any changes constitutes your acceptance of the updated Privacy Policy.
11. International Users
DailyGrit is available worldwide. Because all data is stored locally on your device, no personal data is transferred internationally by the App. If you contact us directly (e.g., by email), your communication may be processed in the jurisdiction where we operate.
12. California Privacy Rights (CCPA)
If you are a California resident, you have rights under the California Consumer Privacy Act (CCPA). Because DailyGrit does not collect, sell, or share personal information — all data remains on your device — the following rights apply in their simplest form:
- Right to Know: We collect no personal information on our servers. See Section 1 for what is stored locally on your device
- Right to Delete: You can delete all your data at any time using the "Delete Account" option in the App
- Right to Opt-Out of Sale: We do not sell personal information and never have
- Right to Non-Discrimination: We do not discriminate against users for exercising their privacy rights
13. Contact Us
By using DailyGrit, you acknowledge that you have read and understood this Privacy Policy and agree to its terms.