Privacy Policy

Last Updated: 7/19/2025

1. Introduction

PyExercises ("we," "our," or "us") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our educational platform for Python learning (the "Service").

We encourage you to read this Privacy Policy carefully to understand our practices regarding your personal data. By accessing or using the Service, you acknowledge that you have read, understood, and agree to the collection, use, and disclosure of your information as described in this Privacy Policy.

2. Information We Collect

2.1 Personal Information

We collect personal information that you voluntarily provide to us when you:

  • Register for an account
  • Subscribe to our premium services
  • Contact us for support
  • Participate in surveys or promotions

This information may include:

  • Name
  • Email address
  • Payment information (for premium subscribers)
  • Any other information you choose to provide

2.2 Usage Data

We automatically collect certain information when you access and use the Service, including:

  • IP address
  • Browser type and version
  • Device information
  • Time spent on the Service
  • Pages visited
  • Exercise completion rates
  • Features used

2.3 Cookies and Tracking Technologies

We use cookies and similar tracking technologies to collect information about your browsing activities and to provide certain functionality within our Service. Our cookies are primarily used for:

  • Authentication and identifying you on the site
  • Remembering your preferences and settings
  • Analyzing how you use the Service (only after you have provided cookie consent)

You can set your browser to refuse all or some browser cookies, but this may prevent some features of the Service from functioning properly. We use a consent management platform (cookie-script.com) to obtain your consent before activating any non-essential tracking.

3. How We Use Your Information

We use the information we collect for the following purposes, each supported by the lawful basis indicated:

  • Providing and maintaining the Service — necessary for the performance of our contract with you (Article 6(1)(b) GDPR)
  • Processing your account registration and subscription payments — contract performance
  • Managing your account and providing customer support — contract performance
  • Monitoring usage patterns to improve the Service — our legitimate interest in improving educational quality (Article 6(1)(f) GDPR)
  • Limiting usage based on subscription levels — contract performance
  • Sending administrative information, such as updates to our Terms or Privacy Policy — legal obligation and legitimate interest
  • Detecting, preventing, and addressing technical issues or service abuse — legitimate interest in maintaining security

4. Disclosure of Your Information

4.1 Service Providers

We may share your information with third-party service providers that perform services on our behalf, including:

  • Supabase — user authentication and database storage
  • Vercel — website hosting, edge network delivery, and anonymized analytics
  • Mistral AI — AI assistant (PyThor) feature; your messages and exercise context are sent to Mistral's API to generate responses
  • CookieScript — cookie consent management
  • Payment processors — for premium subscription billing
  • Customer support services

All sub-processors are required to protect your information and may only process it for the specified purpose. We have or are in the process of finalizing Data Processing Agreements with each sub-processor.

4.2 Educational Partners

We may share anonymized or aggregated user data with educational partners to direct users to external learning materials that may enhance their learning experience.

4.3 Legal Requirements

We may disclose your information if required to do so by law or in response to valid requests by public authorities (e.g., a court or government agency).

4.4 Business Transfers

If we are involved in a merger, acquisition, or asset sale, your personal information may be transferred as a business asset. In such cases, we will provide notice before your personal information is transferred and becomes subject to a different Privacy Policy.

5. Data Retention

We retain your personal information only for as long as is necessary for the purposes set out in this Privacy Policy, or as required to comply with our legal obligations. Specific retention periods are as follows:

  • Account data (email, profile): Retained for the duration of your account, plus 30 days after deletion to allow for recovery requests.
  • Exercise progress and student code: Retained for the duration of your account. Deleted within 30 days of account deletion.
  • Analytics events (usage data): Retained for up to 2 years, then automatically deleted.
  • PyThor conversation logs: Retained for up to 1 year, then automatically deleted.
  • Payment records: Retained for 7 years as required by Estonian and EU tax law.

6. Data Security

We have implemented appropriate technical and organizational measures to protect the security of your personal information. However, please be aware that no method of transmission over the Internet or method of electronic storage is 100% secure.

7. Your Data Protection Rights

Under the General Data Protection Regulation (GDPR) and other applicable data protection laws, you have certain rights regarding your personal data:

  • Right to Access (Article 15): You have the right to request copies of your personal data.
  • Right to Rectification (Article 16): You have the right to request that we correct any information you believe is inaccurate or incomplete.
  • Right to Erasure (Article 17): You have the right to request that we erase your personal data, under certain conditions.
  • Right to Restrict Processing (Article 18): You have the right to request that we restrict the processing of your personal data, under certain conditions.
  • Right to Data Portability (Article 20): You have the right to request that we transfer the data we have collected to another organization, or directly to you, under certain conditions.
  • Right to Object (Article 21): You have the right to object to processing of your personal data where we rely on legitimate interests as our lawful basis. We will cease processing unless we can demonstrate compelling legitimate grounds.

To exercise any of these rights, please contact us at dataprotection@pyexercises.com. We will respond to your request within 30 days.

8. Children's Privacy

Our Service is not directed to individuals under the age of 16. We do not knowingly collect personal information from children under 16. If we learn we have collected personal information from a child under 16, we will delete that information as quickly as possible. If you believe we might have any information from or about a child under 16, please contact us at dataprotection@pyexercises.com.

9. International Data Transfers

Your information may be transferred to and processed in countries other than Estonia. Specifically:

  • Supabase (database and authentication) — may process data on infrastructure hosted in the United States or European Union. Where data is transferred outside the European Economic Area (EEA), we rely on Standard Contractual Clauses (SCCs) approved by the European Commission.
  • Vercel (hosting and analytics) — operates a global edge network. US-based processing is covered by Standard Contractual Clauses.
  • Mistral AI (PyThor AI assistant) — is based in France and processes data within the EEA; no additional transfer mechanism is required.

By using the Service, you understand that your data may be processed in these jurisdictions.

10. Changes to this Privacy Policy

We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the "Last Updated" date. For material changes, we will provide notice via email or a prominent notice on the Service at least 30 days before the change takes effect.

11. Contact Us

If you have any questions about this Privacy Policy, please contact us at:

  • Email: dataprotection@pyexercises.com

For general inquiries or support:

  • Email: support@pyexercises.com