Privacy Policy & PDPA
Version 2026-10-17 · UX Habitat Pte Ltd
Who is responsible
UX Habitat Pte Ltd is responsible for personal data processed for myPPCDL. Our Data Protection Officer (DPO) handles privacy enquiries and requests. The public contact details below must be monitored by the Company.
What we collect
Account fields are your name and email. For direct purchases, Stripe collects those details during checkout and sends them to us after confirmed payment; we email a private link to verify access. We also process your sign-in/session records, course progress and optional study notes, purchase and entitlement records, PDF licence IDs and download timestamps, Stripe customer/subscription identifiers, referral qualifications, promo-code redemptions and privacy requests. Limited essential security information is used to prevent misuse. Stripe collects and processes card/payment details directly; our application does not receive or store full card numbers or security codes. We do not request NRIC, date of birth, phone number or mailing address for an account. Stripe may request details needed for its payment, fraud or legal obligations.
Why we use it
We use this information to verify sign-in, provide purchased access, save progress, deliver a PDF, process payments and refunds, manage referrals and free codes, send service or renewal messages, answer requests, protect the service and meet legal obligations. Providing information is limited to what is reasonably necessary for these purposes. There are no advertising trackers, marketing subscriptions or non-essential analytics in this build.
Consent and your choices
We explain collection purposes before use and seek consent where required. Privacy acknowledgement is not consent to unrelated marketing. You may withdraw consent on reasonable notice through the DPO. We explain likely consequences first; withdrawal may prevent features that require the affected data, but does not remove legal retention obligations or mandatory rights.
Access, correction and deletion
You can export your account data and submit access, correction, deletion or consent-withdrawal requests from your account. Public contact is also available below. We verify identity appropriately without requesting unnecessary identifiers, respond as soon as reasonably possible and explain if more time or a lawful exception applies. If we cannot respond to an access/correction request within 30 days, we will notify you when to expect a response. Deletion may be limited where records must be kept for tax, payment disputes or other legal obligations.
Service providers and transfers
We use Stripe for payments and configured hosting and transactional-email providers to operate the service. Where enabled, Supabase verifies email identities and stores study progress. We disclose data only for the stated purposes or as permitted/required by law. Providers may process data outside Singapore. Before doing so, the Company must ensure protection comparable to the PDPA through appropriate contractual and organisational safeguards. We use Airtable as a client directory for verified signups, limited to name, email, account ID and signup date; it does not receive sign-in tokens, passwords, card data or study notes. We do not sell account data or send invitations to a friend’s email address on your behalf; you choose how to share your friend code.
Retention and protection
We retain account and progress information only while needed for the stated business/legal purposes, then erase or anonymise it. Required corporate transaction records are retained for at least five years from the relevant Year of Assessment, or longer where a lawful obligation applies. Sign-in links expire after 15 minutes, sessions after seven days, and expired authentication/security records are pruned through the operating process. PDF download timestamps are pruned after 90 days; licence records are kept while needed to provide and administer the purchased licence. Client-directory records are included in our retention and privacy-request process. We use server access checks, protected sessions, restricted files and integrity checks; the live operator must maintain TLS, access controls, encrypted storage/backups and provider agreements.
Cookies, incidents and updates
Essential cookies keep sign-in and request protection working. Device storage may retain your appearance choice and your own scoped study progress. These are not advertising cookies. We assess suspected data breaches promptly and notify the PDPC and affected individuals when legally required, including notification to the PDPC as soon as practicable and within three calendar days after determining a breach is notifiable. Material changes to this policy will be made available here and communicated where required.
Native app supplement
Version 2026-10-21
The following app terms apply to native purchases, online learning and personal PDF storage. Website prices, Stripe payment features, codes and offers in the general policies apply only to website transactions. Mandatory consumer rights remain unchanged.
App purchases and access
In the iOS app, new purchases use Apple’s App Store; in Android they use Google Play. Monthly and yearly course memberships renew automatically at the localised store price until cancelled in that store. The PDF is a separate one-time purchase. Store payment sheets disclose the final price and period. No daily plan, website referral code or retention discount is offered inside these apps. Existing valid website access remains usable. Manage or cancel each purchase with its original provider; deleting an account does not cancel renewal.
Online learning and your offline PDF
Lessons, practice and mock exams require an internet connection. The app loads course data when you open learning and caches viewed illustrations in private, evictable app storage so they can be reused when you reopen; it does not install a complete offline course. Existing complete course downloads are removed when online learning opens, without removing saved progress or your purchased PDF. Progress saves privately on this device and syncs to your account when connected. The separately purchased Study Book can be downloaded and exported for personal offline reading; exported copies cannot be recalled. Signing out removes protected book downloads and closes an unfinished session; completed unsynced progress remains scoped to your account on this device.
App data and privacy
UX Habitat Pte Ltd processes your name, email, sign-in sessions, random device ID, store account-binding identifier, purchase/entitlement records and study progress to operate the app. Apple or Google handles payment details directly. Store receipts stay on the native/server side. Credentials use Keychain or Android Keystore; progress and the downloaded PDF use private app storage excluded from backup/transfer. Viewed course illustrations use a 24 MiB memory cache and a private 64 MiB image cache excluded from backups. The image cache survives reopening, may be cleared by the operating system, and is cleared on sign-out or account changes. Cache reads still require course access checks. The app does not request location, camera, microphone or contacts. Optional Google Analytics is explained below; it is not needed for learning or purchases. Hosting, email, Supabase identity/progress and the Airtable client directory operate as described in the Privacy Policy. Access tokens last 15 minutes; rotating device sessions expire after 30 days. Course access is checked online; cached illustrations are locked when access ends or the last successful access check is over five minutes old.
Optional app analytics
Usage analytics stays off until you select “Continue and share usage” at first use, or enable sharing in Account → Privacy settings. When you choose to share, the Firebase Analytics SDK sends app-use events, a random app-instance identifier and device/app technical information and an approximate region derived from your IP address to Google Analytics. Standard SDK purchase events may include product identifiers, names and prices. We do not send your name, email, sign-in credentials, receipts, answers or notes to Analytics, or set an Analytics user ID. Advertising identifiers and ad personalisation are disabled. Your consent choice is saved locally for the signed-in account. Turn it off in Account → Privacy settings at any time: collection stops and the local Analytics identifier is reset. Signing out also stops collection; a different account starts with analytics off. Resetting the local identifier does not erase events already received by Google. Contact captain@myppcdl.com about privacy requests. Google may process analytics outside Singapore; UX Habitat Pte Ltd must maintain appropriate PDPA transfer safeguards.
Delete your account
Account → Delete my account initiates deletion without contacting support. It signs out online sessions and removes this device’s protected downloads. UX Habitat Pte Ltd completes account, progress, Supabase and Airtable deletion within 30 days and emails confirmation, explaining lawful retention of tax, transaction, dispute or security records. Other devices lock when they reconnect; cached illustrations stop opening once the last successful access check is over five minutes old. Cancel subscription renewal separately before deleting; you may still request deletion immediately. You can also verify your email at https://myppcdl.com/delete-account. Contact captain@myppcdl.com for privacy or corrections.