PageSourceSearch

https://openfga.dev/assets/js/2578ab71.d341a53d.js

js openfga.dev collected 2026-09-24 17:41:12 UTC 3,972 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkopenfga_dev=globalThis.webpackChunkopenfga_dev||[]).push([[7668],{59526(e,s,t){t.r(s),t.d(s,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>l});const a=JSON.parse('{"id":"content/use-cases/overview","title":"OpenFGA Use Cases","description":"Production-ready OpenFGA patterns for AI agents, RAG, MCP servers, multi-tenant SaaS, and microservices authorization.","source":"@site/docs/content/use-cases/overview.mdx","sourceDirName":"content/use-cases","slug":"/use-cases","permalink":"/docs/use-cases","draft":false,"unlisted":false,"editUrl":"https://github.com/openfga/openfga.dev/edit/main/docs/content/use-cases/overview.mdx","tags":[],"version":"current","lastUpdatedAt":1789987177000,"sidebarPosition":1,"frontMatter":{"title":"OpenFGA Use Cases","description":"Production-ready OpenFGA patterns for AI agents, RAG, MCP servers, multi-tenant SaaS, and microservices authorization.","sidebar_position":1,"slug":"/use-cases"},"sidebar":"docs","previous":{"title":"Applicant Tracking","permalink":"/docs/industries/applicant-tracking-system"},"next":{"title":"AI Agent Authorization","permalink":"/docs/use-cases/ai-agent-authorization"}}');var n=t(74848),i=t(28453),r=t(20822);const o={title:"OpenFGA Use Cases",description:"Production-ready OpenFGA patterns for AI agents, RAG, MCP servers, multi-tenant SaaS, and microservices authorization.",sidebar_position:1,slug:"/use-cases"},c=" Use Cases",d={},l=[{value:"AI and agent authorization",id:"ai-and-agent-authorization",level:2},{value:"Application authorization",id:"application-authorization",level:2}];function h(e){const s={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsxs)(s.h1,{id:"-use-cases",children:[(0,n.jsx)(r.bU,{format:r.Ed.ShortForm})," Use Cases"]})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(r.bU,{format:r.Ed.ShortForm})," is a Zanzibar-style relationship engine. The patterns below are the ones that show up most often in production \u2014 each links to the modeling guide and, where available, an adopter reference that runs the pattern at scale."]}),"\n",(0,n.jsx)(s.h2,{id:"ai-and-agent-authorization",children:"AI and agent authorization"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/docs/use-cases/ai-agent-authorization",children:"AI agent authorization"})})," \u2014 modeling agents as principals, delegating user permissions, and bounding what an autonomous agent can do."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/docs/use-cases/rag-authorization",children:"RAG authorization"})})," \u2014 filtering retrieved documents by the user's permissions before they reach the model."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/docs/use-cases/mcp-server-authorization",children:"MCP server authorization"})})," \u2014 enforcing tool and resource access in a Model Context Protocol server."]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"application-authorization",children:"Application authorization"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/docs/use-cases/multi-tenant-saas",children:"Multi-tenant SaaS"})})," \u2014 one ",(0,n.jsx)(r.bU,{format:r.Ed.ShortForm})," store, many tenants, with strict isolation."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:(0,n.jsx)(s.a,{href:"/docs/use-cases/microservices-authorization",children:"Microservices authorization"})})," \u2014 a central authorization service that every microservice consults, instead of each service rolling its own roles table."]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.