Legal
Privacy Notice
Last updated: August 30, 2026
Version: 2026-08-15
This Privacy Notice explains how CodeChest Ltd collects, uses, stores and shares personal information when you visit eduportal.az, create an EduPortal account, use an Academy or contact us.
CodeChest Ltd is a private limited company registered in England and Wales under company number 16912070. Our registered office is 71–75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom.
This Notice applies to Academy Owners, administrators, managers, instructors, mentors, students and other users. An Academy may also provide its own privacy information about how it uses student and staff information.
1. Who we are and how to contact us
CodeChest Ltd operates EduPortal and is responsible for the personal information it uses for account registration, authentication, platform security, billing administration, support, service analytics and management of the EduPortal service.
Privacy requests and data-protection complaints can be sent to [email protected]. We may ask for reasonable information to confirm your identity and authority before acting on a request.
2. CodeChest and Academy responsibilities
CodeChest Ltd decides how account, security, billing, support and platform-usage information is used and acts as a data controller for those purposes.
Each Academy independently decides which people it admits, what courses it provides and how it uses Academy records such as membership, attendance, assignments, submissions, grades and instructor notes. For those Academy-managed records, the Academy is responsible for having a lawful reason to collect and use the information, giving any additional notice required, managing permissions and responding to requests about its educational decisions. CodeChest hosts and processes those records to provide EduPortal and does not use them for its own advertising or unrelated purposes.
Academy personnel can see personal information only where their assigned role and permissions allow it. Questions about an Academy’s enrolment, attendance, grades, teaching or use of records should normally be raised with that Academy.
Deleting an EduPortal account removes or anonymises the account profile, sign-in information and other personal information controlled by CodeChest as described in section 13. It does not automatically erase an Academy membership profile or Academy-managed academic records kept in EduPortal where the Academy has a valid lawful basis and retention need. Requests about those Academy records should normally be made directly to the Academy.
3. Information we collect
We collect information directly from you, from an Academy that adds or authorises you, automatically from your device and from connected providers. The information depends on how you use EduPortal.
To create an account, first name, last name, email, phone number, date of birth and country are required. We use these for identification, sign-in and verification, service and Academy communications, minimum-age and age-based controls, and regional operation of the service. If a required field is not provided, account registration cannot be completed.
City is optional. The gender field requires a selection, but 'Prefer not to say' is available, so you do not have to disclose a substantive gender value. A profile image is optional. If city is left empty, no city is placed in a later Academy membership snapshot; country may still form the address.
- Account and profile information: name, email address, phone number, date of birth, gender, profile image, language, password hash or Google sign-in identifier, email-verification status, two-factor authentication settings and records of accepting legal notices.
- Pending Academy invitations: the invited email address, invitation status and the intended Academy roles. A separate Academy membership profile is not created while an invitation remains pending.
- Academy membership profile: when an invitation is accepted and the membership becomes active, EduPortal creates a separate Academy-specific copy of the member’s first name, last name, date of birth, gender choice, phone number, email address and address formed from the city (if supplied) and country then held in the account profile. This copy is retained as part of the Academy’s records and may later differ from the member’s current account information. Authorised Academy personnel may additionally see the current account profile image and, where it differs from the snapshot, the current phone number; those two current values are displayed from the live account and are not stored in the snapshot.
- Technical and security information: IP address, user agent, browser and device type, session identifiers, login and last-access times, security events, CSRF tokens and authentication records.
- Academy and education information: Academy, campus, course and class memberships; roles and permissions; schedules; attendance status, late minutes and notes; assignments, submission text, files, grades, review notes and notifications.
- Uploaded content: Academy logos, profile images, course images, videos, class materials, assignment files, student submissions and related file metadata.
- Academy business information: organisation name, descriptions, contact details, telephone and WhatsApp numbers, address, city, country, time zone, map link and social-media links.
- Support information: ticket subject, messages, attachments, category, status, related Academy and account information, and support actions.
- Billing information: Stripe customer, subscription, plan, invoice, payment-method status and transaction references. Full card details are entered into and processed by Stripe and are not stored by EduPortal.
- Connected-service information: Google or Zoom account identifier and email, granted permissions, encrypted access and refresh tokens, connection status and meeting identifiers when an authorised user connects those services.
- Analytics and advertising-measurement information: pages viewed, events, referral source, approximate location derived from IP address, browser, device, cookie identifiers and advertising-conversion information collected through Google Analytics and Meta Pixel subject to applicable consent choices.
4. Why we use information and our legal bases
We use personal information only where we have an appropriate legal basis. Acknowledging this Notice is not treated as consent for processing that does not require consent.
When an authorised user chooses to connect Google Meet, EduPortal uses the Google Meet access granted by that user only to create Google Meet meeting spaces for scheduled classes at that user’s request. Basic Google account information is used to identify and display the connected account.
| Purpose | Examples | Legal basis |
|---|---|---|
| Provide EduPortal | Create accounts; deliver Academy, class, content, assignment and support functions; maintain user preferences | Performance of our agreement and legitimate interests in providing the requested service |
| Security and abuse prevention | Authentication, sessions, two-factor authentication, access control, fraud detection, investigations and service protection | Legitimate interests, recognised legitimate interests where applicable, and legal obligations |
| Subscriptions and payments | Activate plans, manage renewals, reconcile Stripe events, issue eligible refunds and keep accounting records | Performance of contract and legal obligations |
| Communications | Verification, password reset, security, subscription, service and support messages | Performance of contract and legitimate interests; legal obligations where relevant |
| Analytics and advertising measurement | Understand use, measure campaigns, diagnose performance and improve marketing through Google Analytics and Meta Pixel | Consent where required by PECR and data-protection law |
| Legal and operational needs | Respond to rights requests, complaints, claims, court orders and regulatory requirements | Legal obligations and legitimate interests in establishing, exercising or defending legal claims |
| Academy-managed education records | Create and host the Academy membership profile; display attendance, assignments, submissions, exams, grades, notes and files to authorised Academy users; support membership administration, identity and contact management, reporting and historical academic records | Processed to provide the service on the Academy’s behalf; the Academy determines its applicable lawful basis |
5. Children and users under 18
EduPortal accounts may be created from age 13. Users aged 13 to 17 may create and use their own account, but cannot create an Academy. EduPortal records the date of birth supplied at registration to enforce these age limits but does not independently verify age or operate a separate parental-email approval process.
Creating an account does not enrol a young person in an Academy or reveal Academy content. The Academy decides whom it invites. The Academy remains responsible for its relationship with young users and for any permission, safeguarding step or additional privacy information that applicable law requires for its own enrolment, teaching, attendance, grading, communications and uploaded work.
We use age-appropriate explanations, role-based access and data minimisation and do not knowingly profile children for personalised advertising. A young user, parent or guardian may contact [email protected] about access, correction or deletion. We will consider the young person’s age, understanding, best interests and the Academy’s responsibilities when handling the request. Young users can ask a trusted adult for help, but EduPortal does not impose a blanket parental-consent condition on every 13-to-17-year-old account.
6. Sensitive information
EduPortal does not require users to provide health, disability, religion, ethnicity, biometric or other special-category information as part of ordinary account registration. Free-text attendance notes, support messages and uploaded files may nevertheless contain sensitive information.
Academies and users must enter sensitive information only where it is necessary, proportionate and lawful. The Academy is responsible for identifying an additional legal condition where special-category information is used and for limiting access to authorised people. Please do not include unnecessary sensitive information in notes, messages or files.
9. How long we keep information
We keep identifiable information only for as long as needed for the purposes described below. We may preserve limited records for longer where a dispute, security incident, legal hold or regulatory requirement applies. At present, EduPortal does not maintain a separate automatic backup system intended to restore personal information after a valid deletion.
| Information | Retention approach |
|---|---|
| Account and profile information | For the life of the account. After deletion is confirmed with the email code, personal profile, sign-in, security, session and connected-service information is deleted or anonymised. A limited non-active account record may remain to preserve referential and system integrity and cannot be used to sign in |
| User-linked Academy and education records | Academy membership profiles and Academy-managed attendance, assignment, exam, grade, evaluation and historical statistical records are not automatically erased when the EduPortal account is deleted. They may be retained for as long as the Academy has a valid lawful basis and documented retention need, after which they must be deleted or anonymised |
| Deleted Academy database records | Academy deletion immediately removes access and marks the Academy and its related records as deleted. The inaccessible database records are retained for one year and then permanently deleted by a scheduled cleanup that runs daily, normally at the first run after the one-year anniversary |
| Uploaded files | Until deleted by an authorised user or deletion of the relevant record or Academy. Account deletion places the account avatar and other account-only files into the storage-deletion process, but does not by itself delete files forming part of Academy-managed academic records. Storage deletion completes within 48 hours after it begins |
| Support tickets, messages and attachments | For as long as the user account remains active. Confirmed account deletion permanently deletes the user’s support tickets, messages and related database records as part of the deletion process; attachment files are placed into the storage-deletion process |
| Session and security information | Active sessions follow their configured expiry; security logs are normally kept for up to 12 months and longer only where needed for an incident or legal claim |
| Subscription, invoice and accounting records | Normally up to 6 years, or longer where tax, accounting, payment, fraud or dispute law requires it |
| Google Analytics data | User and event data is configured for a retention period of up to 14 months; aggregated reports may no longer identify a user |
| Meta Pixel data and reports | Kept according to configured campaign settings and Meta’s applicable retention rules; browser identifiers typically expire within 90 days |
| OAuth connections | Until the connection is removed, the account or Academy is deleted, or the token is no longer required; limited disconnection and error records may remain for security |
10. Where information is processed and international transfers
EduPortal’s primary application, database and Redis infrastructure is hosted by Hetzner in Germany. Uploaded files are stored in Cloudflare R2 using the European Union jurisdiction. Cloudflare’s DNS, content-delivery and security network operates globally, so request and network information may pass through locations close to the user.
Stripe, Google, Zoom, Meta, Resend and Cloudflare may process limited information in the United Kingdom, European Economic Area, United States or other countries in which they operate. Where a restricted transfer requires safeguards, we rely on applicable adequacy regulations, the UK International Data Transfer Agreement or UK Addendum, standard contractual clauses and provider transfer mechanisms, together with appropriate technical and contractual protections.
11. Security
We use measures designed to protect information against unauthorised access, alteration, disclosure and loss. These include HTTPS/TLS in transit, provider-managed encryption for R2 files at rest, password hashing, secure and same-site authentication cookies in production, CSRF protection, role-based permissions, encrypted Google and Zoom connection tokens, two-factor authentication options, rate limiting and access logging.
No online system is completely secure. Users must protect their credentials and notify [email protected] if they suspect unauthorised access. If a personal-data breach creates a legal notification duty, we will notify the ICO and affected people as required by law.
12. Your privacy rights
Depending on applicable law and our role, you may have rights to be informed, access your information, correct it, request deletion, restrict processing, receive portable information, object to processing based on legitimate interests and withdraw consent at any time for consent-based processing. Withdrawal does not affect processing that was lawful before withdrawal.
Requests concerning an Academy membership profile, attendance, exams, grades, assignments or other Academy-managed records should normally be made to the relevant Academy first. If the Academy cannot be reached or you believe it has refused or mishandled a valid request, contact [email protected]. We may verify your identity, coordinate the request with the Academy and, where applicable law, our contract or a valid instruction requires it, delete or anonymise the information or restrict its use. We normally respond within one month, although the law may allow an extension for a complex request. No fee is normally charged unless a request is manifestly unfounded or excessive.
13. Deletion requests and data-protection complaints
A user may delete their account from the Security section of User Settings. EduPortal sends a six-digit, single-use code to the account email address; the code must be entered before deletion proceeds. Admin accounts cannot be deleted through this control. Before deletion, the user must leave every Academy they have joined and reject any pending Academy invitations. A user who owns an active Academy must first delete or transfer that Academy as permitted by the service.
Confirmed account deletion permanently disables sign-in and deletes or anonymises the user’s personal account profile, authentication and security information, sessions, connected-service tokens and account avatar. The user’s name, email, phone number, date of birth, gender and address are removed from the account record. A limited inactive record may remain under the same internal identifier to preserve database and historical-record integrity. The deleted account cannot be restored, and a later registration with the same email address creates a separate account.
Account deletion does not automatically erase the separate Academy membership profile created when an invitation was accepted, or Academy-managed attendance, assignment, exam, submission, grade, evaluation and historical statistical records. Those records may remain in EduPortal under the Academy’s control for as long as the Academy has a valid lawful basis and retention need. The member’s access is inactive and no live account avatar is retained.
An authorised Owner may delete an Academy after confirming a six-digit, single-use code sent to their email address. The Academy and its related non-file records immediately become inaccessible and are marked as deleted. Related files enter the storage-deletion process. The inaccessible Academy database records are retained for one year and are then permanently deleted by a cleanup task that runs daily, normally at the first run after the one-year anniversary. Deleted Academy information cannot be restored.
The right to deletion is not absolute. An Academy may retain limited information where a legal obligation, valid retention basis or the establishment, exercise or defence of legal claims requires it. If you want Academy-managed records corrected or deleted, contact the relevant Academy first. If the Academy cannot be reached or you believe it has unlawfully refused the request, contact [email protected]. After verification, we may ask the Academy to explain its basis and, where required, delete or anonymise the information or restrict its use.
A data-protection complaint may also be sent to [email protected]. We will acknowledge receipt within 30 days, investigate it without undue delay, keep you informed where appropriate and communicate the outcome. You also have the right to complain to the UK Information Commissioner’s Office and may have a right to contact a regulator in your country.
14. No sale, AI training or significant automated decisions
EduPortal does not sell personal information. We do not use account information, Academy content, student work, uploaded files or educational records to train artificial-intelligence models. We do not make decisions based solely on automated processing that produce legal or similarly significant effects on users.
Google Analytics and Meta Pixel are used for measurement and marketing attribution, not to decide admission, grades, access to education or other educational outcomes. Non-essential analytics and advertising measurement are subject to applicable cookie choices.
15. Changes to this Notice
We may update this Notice when our service, providers, legal obligations or data practices change. We will publish the revised date and provide an additional email or in-app notice where a change materially affects users. New uses that require consent will not begin until the required consent process is available.
The English version is the primary version. The Azerbaijani version is provided for accessibility and is intended to have the same meaning, subject to any mandatory local-language requirement.
