Oso's Blog

Articles about authorization, and other news from Oso's engineering team

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

Tour of Polar - an authorization point-and-click exploration

Discover "A Tour of Polar," Oso’s interactive, point-and-click guide to building authorization policies. Learn RBAC, ReBAC, and ABAC with editable policies and real-time authorization decisions in a fun, hands-on experience.

April 29, 2025 — Rob Spectre
Product

More Concise Policy Tests with “iff” and wildcards

Learn how to simplify and scale your authorization tests in Oso Cloud using assert variables and the iff operator. Write fewer test cases, validate multiple permissions at once, and ensure your access control policies stay correct as they grow.

April 21, 2025 — Greg Sarjeant
Product

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

Oso Sync is now GA!

Oso Sync ensures your authorization data stays consistent between your app and Oso Cloud by detecting and fixing data drift caused by issues like latency or manual changes. It supports PostgreSQL, MongoDB, and CSVs for other databases, offering both reporting and automatic updates.

April 10, 2025 — Mike Cen
Product

How Sensat Built Fine-Grained Access Control with Oso – No API Code Required!

Discover how Sensat transformed its authorization system with Oso! Learn how they built fine-grained access control, implemented permission inheritance, and eliminated API code changes—all while streamlining development. Read more!

April 3, 2025 — Hazal Mestci
Customers & Ecosystem

Building an Authorized RAG Chatbot with Oso Cloud

Use Oso Cloud, OpenAI, and Supabase to build a permissions-aware RAG chatbot, so users only see context from documents they have permission to view.

March 14, 2025 — Greg Sarjeant
Product

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

Duolingo’s Experience Migrating to Oso for Access Control

Duolingo migrated to Oso to simplify authorization and improve developer productivity. Previously, permission changes took hours or even days—now, they take minutes. In this interview, Tom Whittaker, Senior Engineering Manager at Duolingo, shares how Oso helped them focus on core business features instead of workarounds. Watch the full story and explore real-world authorization insights from top engineering teams.

March 10, 2025 — Hazal Mestci
Customers & Ecosystem

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

Feature or Product?: Vector Databases

Accordingly, vector databases were positioned to be the next it category of data storage—following previous waves that targeted search (e.g. Elastic), unstructured data (e.g. MongoDB), and analytical data (e.g. ClickHouse). Today, however, it’s unclear if vector databases will remain a standalone category. A vector database is more of a conduit for language models—the models do the heavy-lifting, handling vectorizations (i.e. creating embeddings) and re-ranking. Accordingly, the database depends on these models to carry-out vector search. This raises the question: are vector databases actually an independent category, or is vector search just a need-to-have feature of today’s databases? 

February 25, 2025 — Graham Neray
Customers & Ecosystem

Building a Team That's Never Sink-ing

Oso’s team offsite at Hemlock Neversink was all about bonding, strategy, and fun—goat hikes, team workshops, and even casino lessons in access control. We returned recharged, motivated, and stronger than ever. Want to join us next time? We’re hiring!

February 24, 2025 — Hazal Mestci
Internals

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

The Hidden Complexity of CRM Authorization

Find out the hidden complexities of CRM authorization and learn how to do recursive authorization with Oso

February 3, 2025 — Sean Loiselle
Product

Use Oso to Help Your Customers Share Anything: Documents, Drawings, Data

Master resource-specific roles with Oso. Learn scalable permissions like Google Docs, GitHub, and Figma using Polar examples for flexible authorization.

January 24, 2025 — Sean Loiselle
Product

Oso Bear of the Month - Evan Ziebart

Evan Ziebart, Software Engineer at Duolingo, takes us through their journey from a home-grown solution to moving to Oso and hugely simplifying their process for managing user permissions.

January 16, 2025 — Stephie Glaser
Customers & Ecosystem

Implementing Fine-Grained Access Control in EMR Systems with Oso

How Oso provides EMR apps with the flexibility they need

January 13, 2025 — Sean Loiselle
Product

Local Authorization Enhancements: What’s New and Why It Matters

The updates to Oso’s Local Authorization in the V2 SDKs make it easier to build flexible authorization workflows.

November 27, 2024 — Jordan Killpack
Product

Fallback Is Now GA

Fallback ensures your app remains up and operational, even in the case of an unexpected Oso Cloud outage.

November 19, 2024 — Shaun Verch
Product

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

Google Zanzibar Isn't Flexible

ReBAC - especially Google Zanzibar's implementation of it - is the wrong abstraction for authorization.

November 1, 2024 — Greg Sarjeant
Customers & Ecosystem

Announcing our new Python Client

Simplified fact management and powerful query builder API's - and much more!

October 21, 2024 — Hazal Mestci
Product

Announcing our new Go Client

Simplified fact management and powerful query builder API's - and much more!

October 16, 2024 — Hazal Mestci
Product

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

Get updates on Oso.

We won't spam you. Ever.