Skip to main content

Everything z4j ships, in one place.

Every capability below lands on day one. No hidden tiers. No enterprise-only gating. Security, observability, actions, and team collaboration, all in the open-source release.

All capabilities

Feature catalog

Click any card for a deeper look with screenshots and config notes.

How it works

The control-plane architecture

z4j separates z4j (central server + dashboard) from agents (thin pip packages that run in your app). Agents push events over an outbound WebSocket. z4j dispatches commands back over the same channel.

Your application Apache 2.0
Django / Flask / FastAPI
z4j-django · z4j-flask · z4j-fastapi
Engine
z4j-celery, ...
Scheduler
z4j-celerybeat, ...
z4j-bare (agent runtime)
WebSocket + local SQLite buffer
z4j-core
Protocols + domain models + redaction
Celery / RQ / Dramatiq / Huey / arq / taskiq run alongside, unchanged
broker: Redis / RabbitMQ / SQS (their own)
events
commands
HMAC-signed WebSocket
z4j (control plane) AGPL 3.0
FastAPI backend
REST API + WebSocket gateway
React dashboard
TanStack Start v1, bundled in image
Background workers
Reconciliation, retention, health
PostgreSQL 18+ (or SQLite in default mode)
Events, tasks, schedules, audit log, users
HMAC-chained, tamper-evident
Package map

What ships, where it lives, under which license

z4j is a monorepo. Each piece is installable as an independent pip package. Agents are Apache 2.0, z4j is AGPL 3.0, everything else is documented below.

z4j-core Apache 2.0
Framework-free, engine-free domain core

Protocol definitions, domain models, redaction engine, HMAC envelope, serialization. Knows nothing about Django, Celery, or Redis.

Runs in: Inside every agent and the brain
z4j-bare Apache 2.0
Framework-free agent bootstrapper

Connects to z4j, buffers events to local SQLite, manages lifecycle. Use directly when you have no web framework.

Runs in: Inside your app process
z4j-<framework> Apache 2.0
Framework adapter (django, flask, fastapi)

Reads your framework's settings, auto-registers adapters on app startup, hooks into the framework's lifecycle.

Runs in: Inside your app process
z4j-<engine> Apache 2.0
Engine adapter (celery, rq, dramatiq, huey, arq, taskiq)

Captures task events from the engine's signals, middleware, or hooks. Executes commands (retry, cancel, purge) against the engine.

Runs in: Inside your app process
z4j-<scheduler> Apache 2.0
Scheduler adapter (celery-beat, apscheduler, ...)

Surfaces periodic tasks on the Schedules page. Handles schedule CRUD where the scheduler supports runtime mutation.

Runs in: Inside your app process
z4j AGPL v3
FastAPI backend + React dashboard

Stores events in Postgres or SQLite, serves the dashboard, authenticates users, dispatches commands back to agents. One image, many agents.

Runs in: Standalone container or pip install
Data flow

How an event travels from your app to the dashboard

  1. 1

    Your task runs

    Celery or RQ or any engine dispatches a task. The engine adapter (z4j-celery, z4j-rq, ...) hooks into the engine's signal, middleware, or job lifecycle.

  2. 2

    Redaction at capture

    Before the event leaves your process, the z4j-core redaction engine scrubs args, kwargs, return values, and exceptions. API keys, tokens, and PII never cross the wire unredacted.

  3. 3

    Buffered to local SQLite

    The agent (z4j-bare) appends the event to a local SQLite buffer. If z4j is unreachable, events queue here safely and flush on reconnect. Your app keeps running regardless.

  4. 4

    HMAC-signed over WebSocket

    The agent batches events and sends them through a bearer-authenticated, HMAC-signed WebSocket. Replay guard (nonce + monotonic seq + timestamp window) prevents tampering.

  5. 5

    Brain persists + broadcasts

    z4j writes the event to Postgres or SQLite, applies a second-layer redaction pass, appends to the audit chain if it was a command, then broadcasts the state change to every connected dashboard via internal pub/sub.

  6. 6

    Dashboard updates in real time

    Browsers pick up the update over their own WebSocket. Typical end-to-end latency: agent event to UI under 200ms p50.

Ready to try it?

Install in under 5 minutes. The same features ship in every deployment tier.