Privacy policy
Information we process
- Account: the login identifier and public username from the provider you chose (GitHub or Discord), your login sessions, and account permissions
- Profile: nickname, profile photo, status message, and profile visibility
- Settings: theme, code editor settings, and whether automatic problem translation is on
- Solving history: submitted code and judging results, test runs, solve records and tiers, and problem feedback
- Participation: comments and likes, difficulty and tag votes, problems you created and their drafts, and uploaded images
- Credits and subscription: credit earning and spending history, check-in records, and your Plus period
- AI tutor: code snapshots from the time of a run, submission, or question; questions and answers; selected ranges and attached public run results; and daily usage counts
- Code analysis: the code being edited and its changes, the selected programming language, document versions and request positions, and analysis results
- Service protection: request counts, temporary login authentication state, and operational audit records
- Visit analytics: pages visited on public screens, referral sources, browser and device information, and events for browsing problems and accepting test and submission requests
- Problem bookmarks and problem ratings (like or dislike)
Purposes of use
We process this information to verify your identity, keep your account and settings, run code analysis, run and judge code and provide learning history, provide the AI tutor and problem translation, operate credits and Plus, send notifications, protect the service and prevent abuse, and review usage statistics. We do not use it for advertising profiling or sell personal information.
Information visible to other users
- Your nickname is shown with your comments and with problems you created, where you are shown as the author.
- If your profile is public, rankings and your profile card show your nickname, profile photo, status message, highest tier, SP, number of solved problems, number of problem contributions, and longest streak.
- If you make your profile private in Settings, you are removed from rankings and profile cards. The names and contents of comments you already wrote remain, but clicking your name no longer opens a profile card.
- For difficulty and tag votes, only the aggregated result is public. Who voted for what is not shown.
Code analysis while editing
When you use the solving editor while logged in, it connects to code analysis by default. While connected, your current code and later changes are sent to the operator's analysis server whether or not you submit or run tests, and the full latest code is sent again when it reconnects. You can turn the connection for the current editing session off or back on by clicking the analysis indicator in the code tab.
Analyzed code and results are kept only in the analysis session's memory and a temporary workspace, and are removed when the connection ends. They are not stored in a database, and code, login cookies, and language server error output are not logged. The same applies when a session ends because of long inactivity, expired authentication, or an outage. The analysis tools run directly on our servers, so code is not sent to outside AI services or analysis tool vendors for this purpose.
AI tutor
When you ask the AI a question, we send the public problem statement and examples, your code and selected range at the time of the question, public run and submission results, code changes, and recent conversation about the same code to the Codyssey COPA gateway or the OpenAI API, depending on the selected model. We do not send login tokens, email addresses, usernames, or hidden judging tests.
- To keep code and explanations from falling out of sync, code from the time of a run, submission, or question is kept for up to 30 days.
- Questions, answers, and attached public run results are also kept for up to 30 days, without extending how long the original code is kept. A copy of an attached run result may remain for this period even after the regular test run record expires after one hour.
- For service quality and incident analysis, we store the prompts sent, raw model output, validated answers, and the token usage and response times reported by the provider for the same period. Administrators with permission can review these records. API keys and HTTP headers are not stored.
- Deleting a conversation in the AI panel deletes that conversation, its snapshots, and its diagnostic records. The original submission and test records follow their own retention rules.
- Daily usage counts needed for daily limits and administrator grants are kept for up to 30 days, separately from conversation deletion.
Problem translation
If you turn on automatic problem translation in Settings, the title, statement, and image descriptions of public problems are sent to the Codyssey COPA gateway or the OpenAI API, depending on the selected model, for machine translation. Examples, judging tests, code, and account information such as login tokens, email addresses, and usernames are not sent.
Translations are stored per problem version and language and shown to other users who have automatic translation on. The account that requested a translation is not recorded. Deleting a problem also deletes its translations.
Visit analytics
On public screens, a self-hosted Umami instance counts visits, referral sources, problem list views, problem views, and whether test and submission requests were accepted. Login information, code, AI questions, and judging results are not included. No analytics cookies are used. Search terms, authentication parameters, and hashes in addresses are not sent, and referral addresses are sent only up to the domain.
Umami distinguishes visit sessions by IP address and browser information but does not store the original IP address. Visit analytics records are kept without a time limit. Your browser's Do Not Track setting is respected.
Outside services
- Login uses GitHub or Discord OAuth. Information processed by the provider is covered by that provider's privacy policy. OAuth access tokens are not stored.
- The AI tutor and problem translation use the Codyssey COPA gateway or the OpenAI API. The sections above describe what is sent.
Retention and deletion
Account information and learning history are kept while your account exists. When you delete your account in Settings, it is handled as follows.
| Item | Handling |
|---|---|
| Deleted | Login connections and sessions, profile and settings, submitted code and judging and test records, solve records and tiers, AI conversations and usage records, problem feedback, credit and Plus history, problem drafts, comment likes, and problem bookmarks and ratings |
| Comments | Deleted. A comment with replies stays as a “deleted comment” with its author and content removed, to keep the conversation readable. |
| Problems you created | Stay in the service, with the author shown as “former author”. Images in the problem also remain. |
| Profile photo | Deleted by a cleanup job as an image no longer in use. |
| Difficulty and tag votes | Remain for problem statistics, no longer linked to your account. |
| Operational audit records | Only internal identifiers that cannot be linked back to your account may remain. |
Deleted information may remain in backup copies for disaster recovery for a period (usually 7 days) and disappears as backups are replaced.
When an administrator disables a problem, it stays in the list and its page remains, but submissions, test runs, AI questions, contributions, feedback, and comments are no longer possible. Deleting a problem permanently deletes the comments, submissions, and solve records linked to it.
Information stored in your browser
Code drafts, test cases you added, the last language used per problem, and your workspace layout are kept in your browser's local storage. They are not removed automatically when you delete your account or the analysis connection ends; you can remove them with your browser's site data deletion feature.
Your choices
- In Settings, you can change your nickname, profile photo, status message, profile visibility, theme, and automatic problem translation.
- You can log out on other devices or delete your account.
- You can turn off code analysis for the current editing session with the analysis indicator in the code tab.
- You can delete conversations in the AI panel.
- While logged out, you can edit code without server analysis. Running tests and submitting require login.