1. Overview
CS Learning Portal ("we", "us", "the site") is an educational platform offering computer science tutorials, an in-browser code editor, practice quizzes, coding problems with an automated judge, interview preparation material, cheatsheets and developer tools.
You can read most of the site without an account. You only need to sign in to save progress, earn XP, submit solutions to the judge and use the dashboard.
The site is free to use and is funded by advertising. That means third-party advertising companies process some information about your device and browsing in order to select and measure the ads you see. Sections 5 to 7 explain exactly how that works and how to turn personalised advertising off.
2. Information we collect
a. Information you give us
- Account details — email address and password (stored hashed by our authentication provider), or the basic profile returned by a third-party sign-in provider if you use one.
- Profile information — display name, username and avatar image, if you choose to set them.
- Content you submit — code you write in the editor or submit to the judge, quiz answers, and anything you send us by email or through the contact form.
b. Information generated by using the site
- Learning progress — chapters and tutorials completed, quiz results, problems attempted and solved, XP and level.
- Submission records — the language used, verdict (accepted, wrong answer, time limit exceeded and so on), runtime and memory figures, and timestamps.
- Usage telemetry — aggregate counts of page and feature usage, used to see which material is working and which is broken.
c. Information collected automatically
- Technical data — IP address, browser and device type, operating system, screen size, language, referring page and timestamps, recorded in standard server logs.
- Local preferences — your light/dark theme choice and session tokens, kept in your browser.
- Advertising identifiers — cookies and similar technologies set by our advertising partners. See sections 5 and 6.
We do not ask for and do not want payment card details, government identification, precise GPS location, biometric data, or any special category data such as health, religion or political opinions. Please don't put that kind of information in code comments, quiz answers or contact messages.
3. How we use your information
- To create and secure your account and keep you signed in.
- To save your progress, XP and level across devices and show them on your dashboard.
- To compile, run and grade the code you submit, and to return the verdict.
- To provide support when you contact us, and to investigate bug reports.
- To detect and prevent abuse — spam, scraping, attempts to break out of the code sandbox, or attacks on the service.
- To understand which tutorials, problems and tools get used, in aggregate, so we can improve or retire them.
- To display advertising that funds the site, and to measure how those ads perform.
- To promote the site through our own advertising campaigns on Google and Meta, and to measure whether those campaigns work.
- To send service messages such as password resets or important changes to the site. We do not send marketing email unless you ask for it.
We do not use your personal information to train machine learning models. We do not give advertising partners your email address, password, submitted code or quiz answers.
4. Legal basis for processing
Where data protection law such as the UK/EU GDPR applies to you, we rely on:
- Contract — to deliver the account, progress tracking and judge features you signed up for.
- Legitimate interests — to keep the service secure, prevent abuse, and understand usage in aggregate, balanced against your privacy.
- Consent — for all non-essential cookies and identifiers, including everything used for advertising and ad measurement. In the EEA, the UK and Switzerland we ask through a consent banner before any advertising cookie is set, and you can change or withdraw your choice at any time.
- Legal obligation — where we have to keep or disclose records by law.
6. Advertising
a. Who we work with
We use advertising in two distinct ways: to earn revenue by showing ads on our own pages, and to promote the site through campaigns we run on other platforms. The partners involved are listed below. Each is an independent controller of the data it collects, and each has its own privacy policy governing what it does with that data:
| Partner | Where | What it does |
|---|---|---|
| Google AdSense | On this website | Displays ads on tutorial, article and tool pages. Uses cookies and similar technologies to select ads, cap how often you see the same one, detect invalid clicks and measure performance. |
| Google Ads | Our own campaigns | Used by us to promote the site across Google Search, YouTube and partner sites. A Google tag on our pages measures whether those campaigns lead to visits or sign-ups, and may build remarketing audiences. |
| Meta (Facebook / Instagram) | Our own campaigns | Used by us to promote the site on Facebook and Instagram. A Meta tag on our pages measures campaign performance and may build audiences of people who visited the site. |
b. What advertising partners receive
When an ad is requested or a campaign tag fires, the partner typically receives your IP address, user agent and device type, the page you're on and the page you came from, approximate location derived from your IP (usually city or region level, not GPS), your advertising cookie ID, and interaction data such as whether an ad was seen or clicked.
They never receive your account email, password, display name, the code you write or submit, your quiz answers, or your XP and progress records.
c. Ads shown on this site
Google AdSense and its vendors use cookies and identifiers to serve ads based on your prior visits to this and other websites. Where personalised advertising is enabled, the ads you see may reflect your inferred interests. Where you decline it, you will still see ads, but they will be based only on general context such as the page you're reading. Google's use of advertising cookies is described at policies.google.com/technologies/ads.
d. Campaigns we run elsewhere
To reach new learners we may advertise the site on Google Search, YouTube, Facebook and Instagram. To measure whether those campaigns work, we may place a Google Ads tag and a Meta tag on our pages. These tell the respective platform that a browser reached a given page — for example a sign-up confirmation — so the platform can attribute the visit to a campaign. The same tags may be used to build remarketing audiences of past visitors, or lookalike audiences, for our future campaigns.
You can manage what Google shows you at myadcenter.google.com and what Meta shows you at facebook.com/adpreferences.
e. "Sale" and "sharing" under US state laws
We do not exchange personal information for money. However, under the California Consumer Privacy Act and similar laws in other US states, allowing advertising partners to collect identifiers for cross-context behavioural advertising can be treated as "selling" or "sharing" personal information. On that basis we disclose that we share online identifiers and internet activity information with the advertising partners listed above for that purpose. You can opt out — see section 7 — and we honour Global Privacy Control signals sent by your browser.
f. What we don't do
- We don't allow ads that are deceptive, malicious, or that impersonate our own content.
- We don't provide advertising partners with any account, submission or progress data.
- We don't serve personalised advertising to anyone we know to be under the applicable age threshold — see section 14.
7. Your advertising choices
You have several independent controls, and you can use any combination of them:
- Our consent banner — where it applies to you, use it to accept or reject advertising and measurement cookies. You can reopen it at any time from the link in the site footer to change your mind.
- Google ad settings — manage or turn off ad personalisation across Google's services at myadcenter.google.com.
- Meta ad preferences — at facebook.com/adpreferences.
- Industry opt-out tools — optout.aboutads.info (US), youronlinechoices.eu (Europe), or optout.networkadvertising.org.
- Global Privacy Control — if your browser or extension sends a GPC signal, we treat it as an opt-out of sharing for targeted advertising.
- Browser settings — block or delete third-party cookies directly.
Opting out stops ads being tailored to you. It does not remove ads, and it does not stop us counting how many times an ad was shown, which we need in order to be paid.
8. Code you write and run
When you run code in the editor or submit a solution, that code is sent to a sandboxed execution environment operated by us or by a code-execution provider on our behalf. It is processed there to compile, run and check the output, subject to time and memory limits.
- Code you run without signing in is processed transiently and is not attached to an identity.
- Code you submit while signed in is stored with your account so you can review your submissions and so the judge can record a verdict.
- Anonymised code and failure output may be examined when we're debugging the judge itself.
- Your code is never sent to advertising partners and is never used for ad targeting.
Do not paste passwords, API keys, tokens or personal data belonging to other people into the editor. Treat everything you run here as if it could be read by an operator.
9. Service providers we use
Besides the advertising partners in section 6, we use a small number of processors to run the site. They only handle data for us, on our instructions:
| Purpose | What it handles |
|---|---|
| Authentication & database | Account credentials, profile, progress, XP, submissions |
| Hosting & CDN | Serving pages, server logs including IP addresses |
| Code execution / judge | Source code submitted for compilation and grading |
| Media hosting | Images, thumbnails, avatars and cheatsheet assets |
| Consent management | Recording your cookie and advertising choices |
| Web fonts | Font files requested by your browser when a page loads |
| Email delivery | Transactional email such as password resets |
11. How long we keep data
- Account and profile — for as long as your account is open.
- Progress, XP and submissions — for as long as your account is open, since they're the point of having one.
- Server logs — typically up to 90 days, then deleted or aggregated.
- Consent records — up to 24 months, so we can show what you chose and when.
- Advertising data — held by the advertising partners under their own retention schedules, not ours. Their policies are linked in section 6.
- Support emails — up to 24 months, so we can follow up on recurring issues.
- Aggregated, anonymised statistics — kept indefinitely; they can no longer identify you.
When you delete your account, we remove or anonymise your personal data within 30 days, except where we must keep something to comply with a legal obligation or resolve a dispute.
12. Security
We use HTTPS everywhere, delegate password storage and hashing to our authentication provider, apply row-level access rules in the database, and run all submitted code in an isolated sandbox with strict time and memory limits.
No system is perfectly secure. If you find a vulnerability, please email cslearningportal.edu@gmail.com with [SECURITY] in the subject rather than disclosing it publicly, and give us reasonable time to fix it.
13. Your rights and choices
Depending on where you live, you may have the right to:
- Access a copy of the personal data we hold about you.
- Correct anything inaccurate — most profile fields you can edit yourself in your dashboard.
- Delete your account and associated personal data.
- Export your data in a portable format.
- Object to or restrict certain processing, including profiling for advertising.
- Opt out of targeted advertising and of any sharing treated as a sale under US state law.
- Withdraw consent where processing is based on consent, without affecting what happened before.
- Complain to your local data protection authority.
To exercise any of these, email cslearningportal.edu@gmail.com from the address on your account. We'll respond within 30 days and may ask you to verify your identity first. Exercising your rights costs nothing, and we won't degrade your service or show you a worse product for doing so.
Requests about data held by an advertising partner may need to go to that partner directly, since they control it independently. We'll point you to the right place if so.
14. Children's privacy
The site is intended for users aged 13 and over (16 in regions where that's the minimum age for consent to online services). We don't knowingly collect personal information from children below that age, and the site is not directed at children.
We do not knowingly permit personalised or interest-based advertising to be served to anyone under the applicable age threshold. Where we know or believe a user is below it, ad requests are marked so that only non-personalised, contextual ads are served.
If you believe a child has given us personal data, email us and we'll delete the account and its data promptly.
15. International transfers
We're based in India. Our service providers and advertising partners — including Google and Meta — process data in the United States and other countries. Where personal data is transferred out of a region with its own transfer rules, such as the EEA or the UK, we rely on appropriate safeguards including standard contractual clauses and, where applicable, certification under the EU–US Data Privacy Framework.
16. Changes to this policy
We may update this policy as the site changes. The "last updated" date at the top always reflects the current version. If a change materially affects how we handle your personal information — including when advertising is first switched on, or when we add an advertising partner — we'll give notice on the site before it takes effect, and ask for fresh consent where the law requires it.
17. Contact us
Questions about this policy, or want to exercise a right described above? Reach us at cslearningportal.edu@gmail.com or through the contact page.