StreakGuard ("the app") is a personal daily-challenge reminder app for Android. It checks whether you completed the daily coding challenge on platforms you configure (currently LeetCode) and sends reminders before the daily UTC reset if you have not. This policy explains what data the app handles and how.
The app stores the following locally, in Android's private app storage. We operate no servers, so this data is never uploaded to us:
Android backup is enabled for the app. Depending on your Android and device settings, the system may back up or restore app data. StreakGuard does not operate that backup service.
To check your challenge status, the app queries the public APIs of the platforms
you enable (currently leetcode.com). Requests for your profile and submission data include the username you entered so the platform can return your public challenge data. Requests for the daily challenge do not require your username.
Requests can run during manual checks, configured reminder stages and retries, periodic background sync, app-open sync when enabled, and the UTC-midnight refresh. Network connections also expose ordinary connection information, such as your IP address, to the receiving platform. This is governed by that platform's own privacy policy
(e.g. LeetCode's). No login credentials are ever requested or stored.
We do not sell your data or upload it to a StreakGuard server. As described above, the app sends your public username to LeetCode to obtain challenge data, and Android may handle system backups. The app contains no analytics SDKs, no advertising, and no tracking of any kind.
You can use StreakGuard Settings > Others > Delete all your data to clear saved usernames, preferences, challenge history, and reminder/alarm state. The app retains an onboarding-complete flag so first-install onboarding does not replay, and restores default periodic sync settings. No platform checks run without a configured username. Your LeetCode account is unaffected. Uninstalling the app or using Android Settings > Apps > StreakGuard > Storage > Clear data removes local app data. System backups, if present, are managed separately through your device or backup-provider settings.
The Debug option below Privacy Policy in the app's Settings provides local diagnostic logs. Records include timestamps, app events, scheduling/check/retry outcomes, notification posting results, non-identifying app settings, permission/channel status, Android/app version, manufacturer/model, timezone, network connectivity status, and battery-saving status. Logs do not contain API responses, GraphQL queries, usernames, passwords, tokens, or persistent device identifiers. Notification posting success does not guarantee that Android displayed or sounded the notification.
Retained event logs are limited to 7 days and 10 MB, whichever limit is reached first; older entries are deleted first. Cleanup runs during logging, startup, viewing/sharing, and best-effort background maintenance (which Android may defer). Logs are stored in private, non-backed-up app storage. Sharing is optional: after a confirmation explaining the contents, the app prepares a ZIP and opens Android's sharing chooser. The app does not automatically upload logs to a StreakGuard server. A temporary ZIP copy is separate from retained logs, is replaced at the next export, and is removed after 24 hours during cleanup or sooner if Android clears its cache.
Debug > Clear logs asks for confirmation before deleting local logs and temporary reports. Logging resumes for new events afterward. Delete all your data also clears diagnostics. Copies already sent to another app or person are controlled by that recipient and cannot be deleted through StreakGuard.
StreakGuard is not directed at children under 13, and we do not knowingly collect personal information from children.
If this policy changes, the updated version will be posted at this URL with a revised effective date.
Questions about this policy: ggurkiratssingh1@gmail.com