Privacy information
Last updated: 6 November 2026. Implementation was reviewed on 5 November; production settings and the email-retention policy were confirmed on 6 November. The operator's legal name and public email were confirmed on 5 November. Legal bases and account-specific provider settings still require operator confirmation; this is not a statement of completed GDPR compliance.
Individual operator and privacy contact
LearnCodeVisually is operated by Zuhair Khan, the individual data controller, under the public-facing project name CodeVizAI. The legal identity of the data controller is Zuhair Khan; CodeVizAI is the project name, not a separately incorporated company. For privacy questions and data-subject requests, contact [email protected].
Local learning progress
Learning preferences and progress are saved in this browser, without an account or cross-device sync. The application uses ds-language and ds-code for language choices, codeviz-progress-v1 for quiz scores, attempt counts and completion marks, codeviz-active-path-v1 for the selected learning path, and codeviz-last-lesson-v1 for the resume link. These values have no application-set expiry and remain until removed by you or your browser. Anyone using the same browser profile may see this progress. They are not sent to the AI service as part of tutor requests. Clear this site's browser data to remove them; path reset clears only the selected path's completion marks. The operator must assess the applicable storage rules for each purpose; browser-local storage is not automatically exempt from those rules.
Third-party code editors
The Run control opens a local code preview. It does not embed OneCompiler or automatically send code or input to it. You can copy the example and separately choose Open OneCompiler, which opens that provider in a new tab. Paste only code you want to share. On visiting OneCompiler, its service receives technical connection information and may use cookies and advertising technologies under its privacy policy. Your code and input are processed there if you paste or submit them. Avoid personal or confidential information. You may instead download/copy examples and use a local development environment.
Website delivery and security providers
Public learning pages are published with GitHub Pages and delivered through Cloudflare, as observed in HTTP responses on 5 November 2026. Requests disclose technical information such as your IP address and requested URL to delivery providers. The optional AI Tutor backend uses Cloudflare Workers, Workers AI and Turnstile. See the GitHub privacy statement and Cloudflare privacy policy. Production screenshots supplied on 6 November 2026 show the AI Tutor Worker's optional Logs, Traces and Issues features switched off, with no telemetry export destinations configured. They show Workers AI, a Durable Object for usage budgeting and a rate limiter bound to the Worker. These settings do not establish retention for Cloudflare's separate delivery/security systems or GitHub hosting logs; those provider-level details remain under review.
Optional AI Programming Tutor (public beta)
LearnCodeVisually provides an optional programming assistant intended for learners at different experience levels, including younger learners. Its programming tutorials and interactive visualizations remain usable without the AI Tutor. The AI Tutor public beta is available with shared usage limits.
If you choose to use the AI Tutor, the browser sends your question, selected programming language, preferred response language, type of help (question, explanation, hint, debugging or review), selected explanation level, optional source code, up to six shortened recent conversation messages, and a Cloudflare Turnstile verification token to the AI Tutor Cloudflare Worker. Questions are limited to 900 characters and optional code to 2,500 characters. The Worker verifies Turnstile, applies traffic and daily usage protections, and passes relevant learning material to Cloudflare Workers AI to generate an answer. For the separate C for-loop lesson, the selected visualization step may also be supplied. The AI Tutor does not execute, compile, or test submitted code.
The Worker uses the connecting IP address for short-term rate limiting, and Cloudflare may process technical network and security information to deliver and protect these services. The application code does not deliberately write questions, code, AI answers or IP addresses to an application database. Recent conversation messages are held in the active browser page and sent only with a new question. Closing the tutor panel does not clear them. Clear conversation removes displayed history and drafts from this page; it does not undo completed transfers to a provider. Reloading ends the application conversation state, although your browser may independently restore form values. A Cloudflare Durable Object records the UTC day, aggregate request reservations and aggregate answered, failed and incomplete outcomes. These records contain no conversation text or visitor identifier. It presents a seven-day history; older daily summaries are removed on the next successful reservation, not by a timed deletion task. If no further request is reserved, stored summaries can remain longer. The current day-count record is replaced when a request is reserved on a new day. Cloudflare-operated logs and security systems may process information separately; their retention, access and deletion configurations remain unverified. This applies even though the public beta is enabled. The operator must complete that review; an application that does not save chat text can still have provider-level processing.
Do not enter passwords, API keys, private student assignments, names, contact information, school identifiers, health information or other personal or confidential details. Younger learners should use appropriate non-personal examples and may seek guidance from a parent, guardian or teacher. AI-generated explanations and code can contain mistakes, so check them rather than treating the output as a verified result.
Relevant providers include Cloudflare Workers, Workers AI and Turnstile. Refer to Cloudflare Workers AI data usage information and Cloudflare's privacy policy. These links are additional information and do not replace the operator's responsibility to verify actual processing arrangements and legal requirements.
Outstanding individual operator review for public beta: Zuhair Khan has confirmed his legal name and public contact email. The remaining review covers applicable legal bases, provider agreements, logging/retention and deletion details, rights procedures and clear age-appropriate notices. Privacy questions may be sent to [email protected].
Cloudflare AI and human verification
Opening the general AI Tutor starts Cloudflare Turnstile verification. The separate C for-loop tutor starts verification only after you press its verification button. Turnstile processes network and browser security signals; the Worker also sends the connecting IP address and verification token to Cloudflare's verification endpoint. This is distinct from sending a question to Workers AI. Read the Turnstile Privacy Addendum.
For standard, stateless inference, Cloudflare's Workers AI data policy says it does not use customer content for model training and does not retain inputs/outputs beyond processing and response delivery, subject to its stated exceptions. This does not promise zero retention for other Cloudflare services, security logs, or customer-enabled storage and logging.
Purposes, legal bases and international processing
Processing purposes include delivering the requested pages, remembering learning choices, answering optional programming questions, protecting the service against abuse, and responding to messages or privacy requests. The operator has not yet documented the applicable legal basis for each purpose or completed the relevant storage/consent assessment. Clicking an AI or external-service button is not, by itself, a claim of legally valid GDPR consent.
Providers may process data outside Denmark or the EEA. The applicable regions, processor/controller roles, contractual safeguards and transfer mechanisms must be confirmed against the actual accounts. Cloudflare publishes a Data Processing Addendum; linking it does not confirm the operator's contractual arrangements. The site makes no EU-only processing guarantee.
Contact messages and public reports
Sending email shares your address, message and any attachments with the operator and the email service. Under the policy adopted on 6 November 2026, general questions and feedback are deleted within six months after the enquiry is resolved. A minimal record of a privacy request is kept for twelve months after the request is closed, then reviewed and deleted unless still needed for a documented purpose. Spam and unnecessary sensitive attachments are deleted promptly. Website-related correspondence is reviewed monthly. Information needed for an ongoing dispute is kept separately with a documented reason and reviewed for deletion when that need ends. This is a manual review process, not an automatic mailbox-deletion service. Please send only what is needed to explain your request. GitHub issues are public; do not include personal data, credentials or private student work in an issue.
Advertising and consent
The reviewed HTML contains an AdSense ownership-verification meta tag and an ads.txt publisher record, but no active AdSense advertising script. These public identifiers are not payment credentials. Provider or deployment settings can change independently of repository code. Before enabling advertising, this notice will be updated to identify any advertising and analytics services in actual use, explain their purposes and data use, and describe relevant consent choices and other rights. Where required, a Google-certified consent management platform will be used.
Your rights and privacy requests
Depending on the processing and legal basis, you may request access, correction, erasure, restriction or portability of personal data, and may object to processing. Where processing relies on consent, you may withdraw it without affecting the lawfulness of earlier processing. To exercise rights, contact the operator below and describe the request without sending unnecessary identity documents. Browser-only learning data can be removed directly in your browser settings. Requests concerning provider-held information may require coordination with the relevant provider.
You may complain to Datatilsynet or your relevant supervisory authority. The tutor provides educational explanations, not automated admission, employment or other legally significant decisions about you.
Privacy contact
For privacy questions, personal data requests, or concerns about how your information is used, please contact Zuhair Khan (CodeVizAI) at [email protected] .