> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognee.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi-User Mode Overview

> How Cognee handles multiple users and data isolation between users.

Multi-user mode is the architectural directive in Cognee that enforces strict data isolation between different users and [datasets](/core-concepts/further-concepts/datasets). It is primarily controlled by the environment variable `ENABLE_BACKEND_ACCESS_CONTROL`.

Starting with version 0.5.0, this mode is enabled by default when your configured storage setup supports it. This keeps Cognee secure by default without forcing unsupported database combinations into multi-user mode.

<Info>Data Isolation Enforcement — When active, Cognee partitions the knowledge graph and vector stores, ensuring data created by one user is neither visible nor accessible to another, unless read permission has been given to the other user.</Info>

## Upgrading to v0.5.0 or Later

<Warning>
  If you are upgrading from a version earlier than `0.5.0`, data ingested before the upgrade may be inaccessible in multi-user mode because it was not associated with a specific user. To restore access to pre-upgrade data, start Cognee with `ENABLE_BACKEND_ACCESS_CONTROL=false`, then migrate or re-ingest that data before re-enabling multi-user mode.
</Warning>

For configuration requirements and supported handler/provider combinations, see [Permissions Setup](/setup-configuration/permissions) and [Dataset Database Handlers](/core-concepts/multi-user-mode/dataset-database-handlers/dataset-database-handlers-what-are-they).

## When multi-user mode is active

When multi-user mode is active, the system unlocks several multi-tenant features:

* **Isolated Recall**: Retrieval operations are strictly scoped to datasets the authenticated user has explicit read access to. To learn more about the permissions system and access types, read about our [Permission System](/core-concepts/multi-user-mode/permissions-system/overview).

* **Granular Management**: Remembering or forgetting documents is scoped at the dataset level, preventing global knowledge pool pollution.

* **Automatic Routing**: The system automatically determines which local/cloud database or logical schema to connect to based on the dataset. This is done with the help of [Dataset Database Handlers](/core-concepts/multi-user-mode/dataset-database-handlers/dataset-database-handlers-what-are-they).

<Columns cols={2}>
  <Card title="Permission System" icon="user" href="/core-concepts/multi-user-mode/permissions-system/overview">
    Learn about the permission system that powers multi-user mode
  </Card>

  <Card title="Dataset Database Handlers" icon="building" href="/core-concepts/multi-user-mode/dataset-database-handlers/dataset-database-handlers-what-are-they">
    Understand database connection resolution per dataset
  </Card>
</Columns>
