Tenant isolation
PlannedEvery institution is isolated at the runtime boundary. Content, attempts, and exports never cross tenants.
QFlowLearn separates tenants, signs launches, freezes published content versions, and records attempt events so institutions can verify what happened before, during, and after an assessment.
Every institution is isolated at the runtime boundary. Content, attempts, and exports never cross tenants.
Launch tokens are signed and short-lived. Bootstrap is verified at the edge before any package payload is fetched.
Once a version is published, it cannot be mutated. Corrections are new versions; learner attempts are anchored to the version they took.
Every meaningful attempt event is appended to a ledger that survives the runtime: start, item view, response, navigation, accommodation, and submit.
Operations on the runtime (re-scoring, version overlay, evidence export) emit auditable records.
Local journaling, durable submit, and reconcilable attempts make recovery part of the architecture instead of a manual support process.
Workers, Durable Objects, Queues, R2, and the global edge each have a defined role in launch, delivery, submission, evidence, or export.
Retention windows and redaction rules are explicit, documented per artifact class, and enforceable on request.
Marketing, authoring, and delivery live on separate hosts so authentication, asset policy, and CORS surfaces are explicit. Internal codenames stay internal.
Marketing, RFP pages, and evidence library. Astro on Cloudflare Workers.
QFlowLearn authoring application. Host-only auth, explicit CORS allowlist.
Learner delivery runtime. Token-based launch, no shared marketing cookies.
We will send the architecture summary, runtime contract excerpt, retention/redaction rules, and the launch artifact list, scoped to your security questionnaire.