Skip to main content

Privacy policy

العربية

How we use your information and the choices you have.

Updated 13 September 2026

On this page
  1. Who we are (data controller)
  2. The personal data we collect
  3. Why we use your data
  4. Who we share data with (processors and recipients)
  5. Processing outside Egypt
  6. Automated processing and the AI assistant
  7. Collaboration and user-generated content
  8. How long we keep your data
  9. Your rights
  10. Younger learners
  11. Security and data breaches
  12. Cookies
  13. Cambridge disclaimer
  14. Changes and contact

This Privacy Policy explains what personal data CtrlAltRevise collects, why, how we use it, who we share it with, and the rights you have. We have written it to be readable. If anything is unclear, contact us using the details in Section 14.

There is a plain, bite-size summary for younger learners in Section 10.

1. Who we are (data controller)

CtrlAltRevise ("we", "us", "our") is an online Computer Science learning service operated by an individual sole trader in Egypt under the trading name CtrlAltRevise. We determine how the Platform uses personal data and are its data controller. Egyptian data-protection law applies; UK and EU data-protection law may also apply depending on the processing and the people concerned.

Use this contact for questions or requests about your information, including children's data. Section 9 explains your rights.

2. The personal data we collect

Account and identity data

  • Your email address and name. Email registration requires both. We also assign a username, which you can change in account settings.
  • The versions of the Terms and Privacy Policy presented when you accept the Terms, with the time and registration or account-review route. These records are deleted with your account; they are not consent to optional analytics or marketing.
  • Your school or college, if you choose to add it to your profile. This field is optional and is not shown to friends or on the leaderboard.
  • If you sign in with Google or with Apple, the name, email address and profile picture that the provider shares with us.
  • Your password is never stored in readable form — we store only a securely hashed version (bcrypt).

Education profile (all optional)

  • Qualification preferences, a target exam session, and an exam date, if you choose to enter them. You do not have to provide these to use the Platform.

Learning activity data

  • Lessons completed and progress through topics.
  • Quiz attempts and the answers you select, scores and timestamps.
  • Pseudocode and code you write and save, practice submissions, hint requests, XP, and your mastery / spaced-repetition review data.
  • Mock examination attempts, including the free-text answers you type and timing data.
  • Optional lesson ratings and any feedback you choose to send, linked to the lesson and your account. Sending feedback works without analytics permission; a separate rating event is sent to PostHog only if you allow analytics.

Free-text answers and code (please note)

  • When you type answers into practice or mock questions, or write code, that text is personal data because it is linked to your account. AI features are currently unavailable; see Section 6 for their status and the information we will provide before enabling them.

Parent connections

  • A parent may create an invite for a specific student email address. We store the connection status, the invited email, expiry and consent timestamps, and the linked account identities. The plaintext invite token is not stored in our database. The receiving student's browser may keep it temporarily in same-tab session storage while they sign in, then removes it after the connection is accepted.
  • The signed-in student sees the requesting parent's name and email before deciding. Nothing is shared until the student accepts. An accepted parent can see the student's name, email, qualification, completed-lesson count, XP/streak, recent activity dates, recent quiz accuracy and marked mock-paper summaries. Private notes, annotations, passwords, messages, saved code and full answers are not shown.
  • Either the student or parent can revoke the connection. Revocation ends access immediately.

Collaboration data

  • If you use the real-time collaboration feature: your username and an assigned colour, the shared code/document content, cursor/presence information, and chat or "run" events created in the session. Joining requires an account and access checks — see Section 7.

Payment and subscription data

  • We retain keyed email/verified-phone digests to prevent repeated free trials, including after account closure; these contain no raw contact details. We use Paddle as Merchant of Record for Paddle purchases and Stripe for existing Stripe subscriptions. We do not store your card number or full card details on our servers. We store a billing-provider customer identifier, subscription identifier, plan/price, status, and renewal date so we can manage your subscription.

Referral data

When you use a referral invite, we record the referring and invited account IDs, qualification date, reward status and any billing-credit reference. A hash of the verified email identity helps prevent aliases from counting as different students. Referral records and this hash are removed with the associated account; they are not sent to PostHog. These records administer the offer and help prevent abuse.

Notifications, support and account-safety data

  • The notifications sent to your account, your optional notification preferences, and timestamps showing delivery, read, and dismissal. These are operational inbox records, not optional analytics.
  • If you allow optional analytics, the time you opened a notification and a limited notification-click event. We do not record this click-engagement data when analytics is rejected.
  • Support requests and account appeals, including your messages, their status, staff replies, and any moderation decision linked to an appeal.
  • If we restrict an account: whether it is suspended or banned, the reason shown to you, any scheduled restoration date, the staff member responsible, an internal staff note, and an immutable history of suspension, ban, restoration, and appeal activity.

Technical data

  • Your IP address is used transiently as a key for rate-limiting (abuse protection) via our rate-limit provider; we do not store it against your account.
  • Authentication cookies and small browser local-storage values that keep you signed in and remember your theme/accent preference (see our separate Cookie Notice).
  • If you allow optional analytics: page routes with identifiers removed, feature usage, browser and device details, acquisition labels, verified signup, trial and first-payment outcomes, qualified referral and earned-reward events, lesson-rating events, and normalized browser error categories. Payment outcomes include billing interval, amount and currency, but no card or invoice identifiers. We do not send your name, email, personal referral code, answers, messages, or source code to PostHog analytics.

We do not collect your date of birth or verify your age at sign-up. Our Terms set a minimum account age of 13. See Section 10 for younger users.

3. Why we use your data

Egyptian data-protection law applies to our processing. UK or EU data-protection law may also apply, depending on the service and the people concerned. Our purposes and grounds for ordinary personal data are:

PurposeGround
Run your account, lessons, practice, progress tracking, collaboration and subscription; answer service requestsPerforming our agreement with you
Deliver account, billing and learning notifications and remember inbox statePerforming our agreement with you
Protect accounts, prevent fraud and abuse, investigate reports and appeals, and maintain service reliabilityLegitimate interests in a safe and reliable service, balanced against your rights; legal obligations where applicable
Keep records required for tax, accounting or legal claimsApplicable legal obligations; establishing or defending legal rights where permitted
Optional product analytics, performance and error analytics, masked session replays, notification-click engagement and account-outcome reportingYour separate analytics consent
Optional marketing emailYour separate marketing consent

Where UK or EU GDPR applies, these grounds correspond to Article 6(1)(b), (f), (c) and (a), as appropriate. Additional rules apply to children's data, sensitive data and overseas transfers; an ordinary processing ground does not replace those requirements.

Analytics stays off until you allow it. Refusing it does not prevent learning, giving lesson feedback, opening notifications or managing your account. Analytics permission is separate from accepting our Terms or receiving marketing email. You can withdraw it in Cookie settings and object to processing based on legitimate interests.

An email address is needed to create and secure an account. Education-profile fields are optional.

4. Who we share data with (processors and recipients)

We do not sell your personal data and we do not use it for targeted advertising. We share data with the following service providers, only as needed to run the Platform. Payment and sign-in providers may also act as independent controllers for their own security, legal and account purposes, as explained in their privacy policies.

If a student explicitly accepts a parent invite, the linked parent is also a recipient of the limited progress information listed under "Parent connections" in Section 2. This sharing is controlled by the student and either side can revoke it.

  • PostHog, Inc. — optional product analytics, performance measurements, sanitized error reports and sampled masked interaction replays in its EU cloud region. Browser analytics and account outcome reporting require your analytics consent; server-side operational exception reports have no analytics user profile. With analytics consent, browser session identifiers can link request errors to the corresponding session. Consented browser events use approximate IP-derived location; PostHog anonymizes stored IP addresses. Input text, code, card details, request bodies and console output are excluded. (PostHog Privacy Policy.)
  • Paddle and Stripe — payments and subscription management. Receives your email/name at checkout; we store only provider identifiers and status. See Stripe’s Privacy Policy and (Paddle Privacy Policy.)
  • Google LLC — optional "Sign in with Google". Shares your name, email and profile picture with us if you choose it. (Google Privacy Policy.)
  • Apple Inc. — optional "Sign in with Apple". Shares the identity details you approve. (Apple Privacy Policy.)
  • AI services — currently unavailable. While disabled, these features do not send your answers, code or questions to an AI provider. Before enabling them, we will identify the provider and explain what data is sent, its purposes, retention and international transfer arrangements. See Section 6.
  • Our transactional email provider — sends account emails (verification, password reset). Receives the recipient email address and the contents of those emails.
  • Our database hosting provider — hosts the database that stores the data described above.
  • Vercel Inc. (USA) — hosts and serves the application.
  • Upstash, Inc. (USA) — distributed rate-limiting; processes your IP address transiently as an abuse-prevention key.

If the Discord feedback integration is enabled, feedback summaries, the lesson or page reference, rating and account identifier are sent to our team there; a display name is included unless it resembles an email address. This is support routing, separate from optional PostHog analytics.

We may also disclose data where required by law, to establish or defend legal claims, or to a successor in a business transfer.

5. Processing outside Egypt

Some providers process personal data outside Egypt. The providers listed above include US-based businesses, and our PostHog project uses its EU cloud region. A provider's headquarters and the location of a particular dataset can differ. AI features are disabled and do not send your learning content to an AI provider.

Egyptian law places conditions on overseas processing, including the required permission from the Personal Data Protection Center and requirements concerning the destination's protection of personal data. Additional transfer rules may apply under UK or EU law. A provider's EU hosting region or standard contractual terms alone do not establish that every Egyptian requirement is met.

For information about the recipients, processing countries and transfer arrangements relevant to your data, contact ctrlaltrevise@gmail.com.

6. Automated processing and the AI assistant

AI-assisted marking, hints and tutoring are currently unavailable. While these features are disabled, they do not send your answers, code or questions to an AI provider. Other learning features may use automated rules to score answers and track progress.

Before enabling AI features, we will update this Policy to identify the actual provider and any intermediary, the data sent for each feature, its lawful basis, retention and any use for model training, and the international transfer safeguards.

Practice marks are not official examination results. Automated feedback can be wrong; contact us if you want a person to review a result.

7. Collaboration and user-generated content

The collaboration feature lets you work with other participants on shared code and documents, with a chat/run activity stream. If you start or join a session:

  • Your username and an assigned colour are visible to other participants. We do not show your email address to them.
  • Joining requires an account and the session's access checks. Anonymous guest links do not grant access.
  • Shared content and session events are stored so the session works and can be resumed.

New accounts start with Friends only visibility. Existing Private accounts stay Private. Signed-in learners who know your exact username can request friendship; peer profile information and learning statistics are limited to accepted friends. Choosing Public enables wider username discovery and public leaderboard participation. You can change these choices in Privacy and safety.

Blocking prevents interactions in both directions, including shared collaboration access. The same controls let you report harmful content or behaviour and appeal a moderation decision. Content you share in a collaboration session is visible to its participants.

8. How long we keep your data

  • Account and learning records: kept while your account is active. Account deletion removes these records, subject to the limited exceptions below. Notification records, account analytics preferences, campaign labels and outcome-delivery receipts are removed with your account.
  • Billing records: limited records can remain for payment reconciliation, preventing duplicate credits or refunds, and required financial records. They may include account references, provider identifiers, amounts and operation status. They do not include card details, learning answers or full payment-event payloads. Paddle and Stripe also retain records under their own obligations.
  • Analytics: PostHog session recordings are configured for 30-day retention. Event data can remain beyond 12 months because automatic enforcement of the configured event-retention period is not enabled. Account deletion does not by itself guarantee that previously sent provider-held analytics has been erased; you can request its deletion.
  • Security and support: rate-limiting IP keys expire automatically and are not stored against your account. Moderation records linked only to your account are deleted with it. Support and appeal tickets are kept as needed to handle the request and protect the service; account deletion scrubs the ticket's identity and message text.
  • Referrals and trial limits: referral records and their verified-email hash are removed with the associated account. Separate trial-abuse records retain keyed digests of email and verified-phone identifiers after account closure to help enforce trial limits. These digests contain no raw contact details, but they are not anonymous data.
  • Anonymous statistics: statistics may remain after deletion only where they no longer identify you. Merely removing your name or replacing an identifier does not necessarily anonymise a record.

Withdrawing analytics consent stops new browser collection and clears the local analytics identity. When signed in, the account preference, stored attribution and pending outcome reports are updated after the change reaches our server. An event already being transmitted may complete. If offline or signed out, sign in again with analytics rejected to synchronise the account preference. Withdrawal does not automatically erase earlier events.

Contact ctrlaltrevise@gmail.com to ask what remains, why it is needed and the retention period or criteria applying to your records. Browser-only drafts and copies on other devices follow the separate storage rules in our Cookie Notice.

9. Your rights

Depending on the applicable law and circumstances, you can ask to see or obtain your personal data, correct or complete it, erase it, limit its use, object to processing, or withdraw consent. Where UK or EU GDPR applies, this also includes data portability in the cases the law covers. Withdrawal does not make earlier lawful processing unlawful. Some records may need to remain for legal obligations or claims; we will explain an applicable exception.

Account settings provide a JSON download of your profile, saved learning records, preferences, rewards and collaboration participation. It excludes credentials, other people's identities, payer identifiers, shared collaboration documents, notification content and other people's support messages. Those exclusions do not limit your right to request your personal data separately; shared records and provider-held data may need individual review. Browser-only drafts remain on the device where they were saved.

You can request account deletion in settings or exercise your rights through ctrlaltrevise@gmail.com. We may ask for information proportionate to confirming your identity and the request. Egyptian law sets a six-working-day decision period for qualifying written requests to make personal data available. Other requests follow the applicable legal deadline; where GDPR applies, the normal period is one month, with extensions only where the law permits and with an explanation.

You can complain to Egypt's Personal Data Protection Center. Where UK law applies, you can contact the Information Commissioner's Office; where EU law applies, you can contact the relevant supervisory authority. Contacting us first is not a condition of those rights.

10. Younger learners

CtrlAltRevise is intended for learners aged 13 and above. Our Terms require a parent or guardian to agree to use by someone under 18. These service rules do not replace the legal requirements for children's data.

We do not currently collect a date of birth or verify age or parental agreement at signup. Accepting our Terms or choosing analytics is not verified guardian consent. Egyptian rules require written, explicit guardian consent for children under 15 and a guardian-consent process for those aged 15–18. Other countries can impose additional requirements. Optional analytics and marketing are off until enabled, but an ordinary opt-in does not replace required child protections.

New accounts start with Friends only visibility. Existing Private accounts stay Private. Someone who knows your exact username can request friendship; your learning statistics are visible to accepted friends. Wider username discovery and public leaderboards require you to choose Public. You can change visibility, block people and report concerns in Privacy and safety. A generated username protects your real name from other learners; it does not make the underlying account anonymous.

We do not sell your data or use it for targeted advertising. Friend search does not return your registration name, email, school or sign-in provider photo. A parent you explicitly connect may receive the limited information explained when you connect them. If something worries you, tell a trusted adult or contact ctrlaltrevise@gmail.com.

If you believe a child under 13 has an account, or have concerns about a child's information or permission, contact us. We will investigate and arrange appropriate restriction or deletion, subject to records that the law requires us to keep.

11. Security and data breaches

We use HTTPS/TLS, password hashing, access controls and rate limits to protect the service. No system can guarantee complete security.

For breaches governed by Egyptian law, notification duties include notifying the Personal Data Protection Center within 72 hours of awareness, immediately where national security is affected, and notifying affected people within three working days after notifying the Center. Where UK or EU GDPR also applies, regulator notification is generally required within 72 hours unless the breach is unlikely to risk people's rights and freedoms; affected people must be told without undue delay where the risk is high. We will assess and handle notifications under the laws that apply to the incident.

12. Cookies

Signing out or successfully deleting your account clears personal learning drafts and sign-in handoffs in this browser. Switching accounts also clears the previous account’s personal browser copies before restoration. Appearance preferences and your analytics choice remain. Browser cleanup cannot erase copies on other devices, browser profiles, closed restored sessions, downloads or backups; use the relevant browser settings to remove those copies.

We use a small number of essential cookies, functional browser storage, and consent-gated PostHog analytics storage. We do not use advertising or cross-site tracking cookies. Full details and analytics controls are in our Cookie Notice.

13. Cambridge disclaimer

CtrlAltRevise is an independent learning platform. It is not affiliated with, endorsed by, or sponsored by Cambridge University Press & Assessment or Cambridge Assessment International Education. Qualification names identify the courses we support.

14. Changes and contact

We may update this Policy. We will post material changes on the Platform and, where appropriate, email you. The date at the top shows when it was last updated.

Contact us: CtrlAltRevise ctrlaltrevise@gmail.com (Compound Mivida, New Cairo City, Egypt). For our terms, see the Terms of Service.