CSI Teachable Replacement App
BlogContactFAQFeaturesHow it worksIntegrationsSecurityUse cases
Join the waitlist
CSI Teachable Replacement AppJoin the waitlist
CSI Teachable Replacement App
HomeBlogContactFAQFeaturesHow it worksIntegrationsSecurityUse cases
Join the waitlist
CSI Teachable Replacement App
BlogContactFAQFeaturesHow it worksIntegrationsSecurityUse cases
TermsPrivacyData Processing

© 2026 CSI Teachable Replacement App

WHO IT'S FOR

Your courses, your identity provider, your rules

Whether you're an L&D team stuck paying Teachable tax, a membership org managing access through Okta, or a training provider that needs real reporting — here's exactly what this platform does for each of you.

IMPORT-JOB-07Course structure extracted — 12 sections, 84 lessons staged0:03
ASSET-WORKERDownloaded 34 media assets, re-uploaded to org/acme/* path prefix0:11
SSO-SESSIONLearner authenticated via Okta OIDC — session mapped to org membership0:22
PROGRESS-APILesson marked complete — course progress recalculated to 67%0:35
ADMIN-AUDITSSO config updated by admin@acme.com — event recorded0:48
EXPORT-JOBLearner progress CSV generated — 142 rows, 6 columns1:02
DEDUP-CHECKAsset hash matched existing blob — skipped re-upload, saved storage1:15
IMPORT-JOB-07Course structure extracted — 12 sections, 84 lessons staged0:03
ASSET-WORKERDownloaded 34 media assets, re-uploaded to org/acme/* path prefix0:11
SSO-SESSIONLearner authenticated via Okta OIDC — session mapped to org membership0:22
PROGRESS-APILesson marked complete — course progress recalculated to 67%0:35
ADMIN-AUDITSSO config updated by admin@acme.com — event recorded0:48
EXPORT-JOBLearner progress CSV generated — 142 rows, 6 columns1:02
DEDUP-CHECKAsset hash matched existing blob — skipped re-upload, saved storage1:15
IMPORT-JOB-07Course structure extracted — 12 sections, 84 lessons staged0:03
ASSET-WORKERDownloaded 34 media assets, re-uploaded to org/acme/* path prefix0:11
SSO-SESSIONLearner authenticated via Okta OIDC — session mapped to org membership0:22
PROGRESS-APILesson marked complete — course progress recalculated to 67%0:35
ADMIN-AUDITSSO config updated by admin@acme.com — event recorded0:48
EXPORT-JOBLearner progress CSV generated — 142 rows, 6 columns1:02
DEDUP-CHECKAsset hash matched existing blob — skipped re-upload, saved storage1:15
IMPORT-JOB-07Course structure extracted — 12 sections, 84 lessons staged0:03
ASSET-WORKERDownloaded 34 media assets, re-uploaded to org/acme/* path prefix0:11
SSO-SESSIONLearner authenticated via Okta OIDC — session mapped to org membership0:22
PROGRESS-APILesson marked complete — course progress recalculated to 67%0:35
ADMIN-AUDITSSO config updated by admin@acme.com — event recorded0:48
EXPORT-JOBLearner progress CSV generated — 142 rows, 6 columns1:02
DEDUP-CHECKAsset hash matched existing blob — skipped re-upload, saved storage1:15
HOW IT WORKS

From Teachable export to live SSO-gated courses

  1. STEP 01 — CONNECT

    Point at your Teachable school

    Enter your Teachable admin credentials. The import engine authenticates, establishes a session, and discovers your full course catalog.

  2. STEP 02 — EXTRACT

    The pipeline extracts and migrates everything

    Course structure, lesson content, images, videos, and PDFs are extracted from Teachable and re-hosted on your platform. Duplicate assets are detected and stored once.

  3. STEP 03 — CONFIGURE SSO

    Connect your identity provider

    Paste your OIDC discovery URL or SAML metadata. Map the attributes, test the connection, save — your learners now authenticate through their existing credentials.

  4. STEP 04 — LEARN & REPORT

    Learners land, admins see everything

    Authenticated learners browse the course catalog, enroll, and track progress. Admins monitor completion rates and export full learner data whenever HR asks.

console
0.3s$ connect teachable --school acme.teachable.com
1.1sSession established. Found 14 courses in catalog.
Select courses to import →
0.8sExtracting sections and lessons...
2.1sDownloading 47 assets — deduplication active
Import materialized. 3 courses live.
0.4s$ sso configure --provider okta --org acme
1.6sOIDC metadata fetched. Attribute mapping verified.
SSO active. Learners redirect to Okta on login.
0.5slearner@acme.com authenticated via SSO
1.3sLesson completed. Progress: 84% → 89%
CSV export ready — 142 learners, audit-ready.

Your Teachable migration starts with a conversation

Tell us your org size, your IdP, and how many courses you need to move. We'll show you exactly what the import looks like before you commit to anything.

Questions? Email us at sf-core-org-support-csi-teachable-replacement-app@saas-factory.ai

USE CASE 01 — MIGRATION

The L&D team leaving Teachable

Your Teachable library is years of work. Videos, PDFs, rich lesson copy, section structure — none of it belongs in a CSV export. Rebuilding by hand is a month of someone's life.

The import engine authenticates directly with your Teachable school, walks every course in your catalog, extracts the full curriculum hierarchy, downloads all media and documents from Teachable's CDN, re-hosts them on your new platform's asset storage, and replaces every original URL throughout the content — automatically.

  • Catalog discovery first Browse all your Teachable courses before committing — select exactly which ones to import.

  • Full content fidelity Headings, bold/italic, bullet lists, inline images, video embeds, and downloadable attachments all transfer intact.

  • Asset deduplication Identical images shared across lessons are stored once, not ten times.

  • Partial failure recovery One broken asset doesn't abort the whole job — the pipeline logs errors and completes with a partial-success status you can review.

USE CASE 02 — SSO ACCESS CONTROL

The enterprise IT team that won't add another login

Learner dashboard after SSO authentication

Your security policy says users authenticate through Okta, Azure AD, or ADFS — not through a learning tool's own password system. That's non-negotiable for most enterprise IT teams, and it shouldn't need to be negotiated.

Each organization on the platform connects its own SAML 2.0 or OIDC identity provider independently. Learners click a course link, they're sent to your IdP, they come back with a verified session — and they land directly on the course catalog. No new credentials, no password resets, no separate account management.

USE CASE 03 — COURSE AUTHORING

The instructional designer building from scratch

Not everything comes from a Teachable import. New programs need to be built — and instructors need a builder that doesn't slow them down with rigid forms or require a developer for every content change.

  • Creation wizard A guided multi-step flow: title and description, thumbnail upload, first section — you're writing lessons in under two minutes.

  • Drag-and-drop curriculum editor Reorder sections and lessons visually. Changes reflect immediately without a page reload.

  • Rich text lesson editor Full WYSIWYG body: headings, lists, code blocks, inline images you paste or drag in — stored as structured JSON, not fragile HTML strings.

USE CASE 04 — REPORTING

The HR lead who needs to prove training completion

Activity and reporting dashboard showing learner progress

Compliance training has a paper trail requirement. "Everyone completed the course" is not an answer — auditors want names, dates, and percentages. Pulling that data from a third-party LMS one learner at a time is a quarterly ordeal.

USE CASE 05 — MULTI-TENANT OPERATIONS

The platform operator running courses for multiple clients

Training providers and platform resellers host learning programs for multiple independent clients. Each client wants their own branding, their own SSO, their own learner directory — and they should never be able to see each other's data.

  • True data isolation Every database query is scoped to the authenticated organization's ID — cross-tenant data leakage is architecturally prevented, not just access-controlled.

  • Subdomain or path-prefix routing Each client gets acme.platform.com or /org/acme — resolved by middleware before the first query runs, with no per-tenant deployments.

  • Per-tenant branding

CAPABILITIES ACROSS ALL USE CASES

Built across 84 shipped features

Role-based access control

Admins and learners have distinct permissions. Course builder, enrollment management, and SSO configuration are admin-only surfaces.

Private asset delivery

All downloads are served via short-lived signed URLs generated server-side on each render — no public permanent links to sensitive content.

Common questions

Live progress monitor Watch the pipeline move through each stage in real time. No refresh needed.

Import jobs dashboard showing Teachable migration progress
  • SAML 2.0 and OIDC both supported Works with Okta, Azure AD, ADFS, and any standard-compliant provider.

  • Per-tenant configuration Each org connects its own IdP without touching other tenants.

  • Session expiry enforcement Sessions expire with the IdP token — no indefinite access after someone leaves the org.

  • Org-member gating Only authenticated members of the owning organization can view or enroll in courses — unauthenticated requests are redirected to SSO.

  • Video embedding Paste a YouTube, Vimeo, Wistia, or Loom URL and the lesson player renders the embed automatically.

  • Lesson attachments Upload PDFs and files directly to lessons — learners download them with signed, short-lived URLs that prevent unauthorized sharing.

  • Publish controls with a pre-flight check A course won't publish until it has at least one published section and lesson — no accidentally empty catalogs.

  • Course catalog in the learner dashboard

    Per-course progress table Every enrolled learner, their completion percentage, lessons completed count, and enrollment date — in one view.

  • CSV export Download the full dataset: learner name, email, enrollment date, completion percentage, and the completed lesson list — ready for your HRIS or audit.

  • Attachment download tracking Know which learners downloaded which resources — timestamped and queryable.

  • Org-wide summary widget Completion rates, total enrollments, and active learner counts across all courses — the health check your quarterly review needs.

  • Audit log Admin actions — SSO changes, enrollment edits, course publishing, import starts — are recorded immutably for compliance and troubleshooting.

  • Each organization uploads its own logo and sets a primary brand color applied across the learner catalog and lesson player.
  • Independent SSO per org Client A connects Okta, Client B connects Azure AD — configurations are isolated and don't interfere.

  • Controlled org offboarding When a client contract ends, a confirmed deletion workflow queues a background job that purges all org data, assets, enrollments, and memberships — nothing lingers.

  • Team and member management dashboard

    Soft delete and PII cleanup

    A scheduled background job permanently purges deleted records and associated assets after a configurable retention period — GDPR right-to-erasure ready.

    Mobile-responsive player

    The lesson player and curriculum sidebar adapt to any viewport — mobile learners get a bottom-sheet navigation drawer, not a broken sidebar.

    Immutable audit log

    Every significant admin action — SSO changes, enrollment edits, course publishing, import starts — is recorded with a timestamp for compliance.

    Encrypted credential storage

    Teachable admin credentials are encrypted at rest with AES-256 and only decrypted transiently inside the import worker — never logged or returned in API responses.

    Less painful than you might expect. The import pipeline authenticates with your Teachable school, crawls your full course catalog, and lets you select which courses to bring over before a single byte moves. It extracts section and lesson hierarchy, scrapes full lesson content (video embeds, rich text, images, attachments), re-hosts every asset under your organization's private storage, and replaces all Teachable CDN URLs with the new ones automatically. A real-time progress monitor shows you exactly which pipeline stage is running, how many assets have migrated, and flags any partial failures — without aborting the whole job if one file hits an error. Your credentials are encrypted with AES-256 at rest and never appear in logs or API responses.
    Each organization connects its own identity provider independently — configurations for one tenant never touch another. The platform supports both OIDC and SAML 2.0, covering Okta, Azure AD, ADFS, and any standards-compliant IdP. Admins configure their provider through a dedicated UI that accepts a discovery URL or SAML metadata, maps attributes, and runs a connection test before saving. Sessions expire in alignment with your IdP's token lifetime; when a token goes stale, learners are forced to re-authenticate rather than coasting on an indefinite session.
    No on both counts. Every learner-facing page performs an org-membership check and redirects anyone outside the organization to the SSO login flow before a course title is rendered. The multi-tenant data model partitions every table by organization ID, so queries are structurally scoped to the authenticated tenant — there is no query path that reaches across organizations. Asset downloads are served via short-lived signed URLs generated server-side on each page render, so there are no permanent public links to share or guess. Role-based access control keeps the course builder, enrollment management, and reporting pages off-limits to non-admin members.
    Admins get three layers of visibility. First, an organization-wide dashboard widget showing total enrollments, completion rates, and active learner counts across all courses — a quick health check without opening individual reports. Second, a per-course progress table listing every enrolled learner with their completion percentage, lessons completed count, and enrollment date, so you can spot who is stuck or inactive. Third, a full CSV export of that learner progress data for offline analysis or HR reporting. On top of that, an immutable audit log records significant admin actions — SSO config changes, enrollment edits, course publishing, import job starts — giving you an accountability trail for compliance reviews.
    Video embeds from YouTube, Vimeo, Wistia, and Loom are explicitly allowed via Content Security Policy headers on lesson pages; iframe sources outside those providers are blocked. For downloadable files — PDFs, images, any lesson attachment — every download is served through a server-side signed URL with a short expiration window, so there are no permanent public asset links. The platform also records a timestamped event each time a learner downloads an attachment, giving admins visibility into which resources are actually being accessed rather than just uploaded.
    Organization admins can upload a logo and set a primary brand color that applies across all learner-facing pages: the course catalog, lesson player, and dashboard. Routing supports either a subdomain (yourcompany.platform.com) or a path prefix without requiring a separate deployment per tenant. Course URLs are built from auto-generated slugs derived from course titles, with uniqueness enforced per organization and support for custom slug overrides. Deep white-label theming beyond logo and brand color is not currently listed as a shipped feature — contact us for details on roadmap plans.