Overview
Welcome to PyLernen. This Privacy Policy explains how we collect, use, disclose and safeguard your information when you visit our websites (including pylernen.org and its learning tracks) and use our lessons, playground, handbook, community and related services.
We are committed to protecting your personal information and your right to privacy. If you have any questions or concerns about this policy or our practices, please contact us.
What we collect
We collect information in three ways: information you give us directly, information collected automatically when you use the platform, and information you send us when you ask for help.
Information you provide
- Full name and email address when you create an account
- Your password, stored only as a secure hash. We never see your plain-text password
- Payment information, which is processed by our payment provider. We do not store card details
- Code you write and save in lessons or the playground, including any snippet you choose to publish
Collected automatically
- Browser type and version, device type and operating system
- IP address, anonymised after 30 days
- Pages visited and time spent on the platform
- Lesson progress and completion timestamps
- Exam scores and certificate data
When you contact us
- Your name, email address, the topic you choose and the message you send through our contact form
How we use your information
We use the information we collect only for the following purposes:
- Creating and managing your PyLernen account
- Saving and syncing your lesson progress across devices
- Generating and storing completion certificates
- Sending transactional emails such as verification and password resets
- Processing payments and recording coupon usage
- Responding to your questions and support requests
- Improving our platform, curriculum and features
- Detecting and preventing fraud or abuse
- Complying with legal obligations
We do not use your data for advertising profiling, sell it to third parties, or use it for any purpose unrelated to the PyLernen service.
Sharing your information
We share information only with the service providers we need to run PyLernen, and only the minimum each one needs:
| Provider | Purpose | Data involved |
|---|---|---|
| Supabase | Database and authentication | Account details, progress, saved code, exam results |
| Selar.co | Payment processing | Purchase and payment details. We never receive full card numbers |
| EmailJS | Delivering contact-form messages | The name, email, topic and message you submit |
| Cloudflare | Hosting, security and privacy-friendly analytics | Technical data such as IP address, browser and pages visited |
| AI Debug Assistant | Explaining errors in your code | Only the code and error messages you choose to send |
We may also share information in these limited circumstances:
- Legal requirements: if required by law or court order, or to protect the rights and safety of users
- Business transfers: in the event of a merger or acquisition, with advance notice to you
What we never expose
We limit access to information based on the account role and the feature that requires it. Unless disclosure is required by law or needed to protect the platform, we do not expose:
- Plain-text passwords, password-reset secrets, session tokens, private API keys or database credentials
- Payment card numbers or full payment credentials handled by our payment providers
- A student's private drafts, projects or submissions to other students or unrelated classes
- One teacher's class records or submissions to another teacher without appropriate authorisation
- Private account, profile or contact information to advertisers or data brokers
- Internal security logs, access controls or infrastructure details that could help someone compromise an account
Data storage & security
Your data is stored on Supabase-managed infrastructure with the following protections in place:
- All data is encrypted at rest and in transit (TLS 1.2 or higher)
- Passwords are hashed using industry-standard algorithms
- Access to the database is role-restricted and audited
- Lesson progress is also cached in your browser's local storage for offline use
No system is perfectly secure. If we ever become aware of a security incident that affects your personal information, we will notify you and take steps to contain it as quickly as possible.
Data retention
We keep personal information only for as long as we need it for the purposes described in this policy:
| Data | How long we keep it |
|---|---|
| Account & profile | While your account is active. Removed within 30 days of a deletion request |
| Progress, exam results & certificates | While your account is active |
| IP addresses | Anonymised after 30 days |
| Contact-form messages | Only as long as needed to resolve your request |
| Browser local storage | Until you sign out, clear your browser data or delete your account |
Your rights
You have the following rights regarding your personal information:
- Access: request a copy of all data we hold about you
- Correction: update inaccurate or incomplete data
- Deletion: request that your account and all associated data be permanently deleted
- Portability: export your data from Account Settings, or use the "Save Backup File" button on your dashboard
- Objection: object to certain uses of your data
To exercise any of these rights, contact us at [email protected]. We will respond within 30 days.
Children's privacy
PyLernen is designed to be suitable for learners of all ages, including children. Because the platform requires account registration, we ask that:
- Users under 13 have verifiable parental or guardian consent before registering
- Parents may contact us to review, update or delete their child's data
- We do not knowingly collect sensitive information from children under 13 without consent
If you believe a child under 13 has registered without consent, please contact us immediately and we will remove the account.
Changes to this policy
We may update this Privacy Policy from time to time. When we do, we will:
- Update the "Last updated" date at the top of this page
- Notify registered users by email for material changes
- Post a notice on the PyLernen homepage for 30 days
We encourage you to review this page periodically. Your continued use of PyLernen after changes take effect means you accept the updated policy.
Contact us
If you have any questions, concerns or requests about this Privacy Policy or our data practices, please reach out:
- Email: [email protected]
- Or use the form on our contact page