Privacy
Eyeshot is a daily game made by AJ Uppal. This page explains what we keep and why.
Playing and signing in
You can play without signing in. A random cookie or app identifier connects this installation to its guest scores and groups. Local progress is kept on your device. Clearing its data can remove guest access.
When you choose a configured sign-in method, we verify your Google or Apple identity, email address, or phone number. We store the provider’s account identifier and the profile information it supplies, or the address/number you verify. Your email and phone number are not shown to players. Verification codes expire after 10 minutes; verification request records are kept for up to 48 hours to limit abuse.
Scores and groups
We store attempts to check daily scores and let you revisit your shots. Your full shot replays stay private, with one exception: whoever plays a challenge you send sees your mark on each shot after taking that shot themselves. The challenge also shows the name on your sheet, your total and your five shot scores, and its link preview shows the total and scores. Signed-in accounts appear in Global standings and have a public profile by default. Global standings can show your handle, avatar, daily totals, including past days, and your current streak. Your profile shows the last seven days of daily totals, shot scores and relative standings. Turn off Public leaderboard & profile in Settings to hide your named scores and public history; your scores still contribute to anonymous aggregate standings. Private groups use invitation links and share your name and up to 30 days of shot scores with current members, even when your public profile is off. Shared-link head-to-head records are visible only to the signed-in participants through an available player profile. Earlier versions offered an optional Eyeshot Global community. The app no longer shows it; deleting your account removes any membership you still have. Signing in can connect this installation’s guest history to your account.
Support and safety
Reports and support requests are available to authorized Eyeshot admins. They contain what you submit, relevant group/member identifiers, and any contact address you provide. Reports, support requests, and moderation audit records are removed after 90 days. Private group owners can remove members and reset an invite. Block a player from their profile to hide your profiles and named leaderboard entries from each other and stop friend nudges. Scores remain in anonymous standings. Blocks are kept until you unblock or delete your account. Unblock from the profile or the Blocked players section in Settings. Owner-created rejoining blocks remain retired. Administrator removals following a moderation review still restrict group access. You can report a player from their profile, or a group from its Group settings.
Service providers and measurements
We use Fly.io to host the game. Configured sign-in providers process verification: Google or Apple for social sign-in, Resend for email codes, and Twilio Verify for phone codes. We share data with them only so they can provide these services for Eyeshot, and only with providers that protect it to the same standard as this policy. Each also applies its own privacy policy. We do not send marketing based on signing in.
No ads or third-party analytics trackers. Our first-party measurements record visits, screens viewed and session sources; game and shot starts and completions, with active and elapsed duration and input type; practice and Playground shot scores; score-save outcomes and how long a save takes; how long the app takes to open and become ready (launch timing); sign-in invitations and outcomes; guest-to-account linking; sharing and challenge outcomes; group joins and changes; reminder permission and delivery outcomes; and normalized error categories. They include random event, session, and run identifiers, platform and app/rules versions, and sign-in state when recorded, and are stored with your account or guest identifier. We do not collect drawing movements or exception text for analytics. Detailed measurements and their identity links are kept for up to 90 days; a bounded on-device queue retries for up to 72 hours and is cleared when identity changes. Historical game scores continue to support aggregate play and retention statistics. To limit automated guest submissions, we keep a daily keyed network digest and submission totals for the current and previous puzzle day. The digest is not a raw IP address and differs each day. The game database does not store IP addresses; hosting and delivery providers may process network information to operate their services.
Daily reminders and friend nudges
In the iOS or Android app, you can opt into a daily reminder without signing in. We store an installation identifier, an encrypted Apple or Firebase notification token, your permission and reminder preference, chosen local time and time zone, app version, and account association when signed in. Apple Push Notification service or Google Firebase Cloud Messaging delivers the reminder. These are game reminders, not marketing.
On new installations, enabling reminders and granting notification permission also enables friend nudges. Existing off choices stay off, and you can change the Friend nudges toggle separately in Settings. Signed-in members of a shared private group can request a nudge if you allow them. Leaving that group or turning nudges off prevents pending requests from sending. Nudges may arrive between 8:00 AM and 9:30 PM in your saved local time zone, including before your scheduled reminder time. A nudge outside that window is not queued for later. There is at most one friend nudge and one scheduled reminder per daily puzzle across your account’s devices. A nudge never replaces the reminder time you chose. Both are skipped once your completed daily has synced. Uncertain or attempted sends still use their respective allowance. A sender can nudge at most five friends per daily puzzle. We record the sender, recipient, group, and delivery status for up to 30 days; the sender can see the status of their own request. A notification service accepting a request does not confirm delivery to your device.
We skip a reminder when the server already knows that you finished the daily. Offline scores may not be known yet. Changing your time zone requires reopening the app. You can turn reminders and friend nudges off in You → Settings (the gear) → Daily reminder, or turn notifications off in device settings. An offline preference change must reconnect before it can stop a queued server notification. Signing out disables this installation’s reminder; deleting an account removes its registered devices. Delivery attempt records are removed after 30 days, recipient previews after one day, and registrations after 180 days without an update. The system may already have accepted a notification when you turn it off.
Delete your data
In Eyeshot, open You, tap the Settings gear and choose Delete account under Privacy & safety, or use the web deletion page. We remove your profile, sign-in methods, scores, replays, memberships, and account-linked counters from the live database. Apple credentials awaiting revocation remain encrypted until the provider accepts revocation. Hosting backups follow the hosting provider’s retention settings and are not used to restore deleted accounts routinely. Offline devices reconcile when they reconnect. Older local progress with no verifiable account owner is kept separate; clear site or app data to remove it. Shared images already saved by other people cannot be recalled.
For access, correction, guest deletion, or other privacy requests, use privacy@eyeshot.app. Updated September 24, 2026.