Privacy policy
This policy explains how the Data Science Python Playground website and the Data Playground iPhone/iPad app handle information.
1. Who is responsible
Data Science Python Playground is maintained by Elijah Ang.
Privacy and support contact:
Elijah Ang
elijahang77@gmail.com
+65 8822 7539
2. Information used by the playground
The playground processes bundled datasets, Python code, notebook inputs, model settings, charts and results to run the examples you choose. Python executes in your browser or the app’s web view. The current application code does not upload your code, dataset values or analysis results to a project-operated analysis server.
If you email support, the maintainer receives the message and any contact details or attachments you choose to include. Please share only the information needed to explain your request.
3. Accounts, analytics and learning activity
The public playground works without an account. The current build includes no analytics SDK, advertising SDK or cross-app tracking integration. Data Foundations and Machine Learning lessons keep code and results in the active activity only; they do not save learning progress or completion records.
The separate private site uses Cloudflare Access for sign-in. This authentication is separate from the public learning tools and does not create cloud notebooks or learning records.
4. On-device storage and controls
- Theme: your light/dark preference is saved in browser local storage.
- Machine Learning Playground: notebook code drafts, bundled dataset text and setup selections are saved automatically in local storage for each setup. Saved drafts exclude output and run-status evidence; reopening a draft does not restore Python variables or validated results.
- Data Playground, Statistics Playground and lessons: active code, Python variables and results are temporary. Data Playground opens with an empty notebook. Lesson navigation or reload restores the activity’s starter code.
- Offline pages: where supported, a service worker caches site pages, scripts and bundled datasets. Python and package resources may also be cached by your browser. Cached pages are replaced as site versions change.
- Exports: files are created when you request a download or share. Files you save remain wherever you choose to save them. The native share flow writes an export to the app’s cache and attempts to delete that temporary file after the share sheet closes.
Local storage and browser caches have no application-set expiry period. You can remove them using your browser’s controls for this site; doing so also removes saved ML drafts and preferences. Storage is specific to the browser or app and site address, and is not synchronised to a project account. Removing site data does not delete files you already exported.
5. Network requests, cookies and third parties
The public website is delivered through GitHub Pages; Cloudflare provides domain and private-site services. Hosting and security providers may process technical request information such as IP addresses and browser details under their own policies. See GitHub’s privacy statement and Cloudflare’s privacy policy. This policy does not promise a particular retention period for provider logs.
At private.dataplayground.science, Cloudflare Access handles the authorised email address and email-code sign-in, and may use authentication cookies and access logs. Their lifetime and availability depend on the private site’s configuration and Cloudflare’s policies. A private-site login is not consent to advertising.
Fonts and teaching datasets are served with the site. When Python is started on the web, the runtime and packages may be requested from jsDelivr and Python package providers. Those requests disclose ordinary network information to the receiving provider; they are distinct from uploading your analysis work. External dataset-source and documentation links open the linked provider’s site, which follows its own policy.
The public application code does not set advertising or analytics cookies. Browser local storage and offline caches described above are separate forms of on-device storage. Hosting, authentication and external sites may have their own cookie practices.
Native builds are configured to use bundled Python assets. External source links and files you choose to share still involve the provider or destination you select.
6. Advertising now and possible future changes
Advertising is disabled in the current website and native build. No Google AdSense or AdMob ad SDK, consent-management platform (CMP), or live consent message is loaded by the application. A publisher listing in ads.txt and any visual placement preview do not enable ads, collect advertising consent or establish site approval.
Google advertising may be considered for a future release. If enabled, Google and participating providers may use cookies, local storage, identifiers and technical information to serve or measure ads; the actual data uses will depend on the chosen configuration. The policy and user choices must describe that configuration before it is enabled. No advertising identifier or cookie retention period is asserted for a future integration here.
For users in the European Economic Area, UK and Switzerland, any future integration must meet Google’s EU user consent policy, including legally required consent, disclosures of the parties using personal data and instructions for withdrawing consent. Google requires a Google-certified CMP integrated with the IAB Transparency and Consent Framework for personalised ads in those regions. These are conditions for a possible future integration, not a description of controls available today.
See how Google uses information from sites or apps using its services and Google’s advertising information and controls. The maintainer will review applicable regional requirements, provider disclosures and consent choices before enabling any advertising. Analysis code, dataset values, model inputs and learning activity are not sent to an advertising service by the current build.
The protected private address is excluded by the current advertising gate. Public ?ads=off or ?ads=on parameters do not change the gate or express a consent choice.
7. Sharing and sale
We do not intentionally sell or rent analysis data. You may choose to share an exported file or chart through the browser, Files app, or system share sheet. That sharing is controlled by you and the destination you select.
8. Children
The service is intended as a general-audience educational tool and is not specifically directed to children. We do not knowingly collect personal information from children. If the audience or advertising configuration changes, this policy and the store disclosures will be reviewed.
9. Privacy questions and requests
For questions about this policy or a privacy/support request, email elijahang77@gmail.com. Please include enough context for us to understand the request. Applicable law may affect what can be provided.
10. Security
Reasonable measures will be used to protect the project and its release infrastructure. No internet-connected software can guarantee absolute security. Keep your device and operating system updated, and only use data you are authorised to process.
11. Changes to this policy
We will update this page when the service’s data flows, native dependencies, advertising setup, persistence model, or support process changes. The effective date above will be updated when a revised policy is published.
This policy describes the current application build. It will be reviewed before any native-store submission or change to advertising, analytics or storage practices.