Question: Multi-Tenancy & RBAC in a Single Neo4j Database
We are building a multi-tenant SaaS product using Neo4j as the graph store for a Graph-RAG system.
-
A single Neo4j database is shared across multiple tenant organizations.
-
Each tenant uploads documents, and we store extracted entities, relationships, and embeddings in Neo4j.
-
Strict tenant isolation is required: data belonging to Tenant X must never be accessible to users of Tenant Y.
-
Within a tenant, there are multiple user roles (Admin, Editor, Viewer), and access to graph data must be role-based.
Questions:
-
What is the recommended approach for implementing multi-tenancy in a single Neo4j database with strict data isolation?
-
Does Neo4j provide any native support for node/subgraph-level access control, or must this be enforced entirely at the application/query level?
-
Are there best practices or reference architectures for enforcing tenant- and role-scoped access, especially for graph traversal and semantic search (Graph-RAG) queries?