You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/guides/03.auth/2.access-control.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -117,11 +117,13 @@ Specifying both the IPv4 and IPv6 addresses ensures uninterrupted access to your
117
117
118
118
## Studio Users
119
119
120
-
Studio Users in Directus are used in the context of licensing and billing for Directus Cloud. A studio user meets at least one of the following criteria:
120
+
Studio Users are the users counted against the seat limit on your plan, whether you are self-hosted or on Directus Cloud. A Studio user meets at least one of the following criteria:
121
121
122
122
1. At least one policy with 'Admin Access' enabled.
123
123
2. At least one policy with 'App Access' enabled, allowing access to the Data Studio.
124
124
125
+
Users with neither are considered API-only users and do not consume a seat, regardless of how many of them may exist. See [Key Definitions](/licensing/overview#key-definitions) in the licensing overview for the full seat and collection counting rules.
126
+
125
127
## Combining Multiple Policies
126
128
127
129
When multiple policies are assigned to a role or user, the system evaluates and combines these policies depending on the type of restriction or permission being applied. Understanding how these rules combine is essential for designing effective access control strategies.
Copy file name to clipboardExpand all lines: content/licensing/1.overview.md
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,9 +13,51 @@ Free commercial use is available through the **[Open Innovation Grant](https://d
13
13
14
14
Quick links:
15
15
16
+
-[What counts as a user seat or a collection?](#key-definitions)
16
17
-[Enquire about a commercial license](https://directus.com/contact)
17
18
-[Upgrading to Directus 12 (existing customer)](#upgrading-to-directus-12)
18
19
20
+
## Key Definitions
21
+
22
+
Plan limits are counted in units that are easy to misread. This section defines what counts toward **user seats** and **collections**. For the limits that apply to each tier, see the [pricing page](https://directus.com/pricing).
23
+
24
+
### User Seats
25
+
26
+
A seat is consumed by each **active Studio user**. A user is a Studio user if they have at least one policy with **App Access** or **Admin Access** enabled. See [Studio Users](/guides/auth/access-control#studio-users) for the full criteria.
27
+
28
+
**API-only users do not count toward your seat limit.** These are users created and managed in Directus who never access the Data Studio and reach your data only through the REST, GraphQL, WebSockets, or SDK APIs. Common examples:
29
+
30
+
- End users of your application, whether they register themselves through your frontend or you create their accounts for them.
31
+
- Service accounts and integrations that authenticate with a static token.
32
+
33
+
These users do not consume a seat, regardless of how many exist, provided no policy grants them app access. Conversely, any user whose policy grants app access consumes a seat, whether or not they ever log in.
34
+
35
+
::callout{icon="i-lucide-info"}
36
+
**Seats measure Studio access, not the size of your user base.**
37
+
<br>
38
+
A project with 2 content editors and 50,000 registered application users consumes 2 seats. Only accounts that can access the Data Studio are counted.
39
+
::
40
+
41
+
You can send invitations even after reaching your seat limit. However, you cannot **activate** a user beyond the limit. To activate a pending user, either increase your seat count or free a seat by removing app access from an existing user.
42
+
43
+
### Collections
44
+
45
+
A collection counts toward your limit if it is a user collection registered in Directus, meaning it has Directus metadata and appears in the Data Studio. See [Collections](/guides/data-model/collections) for the difference between user and system collections.
46
+
47
+
Counted:
48
+
49
+
- User collections, whether created through the Data Studio, the API, or created in your database and then registered in Directus.
50
+
- Translation collections, such as `articles_translations`.
51
+
- Junction tables created for many-to-many and many-to-any relationships.
52
+
53
+
Not counted:
54
+
55
+
- System collections, which are prefixed with `directus_`.
56
+
- Folders, which group collections in the Data Model settings and are not tables.
57
+
- Database-only tables, which exist in your database but have no associated Directus metadata because they are not registered in Directus.
58
+
59
+
Translation collections and junction tables receive no special treatment: they are standard user-created tables, so each one counts as a collection. Account for them when you estimate your total.
60
+
19
61
## `PUBLIC_URL` and Licensing
20
62
21
63
Before applying a license, `PUBLIC_URL` must be set to a valid absolute URL (e.g. `https://directus.example.com`). The default value (`/`) and any relative path are rejected by the licensing service during [activation](#activations-and-project-bindings).
0 commit comments