cppAcademy

Privacy Policy

Last updated: 26 October 2026

Welcome to cppAcademy! We respect your privacy and aim to provide free programming education while collecting as little personal information as reasonably possible.

This Privacy Policy explains what information may be processed when you use our website, how browser storage works, and what rights you have.

1. Who We Are

cppAcademy is a free educational website created and independently operated by Kamen Topalov, based in Bulgaria.

Our website offers C++ programming lessons, algorithm explanations, interactive visualizations, programming exercises, and educational resources.

Website: https://cpp-academy.com

Website operator and data controller: Kamen Topalov

Contact email: contact.cppacademy@gmail.com

cppAcademy is an independent educational project and is not operated through a registered company.

2. Information We Collect and Process

You can use cppAcademy without creating an account or providing your name, email address, or other identifying information.

We do not require personal registration to access our lessons, interactive labs, or programming exercises.

However, some information may be stored in your browser or processed by the services that deliver and protect our website.

This may include:

3. Browser Storage

cppAcademy uses browser storage, including localStorage, to remember your progress, settings, and work between visits.

Depending on the feature, this may include completed lessons, C++ code drafts, graphs, maze layouts, and other preferences.

This application data is stored in your browser rather than in a cppAcademy user-account database.

Save edits to browser storage

The Settings menu includes an option called Save edits to browser storage.

It is enabled by default.

When enabled, cppAcademy can automatically save supported progress, edits, and configurations to your browser.

When disabled, cppAcademy stops saving application data to browser storage. You can continue using the website, but changes made while saving is disabled may be lost when you reload or close the page.

Turning off saving does not automatically delete information previously stored in your browser. Settings includes Delete saved cppAcademy data, which asks for confirmation and removes only cppAcademy's registered saved-work entries. The saving preference is retained. Current work remains open; while saving is ON, later autosaves can create saved copies again. You can also use your browser's site-data controls.

Your ON/OFF choice is remembered across pages, refreshes and browser restarts using the dedicated cppAcademy.saveEditsEnabled localStorage key. Saving is ON for first-time visitors. When saving is OFF, the only application information saved persistently is this preference itself. Previously saved work can still be restored and used, but new edits remain in memory unless you turn saving ON again. If your browser blocks storage or you clear its site data, the preference may be lost and saving defaults to ON.

While saving is OFF, the application storage controller blocks application-data writes, cancels queued saves, and keeps current-page work in memory where feasible. Turning saving ON does not immediately write paused work; subsequent edits and normal save actions can resume persistence.

The switch controls existing localStorage saves for progress, lesson context, code and input drafts, graphs, mazes, theme and code text size. It does not add persistence to Tree, Sort or Calculus Lab, which currently have no separate saved application state. No first-party application-controlled sessionStorage, IndexedDB or persistent Cache Storage use was identified in the reviewed source. Browser-managed caching of downloaded assets is separate.

This setting does not control essential cookies or other technologies used by hosting and security providers.

4. C++ Code Editor

cppAcademy provides an interactive C++ code editor for writing, running, and testing programs.

The reviewed implementation compiles and executes C++ locally in browser workers using WebAssembly. Source code and standard input are not submitted to a cppAcademy compilation server. The browser downloads compiler, editor and runtime assets to support these features.

cppAcademy does not intentionally collect or store visitors' source code in a central user-account database.

If browser saving is enabled, code drafts and related editor information may be saved locally on your device.

We recommend that you do not enter passwords, API keys, or other confidential information into the editor.

5. Contacting Us

You can contact cppAcademy at:

contact.cppacademy@gmail.com

When you email us, we receive the information you choose to provide, which may include:

We use this information to respond to inquiries, investigate reported issues, and consider suggestions for improving cppAcademy.

Emails are handled through Gmail, provided by Google.

Only the website operator has access to the cppAcademy contact inbox.

How long we keep emails

Routine email correspondence is normally deleted within 12 months after the last correspondence.

We may retain certain messages longer if reasonably necessary to resolve an ongoing issue, comply with a legal obligation, or establish, exercise, or defend legal claims.

This retention policy describes how cppAcademy manages correspondence. Google's own systems may apply separate technical retention and backup practices.

6. Technical Information and Website Security

When you visit cppAcademy, our hosting and security providers may automatically process technical information such as:

This processing helps deliver the website, maintain performance, prevent abuse, and protect against malicious activity.

cppAcademy does not directly control every technical record generated by its infrastructure providers.

7. Cookies and Similar Technologies

cppAcademy uses browser storage for educational functionality and preferences.

Our hosting and security infrastructure may also use cookies to protect the website and distinguish legitimate traffic from automated or malicious requests.

For example, Cloudflare may use security cookies such as __cf_bm when its bot-protection functionality is active.

You can manage cookies and stored website data through your browser settings. Restricting certain technologies may affect how the website works.

Where applicable law requires consent for nonessential cookies or similar technologies, the appropriate consent must be obtained before those technologies are used.

8. Third-Party Services

cppAcademy uses external services to provide and maintain the website.

ChatGPT Sites and Cloudflare: Used for website hosting, delivery, and security. These providers may process technical connection information.

Google Fonts: The current website requests externally hosted fonts to display text. Requests for externally hosted fonts can involve technical information such as IP addresses.

Google Gmail: Used to receive and respond to messages sent to our public contact email.

You can learn more about the privacy practices of these providers through their own policies:

Some providers may process information outside the European Economic Area, subject to applicable data-protection requirements and transfer safeguards.

9. Why We Process Information

We process information only for purposes connected to operating and improving cppAcademy.

These purposes include:

Where personal-data processing is necessary for website security or responding to voluntary inquiries, we may rely on legitimate interests under Article 6(1)(f) of the GDPR, subject to the required assessment.

Where processing is necessary to comply with a legal obligation, Article 6(1)(c) may apply.

Other activities may require a different legal basis or consent. In particular, the rules governing access to and storage of information on visitors' devices must be considered separately.

10. Data Retention

We aim to retain information only for as long as reasonably necessary.

Browser storage: Locally saved information generally remains until it is replaced, deleted by the visitor, or cleared by the browser.

Contact emails: Routine correspondence is normally deleted within 12 months after the last correspondence, subject to the exceptions explained above.

Hosting and security records: Retention depends on the relevant provider's practices and applicable service arrangements.

11. Your Privacy Rights

Under the GDPR, where applicable, you may have the right to:

These rights may be subject to legal conditions and exceptions.

To exercise your rights or ask a privacy-related question, contact:

contact.cppacademy@gmail.com

You may also lodge a complaint with a competent data-protection authority, including Bulgaria's Commission for Personal Data Protection:

https://cpdp.bg/

12. Children's Privacy

cppAcademy is an educational website designed to be accessible to learners of different ages, including children.

Visitors do not need to create an account or provide their age to access the educational content.

We encourage children to avoid sharing unnecessary personal information through emails, code examples, or other materials.

If a parent or guardian has concerns about information relating to a child, they can contact us using the email address provided in this policy.

13. Advertising and Analytics

Google AdSense loading code is integrated into the website. Google may process technical connection information when this code loads. Ad serving depends on Google account approval and configuration; this integration alone does not confirm that ads are being displayed. No separate first-party analytics integration was identified in the reviewed source. For information about Google advertising technologies, see Google’s advertising privacy information.

We may introduce advertising in the future to help cover the costs of operating and improving the website.

Before enabling advertising or additional nonessential tracking technologies, we will review our privacy practices, update this policy as necessary, and implement any required consent mechanisms.

Technical processing by hosting and security providers may occur independently of advertising or analytics.

14. Changes to This Privacy Policy

We may update this Privacy Policy when our website, services, or data-processing practices change.

The latest update date will be displayed at the top of this page.

We encourage visitors to review this page periodically.

15. Contact Information

If you have questions about this Privacy Policy or how cppAcademy handles information, please contact:

Kamen Topalov

cppAcademy

Email: contact.cppacademy@gmail.com

Website: https://cpp-academy.com