Umbral
Prebuilt Plugins

The batteries, maintained by the Umbral team

Every official capability ships through the same plugin contract a community developer can use. Enable it, replace it, or extend it with your own startapp.

Use it

Add the official plugin to plugins and migrate.

Replace it

Swap in a community plugin that honors the same contract.

Build your own

Scaffold a project-specific plugin with startapp.

UA
umbral.admin
Shipped / stable

model-aware CRUD, dashboards, audit trail, relation pickers

plugins += ["umbral.admin"]
Plugin feature tracker
Auto CRUD views shipped
Search and multi-filter shipped
FK / M2M / O2O pickers shipped
Per-model permissions shipped
File and image widgets shipped
Markdown / RTE field widgets shipped
Dashboard widgets shipped
Bulk actions shipped
Inline editing shipped
Audit history shipped
Theme and palette controls shipped
UA
umbral.auth
Shipped / stable

users, groups, login routes, argon2, reset flows

plugins += ["umbral.auth"]
Plugin feature tracker
User and group models shipped
Argon2 password hashing shipped
Permissions and RBAC shipped
Bearer tokens shipped
Default auth routes shipped
OAuth / social login shipped
Password reset shipped
Email verification shipped
Form and JSON surfaces shipped
Custom user models usable
SSO / OIDC planned
UR
umbral.rest
Usable / beta

model resources, filters, search, pagination, safe writes

plugins += ["umbral.rest"]
Plugin feature tracker
Serializers and viewsets shipped
Routers and pagination shipped
Filtering and search shipped
Filtering, search, ordering shipped
Authentication and permissions shipped
Endpoint discovery shipped
Custom @action endpoints usable
Nested writable serializers usable
Bulk endpoints usable
CSV export shipped
File and image URLs shipped
Throttle hooks shipped
UG
umbral.graphql
Usable / beta

schema from your models, relations, mutations, subscriptions

plugins += ["umbral.graphql"]
Plugin feature tracker
Schema from the model registry shipped
Relation traversal shipped
DataLoader batching shipped
Mutations shipped
Subscriptions shipped
Private-column unlock shipped
Field hiding shipped
GraphiQL explorer shipped
UO
umbral.oauth
Shipped / beta

Google/GitHub login, PKCE, state checks, account linking

plugins += ["umbral.oauth"]
Plugin feature tracker
Google provider shipped
GitHub provider shipped
PKCE and state checks shipped
Account linking shipped
Return URL allow-list shipped
Provider discovery shipped
UP
umbral.permissions
Shipped / stable

RBAC, object checks, REST/admin permission gates

plugins += ["umbral.permissions"]
Plugin feature tracker
Permission model provisioning shipped
Groups and memberships shipped
Route middleware shipped
REST permission adapter shipped
Object permission queries usable
Inactive-user denial shipped
US
umbral.sessions
Shipped / stable

signed cookies, DB/Redis stores, lazy session data

plugins += ["umbral.sessions"]
Plugin feature tracker
DB-backed session store shipped
Cookie session store shipped
Session middleware shipped
Login / logout flow shipped
Redis-backed sessions usable
Lazy session writes shipped
Sliding expiry shipped
Revocation and cleanup shipped
UO
umbral.openapi
Usable / beta

OpenAPI schema, Swagger UI, auth metadata, playground feed

plugins += ["umbral.openapi"]
Plugin feature tracker
OpenAPI 3 schema generation shipped
Playground UI shipped
Swagger UI shipped
Vendor extensions shipped
securitySchemes publishing shipped
Action schemas shipped
Production gating shipped
UT
umbral.tasks
Experimental / alpha

durable jobs, workers, retries, priorities, periodic beat

plugins += ["umbral.tasks"]
Plugin feature tracker
#[task] macro usable
DB-backed queue usable
Worker process usable
Retries and backoff usable
Scheduled tasks planned
Priority queues usable
Beat schedules usable
Result records usable
Admin queue browser experimental
US
umbral.security
Shipped / stable

CSRF, HSTS, secure headers, template escaping

plugins += ["umbral.security"]
Plugin feature tracker
CSRF protection shipped
Template CSRF helpers shipped
HSTS and secure headers shipped
Clickjacking protection shipped
Template auto-escaping shipped
Production hardening preset shipped
Request body limit shipped
US
umbral.storage
Shipped / stable

static files, media uploads, S3/local backends, processing

plugins += ["umbral.storage"]
Plugin feature tracker
Production static serving shipped
collectstatic command shipped
Embedded static assets shipped
File and image fields shipped
Media access control shipped
Background media processing shipped
S3-compatible backend usable
UR
umbral.realtime
Usable / beta

SSE/WebSocket push, rooms, user targets, presence

plugins += ["umbral.realtime"]
Plugin feature tracker
SSE transport shipped
WebSocket transport experimental
User and room targets shipped
Model-event hooks shipped
Presence usable
Connection and rate limits shipped
UC
umbral.cache
Shipped / stable

ambient cache, response caching, Redis/in-memory backends

plugins += ["umbral.cache"]
Plugin feature tracker
Ambient cache handle shipped
Typed get/set helpers shipped
Memory backend shipped
SQLite backend shipped
Redis backend usable
cache_page layer shipped
Response headers shipped
UH
umbral.health
Shipped / stable

liveness/readiness probes, DB checks, custom dependencies

plugins += ["umbral.health"]
Plugin feature tracker
Liveness probe shipped
Readiness probe shipped
Custom health checks shipped
Per-check timeout shipped
Structured failure reasons shipped
UL
umbral.livereload
Shipped / beta

dev file watcher, SSE reloads, CSS hot-swap

plugins += ["umbral.livereload"]
Plugin feature tracker
File watcher shipped
SSE reload stream shipped
CSS hot-swap shipped
Client auto-injection shipped
SharedWorker fallback usable
Production inertness shipped
UA
umbral.analytics
Usable / beta

PostHog capture, pageviews, custom events, bounded sends

plugins += ["umbral.analytics"]
Plugin feature tracker
PostHog client usable
Pageview capture usable
Custom events usable
Exclude prefixes usable
Bounded outbound sends usable
UE
umbral.email
Usable / beta

SMTP/API/console mail, HTML text, attachments, auth flows

plugins += ["umbral.email"]
Plugin feature tracker
Message builder usable
SMTP backend usable
HTTP API backends usable
Console backend usable
Attachments usable
Template rendering usable
Production safety usable
UL
umbral.logs
Shipped / stable

request logs, trusted proxy IPs, sampling, OpenTelemetry

plugins += ["umbral.logs"]
Plugin feature tracker
Structured request logs shipped
Trusted-proxy client IP shipped
Exclude prefixes shipped
Sampling shipped
Minimum status filter shipped
OpenTelemetry bootstrap in progress
US
umbral.signals
Shipped / stable

model lifecycle hooks, named events, async subscribers

plugins += ["umbral.signals"]
Plugin feature tracker
Model lifecycle signals shipped
Named events shipped
Async subscribers shipped
Payload redaction shipped
Bulk M2M safety shipped
UR
umbral.rls
Usable / beta

Postgres RLS, policies, FORCE isolation, request context

plugins += ["umbral.rls"]
Plugin feature tracker
Enable RLS usable
FORCE RLS usable
Policy definitions usable
WITH CHECK policies usable
Request context GUCs usable
SQLite production guard usable
UT
umbral.tenants
Usable / beta

schema/shared-table tenancy, request resolution, membership

plugins += ["umbral.tenants"]
Plugin feature tracker
Schema-per-tenant strategy usable
Shared-column strategy usable
Tenant resolution usable
Membership guard usable
Scoped app lists usable
Current tenant context usable
UP
umbral.playground
Usable / beta

in-app API console, OpenAPI discovery, auth, history

plugins += ["umbral.playground"]
Plugin feature tracker
OpenAPI discovery usable
Request builder usable
Response viewer usable
Auth helpers usable
Request history usable
Import and export usable

Want to replace a battery?

Browse community plugins that honor the same contract, or scaffold your own and submit it to the directory.

Browse the directory