What Whity plugs into.
Self-hosting shouldn't mean building storage, error tracking and email delivery yourself. These drivers ship in the core — no plugin, no separate purchase. Status labels are literal: nothing below is marked available unless it is in the codebase today.
Object storage
AvailableAn S3-compatible driver implemented against the wire protocol — no AWS SDK to vendor. A local-disk driver for the no-bucket case. Backend is selectable per tenant.
Error tracking
AvailableSentry's ingest protocol, implemented directly. A Sentry.io DSN works; so does a DSN for a self-hosted, protocol-compatible server. A built-in tracker is the zero-config default.
Transactional email
AvailableOutbound mail over SMTP, configured by the operator in-app. Any provider that speaks SMTP works, including the ones below and a mail server you already run.
Single sign-on
AvailableOne generic OIDC engine; providers differ by configuration only. Tenants can bring their own IdP under a two-tier trust model that keeps one tenant's provider from authenticating into another.
Payments
Coming soonWhity core does not process payments itself. A separate payments service, planned forpay.whity.dev with MEPS (a PayTabs company) as the gateway, handles that — leaving the core to do entitlements, plans and the per-tenant payment wall. Not live yet; this page will say so when it is.
Entitlements & metering
AvailableWhat the core does own: per-tenant feature flags and quotas, subscription plans, and a payment wall with an operator-controlled enforcement mode — all provider-agnostic, so billing state can come from anywhere.
Product analytics
PlannedSomething in the shape of PostHog is on the roadmap and not in the codebase. It won't be listed as available here until it ships.
Automation & agents
AvailableThe sanctioned way an external system drives Whity is the MCP server: every schema-bearing route is already a tool. Embedding a workflow engine was evaluated and deferred.
Fewer dependencies to trust, patch and vendor.
The storage and error-tracking drivers speak the S3 and Sentry wire protocols directly. That is a deliberate choice for a self-hosted platform: the same driver works against a hyperscaler, a self-hosted MinIO or GlitchTip, and an offline desktop build — and the dependency list in composer.json stays short enough to actually audit.
# storage: local | s3 (per-tenant override in-app)
STORAGE_DRIVER=s3
STORAGE_S3_SECRET_KEY=…
# error tracking: internal | sentry-protocol
SENTRY_DSN=https://…@glitchtip.example.org/1
# email and SSO are configured by the operator
# in the admin UI — no restart required