10ms or Less: The New Standard for Enterprise Permission Control

Learn why sub-10ms authorization is the new gold standard for enterprise apps. Discover how Oso delivers lightning-fast, scalable permission checks without compromising on flexibility or control.

May 15, 2025 — Hazal Mestci
Best Practices

Demo: How to Handle Authorization in a Microservices Environment

Learn how Oso Cloud enables fine-grained access control in microservices using RBAC, ReBAC, ABAC, and Polar—our purpose-built policy language.

April 14, 2025 — Hazal Mestci
Best Practices

O’Reilly SuperStream: Retrieval-Augmented Generation in Production

Join our upcoming O’Reilly SuperStream: Retrieval-Augmented Generation (RAG) in Production.

March 12, 2025 — Hazal Mestci
Best Practices

How to build a secure LLM chatbot?

List filtering is the process of retrieving only the data a user is authorized to access, rather than fetching everything and filtering in-memory. In an LLM chatbot, this means ensuring users only see responses or documents they have permission for. Instead of checking authorization for each item one by one, which is slow at scale, Oso Cloud provides two efficient methods: centralized filtering, where the chatbot queries Oso Cloud for a list of authorized item IDs before retrieving them from the database, and local filtering, where Oso Cloud generates a database filter to apply directly in SQL, reducing unnecessary data transfers.

March 4, 2025 — Hazal Mestci
Best Practices

Hey Database, What am I Authorized to See?

List filtering is the process of retrieving only the data a user is authorized to access, rather than fetching everything and filtering in-memory. In an LLM chatbot, this means ensuring users only see responses or documents they have permission for. Instead of checking authorization for each item one by one, which is slow at scale, Oso Cloud provides two efficient methods: centralized filtering, where the chatbot queries Oso Cloud for a list of authorized item IDs before retrieving them from the database, and local filtering, where Oso Cloud generates a database filter to apply directly in SQL, reducing unnecessary data transfers.

February 20, 2025 — Hazal Mestci
Best Practices

Webinar: Fine-Grained Authorization in Python

We just led a webinar on Fine-Grained Authorization in Python, watch to learn more about whether it is the best approach to secure your application permissions.

February 6, 2025 — Hazal Mestci
Best Practices

Webinar: How Google Handles Authorization at Scale

We just led a webinar on How Google handles Authorization at scale, watch to learn more about whether it is the best approach to secure your application permissions

November 18, 2024 — Hazal Mestci
Best Practices

Is the TypeScript vs JavaScript war dumb or relevant?

A look into the pros and cons of using TypeScript versus JavaScript, plus some thoughts on why there is so much drama around them lately.

October 9, 2024 — Vijay Ramamurthy
Best Practices

Documentation So Good, You Can Take It to Prod

A new set of reference material to help users take Oso into prod

October 8, 2024 — Sean Loiselle
Best Practices

Authorizing LLM responses by filtering vector embeddings

Adding access control to LLM chatbot responses with Oso Cloud and Postgresql

April 30, 2024 — Shaun Verch
Best Practices

What is a good use case for Oso?

This post provides specifics on when to use Oso, and when not to.

March 13, 2024 — Graham Neray
Best Practices

The 10 Types of Authorization: The Families of RBAC, ReBAC and ABAC

The 10 types of authorization and how to identify them.

February 22, 2024 — Graham Neray
Best Practices

Best Practices for Authorization in Microservices

How do you reliably perform authorization in a backend built with microservices? There are lots of valid answers, but they tend to fall into three groups.

February 22, 2024 — Graham Neray
Best Practices

Authorization for the rest of us

Everyone’s talking about Zanzibar, and it’s easy to understand why. It handles authorization for Google, so surely it can handle it for you and me. But at what cost? And does that mean that it’s the right solution for the rest of us?

February 20, 2024 — Greg Sarjeant
Best Practices

Relationship-Based Access Control (ReBAC) in Node.js With Oso Cloud

Relationship-based access control (ReBAC) is an authorization pattern where permissions are derived from relationships between resources. In this blog post, you will learn how to implement ReBAC in Node.js with Oso Cloud

January 17, 2024 — Val Karpov
Best Practices

How to POC Authorization as a Service

A guide on how to POC authorization as a service products and a framework for running the evaluation process.

January 15, 2024 — Graham Neray
Best Practices

Policy Testing With Oso Cloud - Part 1: Local Testing

Introduction to Local Policy Testing with Oso Cloud

December 20, 2023 — Greg Sarjeant
Best Practices

Implementing Attribute-based Access Control (ABAC) in Node.js With Oso

In ABAC, access control decisions are made by evaluating various attributes and policies, allowing for more fine-grained and flexible access control than traditional models like role-based access control (RBAC)

October 24, 2023 — Valeri Karpov
Best Practices

Managing Authorization Data in Microservices

There are three key decisions in handling authorization data: storing the data, accessing the data, and modeling the data.

September 15, 2023 — Graham Neray
Best Practices

Nodejs RBAC: Why You Shouldn't Write RBAC in Node.js

Implement Role Based Access Control (RBAC) and Relationship Based Access Control (ReBAC) in Oso instead of Node.js

August 29, 2023 — Val Karpov
Best Practices

Why Authorization is Hard

There's a fundamental tension in authorization. Is it business logic or authorization logic? Should it be in the app, or separate? Let’s talk about what makes authorization hard, some of the approaches for solving it, and the associated tradeoffs.

February 1, 2023 — Sam Scott
Best Practices

What can authorization learn from Rails?

Despite the fact that authorization is a problem as old as software, it’s core to just about no one’s domain. So most people are looking for a Rails-like experience. So, an authorization system needs to be opinionated but flexible – opinionated to get you from zero to best practices quickly, but flexible to support all the things *your* app needs.

October 5, 2022 — Sam Scott
Best Practices

Writing My First Web App Using Oso Cloud

As Oso’s first developer experience engineer, Corey Ashby, walks through creating a functional sample application using Oso Cloud.

September 1, 2022 — Corey Ashby
Best Practices

Using Oso Cloud With Kubernetes Authorization Webhooks

how to use Kubernetes Authorization webhooks to defer authorization decisions to Oso Cloud, a fully-managed authorization service.

June 3, 2022 — Shaun Verch
Best Practices

GraphQL Authorization Patterns

An overview of different patterns for building authorization in GraphQL

February 1, 2022 — Patrick O'Doherty
Best Practices

Get updates on Oso.

We won't spam you. Ever.