Privacy Policy

Last updated: August 25, 2026

This Privacy Policy applies to https://java-practice-lab.hasrauth.com. Java Practice Lab is operated by Priyanshu Rauth. Privacy questions can be sent to questsquantum50@gmail.com.

Browser storage used by the application

Java Practice Lab code uses localStorage for completed exercises, practice streaks, bookmarks, spaced-repetition review data, daily-challenge state, achievements, site and editor themes, the standalone compiler draft, custom compiler templates, and a compiler-run count. The learning-state hooks contain no code that uploads these values. Clearing this site's browser data removes them from that browser.

The shared Supabase client is configured to use localStorage if an authentication session exists, with session persistence and token refresh enabled. The current interface has no registration or sign-in. Google Analytics may use browser storage as described below; this policy does not claim analytics consent has already been obtained.

Java execution through Supabase and Judge0

Pressing Run in the standalone compiler invokes the Supabase execute-java Edge Function with Java source and the standard-input field. Exercise pages invoke it with edited source and no standard-input field. Merely opening or typing in an editor does not submit code.

The function sends source_code, Java language ID 91, a five-second CPU limit, a ten-second wall-time limit, and a 256,000 KB memory limit to Judge0 CE. Standard input is included only when non-empty. This path contains no application-database insert.

The Edge Function logs an execution message and the complete Judge0 response. It also logs Judge0 failure responses and caught errors. Java Practice Lab therefore does not claim that source, input, output, errors, IP information, or other request data can never appear in provider or infrastructure logs. The application configuration defines no Supabase or Judge0 retention period, deletion schedule, or access control, so this policy promises none. Never submit secrets, personal data, proprietary code, or confidential file contents.

Google Analytics 4

The production HTML loads Google's gtag.js and calls gtag('config', 'G-J8GPKR597V'), initializing Google Analytics 4 measurement ID G-J8GPKR597V. The application source defines no custom GA4 events and passes neither Java source code nor standard input to gtag. Other collection can depend on Google Analytics property settings not represented in the application source.

The Google tag may use analytics cookies or similar identifiers and send page, browser, device, network, referrer, and interaction information according to Google's implementation and property settings. The current source initializes GA4 without a consent-mode command and contains no consent-management platform. It does not claim consent has been requested or granted. Read the Google Privacy Policy or use the Google Analytics opt-out add-on.

Google AdSense and advertising

Google AdSense is not active, and the production source does not load the AdSense advertising script. Google site-verification meta tags may exist in the page head; they verify site control and do not display ads. AdSense code will be added only after Google reviews and accepts the website. Reserved placement components render nothing while advertising is disabled.

No AdSense consent flow or CMP is currently implemented because ads are inactive. Before ads are enabled, a Google-certified consent management platform will be used where required. This is a planned control, not a statement that consent is currently collected. Read Google's explanation for partner sites and use My Ad Center.

Your choices and questions

Browser controls can clear localStorage and cookies for this site. For a privacy request, email questsquantum50@gmail.com or use the contact page. Never send confidential compiler code.