Platform administration

Feature settings

A tenant admin's own self-service page (/feature-settings, admin-only) for turning on features a platform administrator has already made available to their workspace - the tenant-admin half of the two-layer model described in Feature flags.

Each row here mirrors one platform-level grant. Until a superadmin has granted the matching flag, a row renders disabled with a short "Not available yet - ask your platform administrator to enable this" message, rather than letting an admin flip a switch that would silently do nothing.

What's on this page

  • AI features - turns on AI-assisted lesson/diagram/code drafting, exam question generation, and the Course Builder chat, once a superadmin has granted "Enable AI features."
  • Documents into knowledge base - lets instructors upload PDF/Word documents in the Studio for AI-assisted authoring and learner Q&A to draw on.
  • Lessons into knowledge base - lesson content is re-indexed nightly so it can also ground AI drafting and learner Q&A, alongside uploaded documents.
  • Use knowledge base for content generation - AI-assisted authoring (lesson content, diagrams, code, matching, exam questions) is grounded in the tenant's own indexed material.
  • Enable for learners - shows the "Ask about this course" widget so enrolled learners can ask questions grounded in the knowledge base.
  • Social login - a Google/Apple toggle pair (not a single switch, since it's a choice of which providers to show, not just whether to) controlling which social sign-in buttons members see on the mobile app's sign-in screen. See Signing in.
  • AI model overrides - lets the tenant pick a different provider/model than the platform default for one or more AI activities (embeddings, Course Builder chat, Course Q&A, handwriting transcription, structured generation, long-form generation), instead of always getting whatever a superadmin set on the AI models page. Each activity's "Override" switch is off by default (use the platform default); turning it on reveals a provider dropdown and a model name field for that one activity. Requires "AI features" to be on - toggling that off elsewhere on this page disables every override row too, even ones already saved. An activity whose only allowed provider has no API key configured in this deployment (e.g. embeddings without a Gemini key) can't be turned on at all, same "disable rather than let it silently fail" rule the superadmin AI models page follows.

The first four knowledge-base-related rows are each gated by the same "Enable course knowledge base" platform grant; only "Social login" and "AI features" have their own separate platform grants. See Feature flags for what a superadmin sees and grants on their side.

How it's stored

Settings live in one JSONB column (tenants.feature_settings), the same free-form shape tenants.flags and tenants.branding already use - adding a new setting later needs no schema change.