Introduction
Relationship-based authorization for TypeScript, powered by OpenFGA.
Peretyn answers one question for your application: is this allowed?
You describe who can do what as relationships between things. Alice is a member of the design team. The design team can view the specs folder. The roadmap document is in the specs folder. From those facts, Peretyn decides that Alice can view the roadmap.
This model is called relationship-based access control (ReBAC). It is the model behind Google Zanzibar, and Peretyn runs it on OpenFGA.
What Peretyn adds
- Schemas in TypeScript. You write your authorization rules with
defineSchema. The SDK then checks every type and relation name at compile time. - Environments. Each project has a
productionand adevelopmentenvironment, each with its own data and API key. - A CLI.
peretyn buildcompiles your schema, andperetyn applypublishes it to an environment. - A dashboard. You manage projects and keys, browse tuples, and see why a check was allowed or denied.