Authorization at the boundary
Host functions derive identity; the component independently enforces conversation membership.
The authorization-aware component for direct and small-group messaging—without importing your app's identity model or product policy.
pnpm add convex-chat convexSmall surface. Strong guarantees.
Host functions derive identity; the component independently enforces conversation membership.
Ordered, idempotent sends, monotonic read watermarks, and revision-safe message updates.
Conversations, unread counts, presence, typing, replies, and reactions update through Convex.
Clear ownership boundaries
convex-chat owns reusable chat state. Authentication, relationships, tenancy, moderation, and business rules stay in the host application where they belong.
Explore the architectureThe useful core
Start with the example, then adapt the host boundary to your application.