Skip to main content

Platform

One codebase, enterprise-grade isolation

The Prabhix platform is a modular monolith — shared infrastructure for every product and customer organization, designed to scale a single org to 100,000 users.

Architecture

System overview

Client layer

  • Marketing Site (Next.js SSR)
  • Customer App (React SPA)
  • Mobile Apps (offline-first)

Prabhix API

  • Spring Boot modular monolith
  • auth · org · mail · billing · notify · audit · files · search

Data layer

  • PostgreSQL 16 — tenant-scoped · RLS
  • Redis 7 — cache · pub/sub · rate limits
  • S3-compatible — attachments · exports

Tenant isolation

  • JWT · Filter · Hibernate + Postgres RLS

Multi-tenancy

Isolated workspaces, shared infrastructure

Shared-schema multi-tenancy with three redundant isolation layers — JWT claims, request-scoped tenant filters, and Hibernate query filters — plus Postgres row-level security on high-risk tables.

Org A

  • Teams & RBAC
  • Mailboxes
  • Billing
  • Product data

organization_id scoped

Org B

  • Teams & RBAC
  • Mailboxes
  • Billing
  • Product data

organization_id scoped

Org C

  • Teams & RBAC
  • Mailboxes
  • Billing
  • Product data

organization_id scoped

Modules

Platform capabilities

Multi-tenant workspaces

Each customer is an organization with isolated data boundaries. Members, teams, roles, and invites — scoped by organization_id at every layer.

Unified email & helpdesk

Shared inboxes with IMAP ingestion, MIME parsing, conversation threading, agent assignment, SLA tracking, and canned replies.

Razorpay billing

Plans, subscriptions, seat-based proration, GST invoicing, and webhook-driven entitlements. Browser callbacks never mutate state alone.

RBAC

Fine-grained permissions (MAIL_READ, BILLING_MANAGE, ORG_MEMBER_INVITE) bundled into system and custom roles with team scoping.

Audit logging

Append-only audit trail for sensitive operations. Partitioned storage with S3 archival after 90 days.

Scale to 100k users

Cursor pagination, Redis read-through caches, outbox workers with SKIP LOCKED, and monthly table partitioning on hot paths.

Scale

Designed for 100,000 users in one organization

Pressure pointMitigation
Connection pool exhaustionHikariCP per instance + PgBouncer in transaction mode
Hot mail tablesMonthly range partitioning + covering indexes
Deep paginationCursor (keyset) pagination — OFFSET banned on hot paths
Permission checksPrecomputed into JWT; Redis deny-list for revocation
Background workOutbox + SELECT FOR UPDATE SKIP LOCKED workers
Real-time updatesSSE per org channel, fanned out via Redis pub/sub

See the platform in action

Book a walkthrough of multi-tenant workspaces, shared inbox, and billing — tailored to your use case.