OETify’s public website sets no application cookies, localStorage or sessionStorage. It has no analytics or advertising trackers. With no optional cookies to accept, the site has no cookie banner or cookie-settings page. Its fonts are hosted by OETify, and your practice answers stay in the page: they are not sent or stored.
Last updated 9 October 2026
Cookies are small pieces of data your browser sends back to the site that set them. The OETify web app uses a few cookies to keep you signed in, and browser storage to keep your study work and account steps available. The tables below give the technical detail. Payment pages and other provider tools may use their own storage or telemetry.
Web-app authentication cookies
| Cookie | Purpose | Default lifetime |
|---|---|---|
__Host-oetify_access |
Authenticate learner/agency API requests | 15 minutes |
__Host-oetify_refresh |
Renew the authenticated session | 30 days |
Both are host-only cookies set with Secure, HttpOnly and SameSite=Lax protections and Path=/. They expire after the lifetimes above, and signing out clears them. They keep you signed in; they are not marketing cookies.
Browser storage for requested workflows
The web app stores these values only to continue something you started. They are separate from sign-in tokens. Some have no fixed expiry, and they cannot be switched off individually.
| Storage | Keys or database | Use |
|---|---|---|
| localStorage | oetify.web.signedOut, oetify.web.sessionEvent, oetify.web.sessionGeneration |
Cross-tab logout and session-change protection; sign-in removes signedOut |
| localStorage | oetify.practice.pending-link.v1 |
Continue practice navigation |
| localStorage | oetify.agency.invitation-continuation.v1 |
Continue an agency invitation |
| localStorage | oetify.onboarding.draft.v1 |
Save onboarding draft data, which may be personal |
| localStorage | oetify.device.id.v1 |
Identify the sync device |
| localStorage | oetify.push.installation-id.v1 |
Identify an installation for the optional notification feature after opt-in |
| localStorage | oetify.session.recovery.pending.v1 |
Keep a recovery hint |
| localStorage | oetify.privacy.deletion-reauth-intent.v1 |
Continue deletion identity confirmation |
| localStorage | oetify.privacy.export-request.v1 |
Restore export-request state |
| localStorage | oetify.learning.plan-rebuild-key.v1, oetify.official-result-key.v1, oetify.operation.* |
Prevent repeated requests from creating duplicate work |
| sessionStorage | oetify.oauth.verifier.v1, oetify.oauth.attempt.v1, oetify.oauth.email-proof.v1 |
Preserve sign-in/linking attempts |
| sessionStorage | oetify-stripe-checkout |
Keep account/product/request state for hosted checkout confirmation |
| IndexedDB | oetify-web:<principalId>, version 2 |
Store drafts, cached progress/plans, queued sync work, receipts and metadata |
Authentication tokens are not stored in these localStorage values or IndexedDB. sessionStorage lasts only for the browser tab, and the app clears it when each step finishes. IndexedDB keeps your study work saved; it is not an optional cookie, so there is no switch for it. Handwriting photos stay in page memory, so you need to choose the photo again after a reload.
Diagnostics, notifications and third parties
The app sends its own session and crash signals only with your analytics consent. You can withdraw that consent in Privacy and data; essential server records follow their own rules. Push notifications need their own opt-in and your device’s permission. We don’t use Google Analytics, Google Tag Manager, Meta Pixel or other analytics or advertising trackers. Payment providers and hosting services may collect their own telemetry.
Cloudflare hosts the site and routes its requests, and providers receive the network information needed to serve each request. Read the privacy policy for providers, security and retention. You can use your browser’s controls to inspect or clear its cookies and stored data. For storage questions, contact GK’s Study Centre LLC at support@oetify.com.