Minimal profile
Required records are an internal learner ID, tenant or installation, lifecycle state, and timestamps. Display name and accessibility preferences are optional.
Learner data
Project 42 is building cross-device learning records deliberately. This page separates what is available now from the account protections that must pass before hosted records turn on.
Available today
Project 42 currently keeps learner progress in this browser. Account-backed cross-device records are not enabled yet.
You can download a portable JSON backup or CSV transcript and erase the local record from My progress.
Identity
Future accounts use OpenID Connect Authorization Code with PKCE. Project 42 binds the provider's stable issuer and subject to an internal learner ID. Changing an email cannot create or merge accounts.
Required records are an internal learner ID, tenant or installation, lifecycle state, and timestamps. Display name and accessibility preferences are optional.
Every command and query must name its tenant or installation and is denied by default outside that boundary.
The hosted profile uses Sites-managed D1. The supported self-host reference uses PostgreSQL under the same contract tests.
Account lifecycle
Deleted is terminal. Recovery cannot use an email address to replace, merge, or guess an identity.
Consent and choice
Every decision records its purpose, policy version, choice, and time. Optional uses cannot be bundled into the learning service.
| Purpose | Required | What it does | If withdrawn |
|---|---|---|---|
| Learning Record | Yes | Store profile, enrollment, progress, attempts, scores, badges, and transcript records. | Starts account deletion because the service cannot operate without it. |
| Product Improvement | No | Use minimized, non-transcript events to improve the learning experience. | Stops future optional product-improvement events. |
| Learning Reminders | No | Send learner-requested progress and review reminders. | Stops future reminders without deleting the learning record. |
Retention and recovery
Active learning records remain while the account is active. Inactive account records expire after two years; diagnostics after 30 days; audit detail after one year; and deletion receipts after 90 days.
A confirmed request can be cancelled inside this window.
Adapters must return verified receipts before the account is deleted.
Every restore replays the deletion ledger before serving records.
Initial recovery point and recovery time targets, tested every 90 days.
Export and deletion
Authorization
Hiding a button is never enough. Every server operation checks the actor, tenant, role, and requested record.
Only the authenticated learner's own record in the current tenant.
6 explicit permissionsRead-only minimized summary for an active support case in the assigned tenant.
1 explicit permissionsCurriculum content only; no learner-data access.
1 explicit permissionsExplicit privileged role, current tenant only, with immutable audit events.
5 explicit permissionsNamed service operation in one tenant with auditable execution context.
2 explicit permissionsOpen contract
The machine-readable endpoint is generated from the same validated platform contract as this page.