Architecture
Multi-tenant CRM, explained
Ayidhu CRM is built multi-tenant from the ground up — one edge-deployed application serving every customer, with each organization's data strictly isolated from the rest.
Multi-tenant
One app, many isolated tenants
A single application and database serve every customer ("tenant"). Every table and every query is scoped by a tenant identifier, so one organization can never read or write another's records — even though the underlying infrastructure is shared. Updates, security patches, and new features ship to everyone at once.
Single-tenant
One dedicated instance per customer
Each customer gets their own copy of the application and database, physically separate from every other customer's. Isolation comes from separation rather than application logic, but every customer's instance has to be provisioned, patched, and scaled independently — which costs more and moves slower.
How Ayidhu CRM enforces tenant isolation
Every query is tenant-scoped
Every table carries a tenant_id column, and every read or write is filtered by it in the route handler — there is no code path that queries across tenants.
Edge-deployed globally
The application runs on Cloudflare Workers and is served from Cloudflare’s global edge network, so requests are handled close to your users rather than one central region.
Enterprise-grade options
Organizations with 20+ users can add SSO/SAML, audit logs, and custom data retention on top of the same tenant-isolated architecture.
Frequently asked questions
What does "multi-tenant" mean for a CRM?
A multi-tenant CRM runs one application and one codebase that serves many separate organizations ("tenants") at once, while keeping each tenant’s data isolated from every other tenant. The alternative — single-tenant — gives each customer their own dedicated copy of the app and database, which costs more to run and is slower to update.
How does Ayidhu CRM isolate my data from other tenants?
Every record in Ayidhu CRM carries a tenant_id, and every database query is scoped by it — enforced at the route-handler level for every read and write, on every module. Your organization only ever sees rows tagged with your tenant_id, regardless of what other organizations store on the same infrastructure.
Does multi-tenancy mean my data is slower or less secure than a dedicated instance?
No — Ayidhu CRM runs on Cloudflare’s global edge network, so requests are served from a location near your users rather than a single, centralized server. Enterprise plans (20+ users) can add SSO/SAML, audit logs, and custom data retention on top of the same tenant-isolated architecture.
Can I get a dedicated, single-tenant deployment instead?
Most teams don’t need to — tenant isolation is enforced in the application layer, not by physical separation, so there’s no security tradeoff for staying multi-tenant. If your organization has a specific compliance requirement for dedicated infrastructure, contact [email protected] to discuss Enterprise options.
