Introduction
This policy applies to One Line, published by Maxime Manseau. For privacy questions, email max.manseau01@gmail.com.
This page complements the Terms of Service and describes the categories of data used depending on the features you choose.
1. Data stored locally
One Line stores some data in the browser or installed app to run the game, including:
- your local username and an anonymous local identifier;
- your level progress, completed solutions, best results and Daily Challenge progress;
- custom levels, unlocked packs, hints and preferences;
- pending sync events when the network is unavailable.
This data is needed for gameplay, offline use, progress and preferences. Most of it stays on your device unless you use a feature that requires an external service.
2. Optional account and sync
You can use One Line without an account. If you create an account or sign in, some data may be synced with Supabase: email address, display name, user id, progress, solutions, results, hints and technical sync events.
Sync is designed to tolerate interruptions. If the online service is unavailable, the app continues locally and can retry later.
One Line may also create an encrypted backup tied to a recovery code. The snapshot is encrypted on your device before upload; the code is not sent to Supabase and remains necessary to restore the backup.
3. Multiplayer, Google sign-in, feedback and leaderboards
Playing in a multiplayer room without an account creates a Supabase guest session with an identifier and your display name, without an email address. Room members can see your display name, presence, round progress and results. This session does not claim your local identity or sync your personal progress. It may be deleted after 30 days of inactivity: your results then stay in the rounds played with other players, without your display name or any link to you. Creating an account from the session preserves your rounds.
If you choose Google sign-in, authentication is handled by Supabase and Google. One Line receives only the information needed to authenticate you, create or retrieve your profile and sync your progress.
Feedback, ratings or problem reports may include your comment, rating, problem flag, submission time, a local or account identifier and limited browser technical data.
Leaderboards may display your display name and progress results. They should not expose your email, local secrets or internal technical identifiers.
4. Analytics, ads and error reporting
One Line may use Microsoft Clarity and Firebase Analytics to understand general product usage. These analytics are optional and are enabled only if you allow them in the privacy banner or preferences.
One Line may use Google AdSense / Google Ads to prepare, serve and measure ads. Google or third-party ad providers may use cookies, identifiers or similar technologies based on your settings, region and applicable rules.
Sentry is used to diagnose technical errors with minimized configuration. Reports may include the error type, technical traces, cleaned URL paths and limited runtime environment information.
5. Third-party services
Depending on the features used, One Line may rely on:
- Supabase for authentication, sync, profiles and leaderboards;
- Google for OAuth, Google Play, AdSense or Google Ads;
- Microsoft Clarity and Firebase Analytics for optional analytics;
- Sentry for error reporting;
- Vercel or the site host for the web app and PWA.
We do not sell your personal data.
6. Your choices
You can use One Line without creating an account, decline optional analytics, update privacy preferences in Settings, manage ad personalization in Google ad settings, delete local data from your device or delete your account and its associated data yourself.
Avoid including personal or sensitive information in comments submitted through the app’s forms.
7. Retention and deletion
Local data remains on your device until you delete it, reset the app, clear browser storage or the browser removes it.
Synced data may be kept as long as needed to provide account, progress, leaderboard, diagnostic, security and service-improvement features.
You can delete your account and its associated data yourself, without emailing anyone and without reinstalling the app. Deletion is immediate, irreversible and automated: it lives in Settings › Account › Delete my account inside the app, and stays reachable from a browser through the Delete my account page. It removes the authentication account, the profile, synced progress, hints and rewards, leaderboard entries, encrypted backups, published worlds, feedback and reports, the duel and referral data that identifies you, and the local data on the device making the request. Other devices still signed in to that account reset themselves on their next launch or next sync.
To prevent an old offline installation from restoring deleted progress, accidentally or fraudulently, One Line keeps a one-way SHA-256 hash of each deleted local identifier after deletion, with its date. This record contains no email, no name, no account id and no plaintext local identifier; no client can read it and it exists only to enforce the deletion.
Genuinely anonymous analytics — aggregate measurements that cannot be linked back to your account or your device — may not be deleted. Data shared with other players is also kept: a multiplayer match you took part in still exists for the other participants. Your participation and results remain in it anonymously, so its standings do not change, but without your name or any link to your account.
If you have lost access to your account and can no longer sign in, contact max.manseau01@gmail.com. Reasonable identity verification is then required. Requests will be handled within a reasonable time, subject to data that must be retained for legal, security or technical operation reasons.
8. Children
One Line is not intended to knowingly collect personal information from children. If you believe a child sent us personal information, contact us so we can take appropriate steps.
9. Changes and contact
This policy may be updated as the app evolves. The last updated date will be adjusted, and important changes may also be communicated in the app when needed.