For the purposes of this policy we define you to be a member if you have signed in to an account. Until you have signed in you remain a visitor.
Your connection to the website will use a secure SSL connection (HTTPS).
What cookies does the website use?
Project Euler uses PHP sessions, which means that a cookie (name = PHPSESSID) will be stored on your computer. The PHP session is primarily used for members and so it is necessary for cookies to be enabled to be able to sign in. The PHPSESSID cookie will be automatically removed when you close your browser.
In addition, our hosts use a cookie (name = DYNSRV) for load balancing and managing server traffic demand. This cookie will expire when your current browsing session ends.
As a visitor no other cookies will be used.
What cookies do you store for members?
As mentioned above, Project Euler makes use of PHP sessions and the PHPSESSID cookie is used as your unique identifier which keeps members signed in. As long as you remain active on the website your session will remain alive, but after a period of inactivity the session will expire and a new cookie will be generated, requiring you to sign in again. However, it is possible, when signing in, to click "Remember Me". If this box is checked then an additional cookie (name = keep_alive) will be stored on your computer allowing you to be automatically re-authenticated when your session expires. This cookie will remain on your computer until it expires or until you sign out. See About persistent logins... for more information.
As a member you also have the option of sorting the problems table by: problem ID or solved by, and to filter the problems by: all, solved, or unsolved. By default it will sort by ID in ascending order and all problems will be shown. If you change any of these settings, then one or more cookies (name = sort_type; name = sort_method; name = filter_type) will be used to remember your selections. If you revert to the default settings, then the associated cookie will be removed.
Similarly, if you decide to only show active members in the statistics tables, then an additional cookie (name = statistics_show) is used to enable this view from table to table. If you restore the view to all members, then the cookie is deleted.
When you sign out all cookies related to the Project Euler website will be removed. However the PHPSESSID cookie will remain until you close your browser.
What personal information do you keep in the database?
The primary purpose of creating an account is to keep track of which problems you have solved and, as you continue to solve the problems, which awards you have earned; the date and time that you solve each problem is also stored in the database. All accounts are anonymous and they are accessed by your username and password. We do not require or collect any personal information, including email addresses, IP addresses, or any other data which might be used to identify an individual.
However, on your account page you may choose to select your country, preferred programming language, and enter any additional information about yourself which you wish to be made public. You can also add friends to your profile, set your time zone, and select a colour/style theme.
Please do not enter any information on your account page that you do not wish to share publicly.
How is data stored in the database?
With the exception of passwords and account recovery keys (see below), all data is stored in plain text. Passwords and account recovery keys are strongly encrypted using the native PHP password one-way hashing algorithm.
Although accounts are entirely anonymous and you have not entered any information which you did not wish to share publicly, please be assured that we continue to take every reasonable step to ensure that the data is secure. But as with any website where you create an account, you are strongly advised to use a password that is unique to this website.
If you should become aware of any vulnerability, then the team would be grateful if you took the time to contact us with information; see end of this document for contact details.
If accounts are anonymous, then how can it be recovered if I forget my password?
As we do not keep any verifiable personal data it is not possible to confirm that any particular account belongs to a specific individual. Selecting a country, preferred language, or entering additional information you wish to share publicly is optional and could be set by any person wishing to assume the identity of another person. Consequently, we are unable to recover your account if you lose your password.
However, on your account page you are given the option of generating an emergency account recovery key. This is a cryptographically strong randomised key which you should keep in a safe, secure place to be used to recover your account if you should ever forget your password. It is your responsibility to keep the key safe.
Who can see my information?
By default your username will appear in the public ranked tables. Through these tables other members will be able to see how many problems you have solved, which awards you have earned, any additional information which you entered about yourself on the account page, and your country or preferred programming language if you chose to set them.
The detailed information found on your progress page can only be seen by you, but any friends you have added will be able to see your progress page.
As outlined above we endeavour to keep the data secure, but as accounts are anonymous, the detailed problem solve history found on your progress page is not personal information. So having the ability to keep that information not visible to all members is a service we provide as a courtesy and without any obligation.
Can I hide my information from the public ranked tables?
Yes. On your account page you will find an option to set your account status to "Unlisted". This will remove your username from all public ranked tables, including the fastest solvers, and you will not be included in any of the statistics. During this time your profile image will no longer be accessible. However, it is possible to revert to "Public" status from your account page at any time.
Please be aware that it can take time for caches to update and although we will endeavour to keep the data from re-appearing there are no guarantees. We continue to operate this facility as a courtesy and without obligation.
Who can see my posts?
Any posts made are considered to be public, so any information you share in the post is done by consent and with the understanding that they are visible to others. If you make a post, then your username will appear next to your post. If you have set your country or preferred programming language in your profile, then these will also be visible.
Please note that making your account unlisted will neither hide your public posts nor will it delete previously made posts. However, anyone can manually delete their own posts at any time by visiting the post and clicking the delete link.
How is the data processed?
We do not use the data for any purpose other than creating public ranked tables, which can be found in the Statistics section. These tables are visible to all members and include preferred programming languages, countries represented by our members, and the fastest solvers.
Most members take great pride in earning ranked position. To ensure that the public tables fairly and accurately represent genuine achievements, solve times for problems are automatically processed. Any accounts that are public and exhibit unrealistic patterns are flagged for review by the team and may be permanently removed from public view; accounts that remain unlisted will not be flagged.
Do you share the information in the database with any third parties?
Absolutely not. Even though accounts are anonymous, we do not share any data with third parties. Project Euler remains committed to being an independent website with no links to commercial ventures.
How long will you keep my account?
As accounts are entirely anonymous, we neither have a duty to remove accounts after a fixed expiration date nor do we have any responsibility to keep accounts indefinitely. Currently we have no intention of deleting accounts, but it is quite possible at some point in the future that we may purge accounts with long periods of inactivity. All members have the option of deleting their own accounts at any time. This facility is found at the bottom of the account page, but please be aware that the process is irreversible.
How can I contact you regarding an issue relating to privacy or security?