All Docs
FeaturesCSI Teachable Replacement AppUpdated March 13, 2026

Asset Storage Bucket Initialization & Policy Configuration

Asset Storage Bucket Initialization & Policy Configuration

Introduced in v1.0.4

Overview

Version 1.0.4 establishes the core asset storage infrastructure for the platform using Vercel Blob. This release does not expose end-user upload interfaces — instead, it configures the storage bucket, access policies, and tenant isolation rules that all future media upload and delivery features are built upon.


Key Concepts

Per-Tenant Path Prefixes

Every organization (tenant) on the platform is assigned a dedicated path prefix within the shared Vercel Blob bucket. This ensures strict namespace isolation at the storage layer:

bucket/
  └── {tenant-id}/
        ├── images/
        ├── documents/
        └── videos/

No tenant can access or overwrite assets belonging to another tenant. Path prefix enforcement happens at the storage configuration level, not just in application logic.

Upload Size Limits

Maximum file size limits are enforced as part of the bucket policy configuration. Uploads that exceed the configured threshold are rejected before the payload reaches the application layer. This protects against:

  • Accidental oversized uploads consuming storage quota
  • Malicious attempts to exhaust storage resources

Allowed MIME Type Policies

Only explicitly whitelisted MIME types are permitted. The policy-level allowlist ensures that files of unsupported types are rejected at the earliest possible point in the upload pipeline. This covers:

  • Common image formats (e.g. image/jpeg, image/png, image/webp)
  • Document formats (e.g. application/pdf)
  • Video and audio formats relevant to course content delivery

Attempts to upload unsupported file types return a rejection response without storing any data.


Storage Backend

The platform uses Vercel Blob as its managed object storage layer. Vercel Blob provides:

  • Scalable, durable object storage
  • CDN-backed asset delivery for fast global access
  • Native integration with the Vercel deployment environment

Dependency Notice

This storage configuration is a foundational prerequisite for all asset-related features on the platform. The following upcoming capabilities depend on the pipeline established in this release:

  • Course image and thumbnail uploads
  • Embedded video asset management (imported from Teachable)
  • Downloadable document attachments on lessons
  • Any other media associated with course content

No migration or manual configuration is required by tenant administrators — the storage infrastructure is managed at the platform level.


Related