Privacy Policy
This policy explains what information lean4.dev may collect, how it is used, and how advertising works on the site.
Last updated: September 27, 2026
Who operates this site
Amir Alayoubi, Hardtstraße 14, 76137 Karlsruhe, Germany, operates the independent educational website at lean4.dev. For privacy questions or requests, contact [email protected].
Information you provide
If you email the site, the message may include your email address, name, and any information you choose to include. This information is used to respond to your message, handle corrections, and improve the site.
Forum contributions and guest cookie
The forum stores the display name, text, category, related story, and timestamps you submit. Published topics and replies are visible to other visitors. Display names are unverified; an email address or account is not required. Do not include private information in a post.
A signed, HTTP-only session cookie identifies your browser so you can remove your own posts and so the forum can limit repeated submissions. It lasts up to one year and is renewed when you use the forum. Clearing it removes your ability to manage earlier posts from that browser.
Reports and their reasons are available to moderators. Removed posts are hidden from public view but remain in the database for moderation. Contact the site if you need permanent deletion or have lost access to a post. Rate-limit records use guest identifiers and, when trusted proxy support is enabled, a keyed hash of the network address. Records older than two minutes are cleared on subsequent successful forum writes.
Academy accounts, learning, and payments
Academy accounts use Google Firebase Authentication. We store your account identifier, email address, Academy Pass status, compiler-credit balance, completed exercise identifiers, and usage counters to provide access and save progress. Authentication data is processed by Google; passwords are not stored by the website application. If you choose to continue with Google, Google shares your name, email address and profile picture with Firebase Authentication; the Academy uses only the email address and account identifier.
You can permanently delete your Academy account from the account page. This removes your sign-in, course access, saved progress, saved exercise code, submitted Problems solutions and compiler usage. Transaction records that must be kept for refunds, accounting, tax or fraud prevention may remain for the required period; profile fields held by the Academy are removed from those retained records.
Stripe processes one-time payments, billing details, invoices, withdrawals, and refunds. We store Stripe customer, checkout, payment and refund identifiers, along with the name and time submitted through the withdrawal function, so purchases can be applied once, refunded and documented. Payment card numbers are entered on Stripe’s hosted checkout and are not stored by this website.
When you check code, the submitted source is sent to an isolated compiler on Google Cloud. The compiler does not intentionally log source code, and its temporary execution files are discarded after each run. Visitors may use a small compiler trial on free lessons before creating an account; a signed, HTTP-only cookie keeps count of those trial checks for up to one year. The exercises you complete during the trial are recorded under the same random cookie identifier, with no name, email or code, so that they can be added to an account you create or sign in to from that browser; the record is deleted once it has been added. Code drafts, the displayed trial balance and the lessons you completed are also saved in your browser’s local storage. When you are signed in, the code of each Academy exercise is also saved with your account as you last checked it, so that you can continue on another device; only the latest version per exercise is kept, and it is deleted with your account. Hosting services may retain operational request logs. Do not submit passwords, API keys, or confidential data as code.
On the Problems pages, each solution you submit (pressing Submit, not Run) is stored with your account together with its verdict, compile time and submission time, so that you can review your earlier submissions and see which problems you have solved. The site operator may read submitted solutions to investigate a problem, the judge or a support request. Anonymous totals per problem, without account identifiers or code, are used to show acceptance rates. Submitted solutions are kept while the account remains open and are deleted with it.
Your Problems profile is private unless you choose a username and make it public. A public profile shows that username, your points and rank, the problems you have solved with the dates, your solving streak, and how many solutions you submitted on each day, on the leaderboard and on a profile page anyone can open. Your email address and code are never shown. You can make the profile private again at any time, which removes it from the leaderboard; deleting your account also releases the username.
Account and progress records are retained while the account remains open. You may request deletion at any time. Purchase and accounting records are retained for the periods required by tax and commercial law.
Legal bases
- Account, course-access, compiler, and payment processing are necessary to perform the contract or provide the service you requested.
- Security logs, rate limits, moderation, and service diagnostics serve our legitimate interests in operating a reliable and abuse-resistant site.
- First-party Academy product analytics serve our legitimate interests in improving lessons, compiler reliability, and the purchase process.
- Non-essential advertising cookies and personalized ads require consent where applicable. You may withdraw that consent through the consent controls.
- Billing records may be processed to comply with legal accounting and tax obligations.
Automatically collected information
The hosting provider and security services may process standard technical data such as IP address, request URL, browser type, device information, referrer, and timestamps to deliver the site, prevent abuse, and troubleshoot errors.
The Academy uses first-party product analytics to understand whether visitors open a lesson, run the compiler, finish a course, return after seven days, or continue from pricing to checkout. It also records aggregate compiler results, timeouts, lesson abandonment, hint and solution use, time spent on a lesson, and the steps of creating an account. On the Language and Tactics guides it records which page was viewed, the time it was visible, whether its end was reached, and clicks on the linked Academy exercise. On the Problems pages it records views of the problem list and of each problem, runs and submissions with their verdict and judge time, hints and revealed solutions, views of locked Pass problems and clicks on their Pass button, the number of submissions before a problem was first solved, and whether a Pass was later bought in the same browser. For a first visit, only the name of the referring site (for example a search engine) and whether the device is a phone or a computer are kept. A random browser identifier and a session identifier are stored in local and session storage. If you sign in, the browser identifier may be associated with your Academy account so the learning progress can be measured across sessions. Submitted Lean source, quiz answers, payment-card details, IP addresses, and advertising identifiers are not stored in the Academy analytics records.
Across the whole site we count visits as sessions: the section and page a session started on, whether it went on to a second page, an interaction or ten seconds on screen, and, for each session, the browser's primary language, time zone, screen-width range, device class, operating system and browser family, whether the browser visited before, and the country if our hosting provider reports one. These are stored only as daily totals, not per visitor, and a session marker in local storage keeps one session from being counted twice. Uncaught errors in our own scripts are reported with the error message and the page they happened on, without any visitor or account data. On the proof stories we count views, visible reading time, whether the sources at the end were reached, and clicks on sources, the Lean project and the forum, again only as totals per story and per day.
Analytics are used to improve lessons, diagnose compiler reliability, and understand purchases. Deleting an Academy account removes the account link from the browser analytics profile; anonymous and aggregate measurements may remain.
Cookies and advertising
This site may use Google AdSense. When ads are enabled, Google and its partners may use cookies or similar technologies to serve ads, limit repeat ads, measure ad performance, and help prevent fraud.
- Learn how Google uses data on partner sites at policies.google.com/technologies/partner-sites.
- Manage Google ad personalization at adssettings.google.com.
EEA, UK, and Switzerland consent
For visitors in the European Economic Area, the United Kingdom, and Switzerland, personalized advertising should only be served after the required consent has been collected through a Google-certified consent management platform where required by Google policy and applicable law.
Data sharing
Lean 4 Dev does not sell personal information. Data may be processed by service providers that help operate the website, deliver security, handle email, or provide advertising and measurement services.
International processing
Google and Stripe may process data outside your country. Where European data-protection law applies, transfers are covered by the safeguards described in those providers’ data-processing terms, such as adequacy decisions or standard contractual clauses.
Your choices
- You can block or delete cookies in your browser settings.
- You can opt out of personalized Google ads through Google ad settings.
- You may request access, correction, deletion, restriction, portability, or object to processing where the relevant legal requirements are met.
- You may complain to the data-protection supervisory authority responsible for your place of residence or for the site operator.
Changes
This privacy policy may be updated when the site changes providers, analytics, advertising setup, or contact workflows. Material changes will be reflected on this page.
See also the Terms.