System Design of a new graph db

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:

  1. What is the recommended approach for implementing multi-tenancy in a single Neo4j database with strict data isolation?

  2. Does Neo4j provide any native support for node/subgraph-level access control, or must this be enforced entirely at the application/query level?

  3. Are there best practices or reference architectures for enforcing tenant- and role-scoped access, especially for graph traversal and semantic search (Graph-RAG) queries?

Welcome to Neo4j. This doesnt feel like a newbie question.

It is definitely worth cross posting in Neo4j Graph Platform - Neo4j Online Community

Re multi-tenancy I would recommend you take a look at the operations manual for approaches - Database administration - Operations Manual

Re role based access control you will find a lot of information in Authentication and Authorization) Authentication and authorization - Operations Manual and specifically Role-based access control - Operations Manual .