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: docs/api-reference/bundle/write-bundle.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,13 +11,13 @@ Prior to Data Bundles, it was the responsibility of the services (such as [Write
11
11
12
12
With the Data Bundles, you be able to bundle and model the creation and deletion of relations and attributes when specific actions occur on resources in your applications.
13
13
14
-
We believe this functionality will streamline managing authorization data as well as managing this in a central place increase visibility around certain actions/triggers that end up with data creation.
14
+
We believe this functionality will streamline managing authorization data as well as managing this in a central place increases visibility around certain actions/triggers that end up with data creation.
15
15
16
-
## How Bundles Works
16
+
## How Bundles Work
17
17
18
-
Let's examine how Bundles operates with basic example.
18
+
Let's examine how Bundles operate with a basic example.
19
19
20
-
Let's say you want to model how data will be created when an organization created in your application. For this purpose, you can utilize the WriteBundle API endpoint. This API enables users to define or update data bundles, each distinguished by a unique name.
20
+
Let's say you want to model how data will be created when an organization is created in your application. For this purpose, you can utilize the WriteBundle API endpoint. This API enables users to define or update data bundles, each distinguished by a unique name.
21
21
22
22
Here's an example body for WriteBundle in this scenario:
Copy file name to clipboardExpand all lines: docs/api-reference/introduction.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ We structured Permify API in 4 core parts:
10
10
-[PermissionService]: Consists access control requests and options.
11
11
-[DataService]: Authorization data operations such as creating, deleting and reading relational tuples.
12
12
-[SchemaService]: Modeling and Permify Schema related functionalities including configuration and auditing.
13
-
-[TenancyService]: Consists tenant operations such as creating, deleting and listing.
13
+
-[TenancyService]: Consists of tenant operations such as creating, deleting and listing.
14
14
-[BundleService]: Manages bundled creation and deletion of relations and attributes to keep authorization data aligned with the business model.
15
15
16
16
Permify exposes its APIs via both [gRPC](https://buf.build/permifyco/permify/docs/main:base.v1) and [REST](https://restfulapi.net/).
@@ -56,13 +56,13 @@ However, since it communicates using standard protocols like gRPC and HTTP, it i
56
56
57
57
You can secure APIs with our authentication methods; **Open ID Connect** or **Pre Shared Keys**. They can be configurable with flags or using configuration yaml file. See more details how to enable authentication from [Configuration Options](../../setting-up/configuration)
58
58
59
-
To access the endpoints after enabling authentication, it's necessary to provide a Bearer Token for identification. If your using golang or nodeJs client library, an authentication token can be provided via interceptors. You can find details in the clients' documentation.
59
+
To access the endpoints after enabling authentication, it's necessary to provide a Bearer Token for identification. If you're using Golang or Node.js client library, an authentication token can be provided via interceptors. You can find details in the clients' documentation.
60
60
61
61
## Latency & Performance
62
62
63
63
With the right architecture we expect **7-12 ms** latency. Depending on your load, cache usage and architecture you can get up to **30ms**.
64
64
65
-
Permify implements several cache mechanisms in order to achieve low latency in scaled distributed systems. See more on the section [Cache Mechanisims](../../operations/cache)
65
+
Permify implements several cache mechanisms in order to achieve low latency in scaled distributed systems. See more on the section [Cache Mechanisms](../../operations/cache)
66
66
67
67
## Availability of the Service
68
68
@@ -89,6 +89,6 @@ These credits are your sole remedy for any availability failures under our SLA.
89
89
90
90
Default rate limit is set to 100 requests per second. However, users can adjust this based on their specific needs following our [documentation](https://docs.permify.co/docs/reference/configuration). We used [Token bucket](https://en.wikipedia.org/wiki/Token_bucket) algorithm for rate limiting.
91
91
92
-
## Need any help?
92
+
## Need any help?
93
93
94
94
Our team is happy to help you get started with Permify. If you'd like to learn more about using Permify in your app or have any questions about this example, [schedule a consultation call with one of our account executives](https://www.permify.co/book-demo).
Copy file name to clipboardExpand all lines: docs/cloud/intro.mdx
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ What you can find in this tab:
63
63
64
64
## Schema Management
65
65
66
-
It’s expected that your initial schema will eventually change as your products evolves.
66
+
It’s expected that your initial schema will eventually change as your product evolves.
67
67
68
68
As new features, API endpoints, user requirements or compliance requirements are regularly rolled out, each addition often necessitates corresponding updates to your authorization model, [Permify Schema](../getting-started/modeling).
69
69
@@ -77,7 +77,7 @@ The **Schemas** view lists the latest configured schemas with the [WriteSchema A
77
77
78
78
### Schema Deployments
79
79
80
-
One of the best practise to manage schema changes is setting up a central git repository that stores the schema YAML file.
80
+
Managing schema changes by setting up a central git repository that stores the schema YAML file is a best practice.
81
81
82
82
This way, you can centrally check and approve every schema change before deploying it.
83
83
@@ -91,7 +91,7 @@ In Permify Cloud we even streamline this management process for you with connect
91
91
92
92
With **Schema Management GitOps Workflow**, you can now automatically deploy authorization models to Permify directly from your GitHub repository.
93
93
94
-
Similar deploying your Vercel application with GitHub Actions. And we show these deployments in the **Deployments** view.
94
+
Similar to deploying your Vercel application with GitHub Actions. And we show these deployments in the **Deployments** view.
95
95
96
96
### How Schema Deployment Works ?
97
97
@@ -155,7 +155,7 @@ If all tests pass, the model is seamlessly deployed to Permify, and you can moni
155
155
156
156
### Schema Staging
157
157
158
-
In above example we directly pushed our change to master branch. And this deployment records labeled as **production** by default.
158
+
In the above example we directly pushed our change to the master branch. And this deployment record is labeled as **production** by default.
159
159
160
160
If you have at least a couple of engineers who can make schema changes, you will want to have a review process for these changes.
161
161
@@ -227,7 +227,7 @@ To learn more how it works and how to configure it, see the [Schema Management](
227
227
228
228
The **Garbage Collector** is a mechanism designed to clean up expired or idle relation tuples.
229
229
230
-
This is particularly important when schemas are changed or created frequently, as it can lead to the creation of many unused tuples within time.
230
+
This is particularly important when schemas are changed or created frequently, as it can lead to the creation of many unused tuples over time.
Copy file name to clipboardExpand all lines: docs/getting-started/enforcement.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,13 +54,13 @@ However, since it communicates using standard protocols like gRPC and HTTP, it i
54
54
55
55
You can secure APIs with our authentication methods; **Open ID Connect** or **Pre Shared Keys**. They can be configurable with flags or using configuration yaml file. See more details how to enable authentication from [Configuration Options](../../setting-up/configuration)
56
56
57
-
To access the endpoints after enabling authentication, it's necessary to provide a Bearer Token for identification. If your using golang or nodeJs client library, an authentication token can be provided via interceptors. You can find details in the clients' documentation.
57
+
To access the endpoints after enabling authentication, it's necessary to provide a Bearer Token for identification. If you're using the Golang or Node.js client library, an authentication token can be provided via interceptors. You can find details in the clients' documentation.
58
58
59
59
## Latency & Performance
60
60
61
61
With the right architecture we expect **7-12 ms** latency. Depending on your load, cache usage and architecture you can get up to **30ms**.
62
62
63
-
Permify implements several cache mechanisms in order to achieve low latency in scaled distributed systems. See more on the section [Cache Mechanisims](../../operations/cache)
63
+
Permify implements several cache mechanisms in order to achieve low latency in scaled distributed systems. See more on the section [Cache Mechanisms](../../operations/cache)
64
64
65
65
## Availability of the Service
66
66
@@ -87,6 +87,6 @@ These credits are your sole remedy for any availability failures under our SLA.
87
87
88
88
Default rate limit is set to 100 requests per second. However, users can adjust this based on their specific needs following our [documentation](https://docs.permify.co/docs/reference/configuration). We used [Token bucket](https://en.wikipedia.org/wiki/Token_bucket) algorithm for rate limiting.
89
89
90
-
## Need any help?
90
+
## Need any help?
91
91
92
92
Our team is happy to help you get started with Permify. If you'd like to learn more about using Permify in your app or have any questions about this example, [schedule a consultation call with one of our account executives](https://www.permify.co/book-demo).
Copy file name to clipboardExpand all lines: docs/getting-started/examples/facebook-groups.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -533,8 +533,8 @@ The validation result according to our example schema validation file:
533
533
534
534

535
535
536
-
## Need any help?
536
+
## Need any help?
537
537
538
-
This is the end of demonstration of the authorization structure for Facebook groups. To install and implement this see the [Set Up Permify](../../installation.md) section.
538
+
This concludes the demonstration of the authorization structure for Facebook groups. To install and implement this see the [Set Up Permify](../../installation.md) section.
539
539
540
-
If you need any kind of help, our team is happy to help you get started with Permify. If you'd like to learn more about using Permify in your app or have any questions about it, [schedule a consultation call with one of our account executives](https://www.permify.co/book-demo).
540
+
If you need any kind of help, our team is happy to help you get started with Permify. If you'd like to learn more about using Permify in your app or have any questions about it, [schedule a consultation call with one of our account executives](https://www.permify.co/book-demo).
Copy file name to clipboardExpand all lines: docs/getting-started/examples/google-docs.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,7 @@ entity document {
45
45
entity user {}
46
46
```
47
47
48
-
Represents a user who can be granted permission to access a documents directly, or through their membership in a group or organization.
48
+
Represents a user who can be granted permission to access documents directly, or through their membership in a group or organization.
49
49
50
50
### Document
51
51
@@ -190,7 +190,7 @@ Finally, let's check some permissions and test our authorization logic.
190
190
}
191
191
```
192
192
193
-
According what we have defined for the edit action managers and admins, of the organization that document belongs, can edit product database. In this context, Permify engine will check does subject `user:ashley` has any direct or indirect manager relation within `document:product_database`. Consecutively it will check does`user:ashley` has admin relation in the Acme Org - `organization:acme#document@document:product_database`.
193
+
According to what we have defined for the edit action, managers and admins of the organization that the document belongs to can edit the product database. In this context, Permify engine will check whether the subject `user:ashley` has any direct or indirect manager relation within `document:product_database`. Consecutively it will check whether`user:ashley` has admin relation in the Acme Org - `organization:acme#document@document:product_database`.
194
194
195
195
Ashley doesn't have any administrative relation in Acme Org but she is the manager in group tech (`group:tech#manager@user:ashley`) and we have defined that manager of group tech is manager of product_database with the tuple (`document:product_database#manager@group:tech#manager`). Therefore, the **user:ashley edit document:product_database** check request should yield **true** response.
196
196
</Accordion>
@@ -208,7 +208,7 @@ entity document {
208
208
}
209
209
```
210
210
211
-
According what we have defined for the view action viewers or managers or org.admin's can view hr documents. In this context, Permify engine will check whether subject `user:joe` has any direct or indirect manager or viewer relation within `document:hr_documents`. Also consecutively it will check does`user:joe` has admin relation in the Acme Org - `organization:acme#document@document:hr_documents`.
211
+
According to what we have defined for the view action, viewers, managers, or org.admin's can view HR documents. In this context, Permify engine will check whether subject `user:joe` has any direct or indirect manager or viewer relation within `document:hr_documents`. Also consecutively it will check whether`user:joe` has admin relation in the Acme Org - `organization:acme#document@document:hr_documents`.
212
212
213
213
Joe doesn't have administrative role/relation in Acme Org.
214
214
@@ -230,7 +230,7 @@ entity document {
230
230
}
231
231
```
232
232
233
-
According what we have defined for the view action viewers or managers or org.admin's can view hr documents. In this context, Permify engine will check does subject `user:david` has any direct or indirect manager or viewer relation within `document:marketing_materials`. Also consecutively it will check does`user:david` has admin relation in the Acme Org - `organization:acme#document@document:marketing_materials`.
233
+
According to what we have defined for the view action, viewers, managers, or org.admin's can view HR documents. In this context, Permify engine will check whether subject `user:david` has any direct or indirect manager or viewer relation within `document:marketing_materials`. Also consecutively it will check whether`user:david` has admin relation in the Acme Org - `organization:acme#document@document:marketing_materials`.
234
234
235
235
Similar Joe and Ashley, David also doesn't have administrative role/relation in Acme Org.
This is the end of demonstration of the authorization structure for Facebook groups. To install and implement this see the [Set Up Permify](../../installation.md) section.
328
+
This is the end of the demonstration of the authorization structure for Instagram. To install and implement this see the [Set Up Permify](../../installation.md) section.
Copy file name to clipboardExpand all lines: docs/getting-started/examples/mercury.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ But today we’re going to focus on approvals. Mercury allows it’s users to se
10
10
11
11
For instance, an admin can decide that withdrawals above $1000 by members require approval from two designated approvers.
12
12
13
-
This means, if a member wants to withdraw more than $1000, they need a green light from two admin. And if an admin tries to withdraw they need an approval form another admin.
13
+
This means, if a member wants to withdraw more than $1000, they need a green light from two admins. And if an admin tries to withdraw they need approval from another admin.
14
14
15
15
- Admin → Withdraw $1000 → needs an approver
16
16
- Member → Withdraw $1000 → needs 2 approvers.
@@ -156,6 +156,6 @@ At last, as you can see we use the Rules to define access rights to withdraw whi
156
156
- Check if user is admin, and have approval more than the approval limit for admins.
157
157
- Check if user is member, and have approval more than the approval limit for members.
158
158
159
-
## Need any help?
159
+
## Need any help?
160
160
161
-
This is the end of demonstration of the authorization structure for Facebook groups. To install and implement this see the [Set Up Permify](../../installation.md) section.
161
+
This is the end of the demonstration of the authorization structure for Mercury. To install and implement this see the [Set Up Permify](../../installation.md) section.
Copy file name to clipboardExpand all lines: docs/getting-started/examples/notion.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -536,8 +536,8 @@ The validation result according to our example schema validation file:
536
536
537
537

538
538
539
-
## Need any help?
539
+
## Need any help?
540
540
541
-
This is the end of demonstration of the authorization structure for Facebook groups. To install and implement this see the [Set Up Permify](../../installation.md) section.
541
+
This is the end of the demonstration of the authorization structure for Notion. To install and implement this see the [Set Up Permify](../../installation.md) section.
542
542
543
543
If you need any kind of help, our team is happy to help you get started with Permify. If you'd like to learn more about using Permify in your app or have any questions about it, [schedule a consultation call with one of our account executives](https://www.permify.co/book-demo).
0 commit comments