Use Cases
Who uses Oso, and how
Hear from our customers
“Arc is a banking platform, so getting authorization right is critical. We knew our requirements could get complex – we’ve already got 40 permissions across 9 roles – and we wanted to lean on the experts.”
CTO, Arc
“Oso is excellent and well worth taking a look at. The rollout at Intercom has been very slick."
Engineer, Intercom
Common Use Cases
Model
Multi-tenancy
Take the first step – separate users by organization to keep their data separate from each other. Get the multi-tenancy policy.
Roles (RBAC)
Group permissions by feature, project, or whatever criteria make sense for your app. Read the RBAC guide.
Files & folders
Configure access at the resource level. E.g., Mark a specific file as private so no one can read it except admins. Get the files & folders policy.
Ownership & sharing
Let users access and modify any resource that they created, and share resources with others. Get the ownership & sharing policies.
Custom roles
Let your users create their own roles based on their requirements. Get the custom roles policy.
Entitlements
Gate access to features based the tier your customer has paid for. Get the entitlements policy.
Architecture
Microservices
Share roles across services, and use service-local attributes when you need to. Read the microservices guide.
GraphQL
Enforce coarse checks at the router down to fine-grained checks at the subgraph level. Read the guide on GraphQL.
Enforcement
UI authorization
Show or hide elements in your UI based on your users’ permissions. Learn about authorization in the UI.
List endpoints
Beyond just, "Can this user access this resource, yes or no?" ask, "What are all the things resources this user can access.” Read the data filtering guide.
Authorizing mutations
Control who can create, update, and delete resources. See an example.
Ask arbitrary questions
Sometimes you need ask arbitrary questions like, “Who are all the users that can write to this repo?” Read the Query guide.
Debugging
When you get an unexpected result, inspect the specific logic and data used to generate an authorization decision. Learn about debugging with Explain.
Logging
See logs of authorization decisions to confirm that your system is working as you expect it to. Try it in the sandbox.