Build what’s yours.We build and run the rest.
Why Primitives
The parts exist.
Zanzibar, Postgres, Kafka, OpenSearch, ClickHouse, OpenMeter. Each is excellent at one thing. None of them is a feature.
Making them fit is the job.
Syncing identity, filtering search by permission, fanning one event out to notifications and audit. Then upgrades, backups and on-call, for years.
We’re the missing layer.
Primitives brings every piece together behind a few simple APIs, then upgrades it, backs it up and carries the pager. Your team builds only what sits on top.
- Sign-in: Orgs and SSO, synced. Built from WorkOS, Postgres.
- Permissions: Roles and sharing. Built from Zanzibar, Postgres.
- Events: Publish once, fan out. Built from Postgres, Kafka.
- Search: Filtered by permission. Built from Zanzibar, Kafka, OpenSearch.
- Audit: Who did what, and when. Built from Kafka, ClickHouse.
- Notifications: The right people, told. Built from Zanzibar, Kafka, Knock.
- Usage: Metered, with quotas. Built from Kafka, OpenMeter.
- Files: Uploads, permissioned. Built from Zanzibar, Object store.
- WorkOS
- Postgres
- Zanzibar
- Kafka
- OpenSearch
- ClickHouse
- Knock
- OpenMeter
- Object store
Enterprise-ready
Right the first time.
The checklist your first enterprise customer brings, answered before they ask. No rebuild when you grow into it.
SSO for every customer
SAML and OIDC through the WorkOS you already run, set up per organization.
Fine-grained permissions
Your roles plus per-resource sharing, checked on a Zanzibar model on every call.
Audit logs
Every event becomes the resource’s history, ready when a security team asks.
Search that never leaks
Results are filtered to what each user may see, on every query.
Usage and quotas
Metered on OpenMeter, so usage-based pricing and limits are there when you need them.
Files under the same rules
Uploads are permissioned like everything else, with no second access model.
No lock-in
Ours to run. Yours to keep.
Open source, open formats
Your data lives in Zanzibar-style permissions, Postgres, Kafka, OpenSearch, ClickHouse and OpenMeter, open-source systems you can run and read yourself. Events are standard CloudEvents.
Self-host the same code
A hosted cell is the same Primitives you can run yourself, with the same API, so you can take it in-house.
Identity stays yours
Users, organizations and SSO stay in your own WorkOS. Primitives syncs from it and never becomes your identity provider.
What you get
One call instead of the wiring.
Each request does work you would otherwise build across several tools. Real calls, as Neomatter, our example legal app, makes them.
Pick a piece to see its call.
Say what happened. Once.
Publish one event. Search indexes it, rules notify on it and audit records it.
POST /v1/events
{
"type": "matter.draft_approved",
"subject": "7f9c…",
"actor_id": "2b41…",
"data": { "title": "Acme supply agreement" }
}
→ 202 { "id": "0193…" }Getting started
Three steps to ship.
Bring your WorkOS
Users, organizations and SSO stay where they are. WorkOS stays the source of truth; Primitives keeps a synced copy.
Name what matters
Your resource types and the roles that act on them, set once on your company’s page. Primitives compiles them into a Zanzibar model.
Ship
Issue a key for your cell and send JSON. Errors come back as RFC 9457 problem details.