Permissões sem
os if-statements.
Papéis, escopos, condições, atributos — tipados de ponta a ponta e avaliados no edge em menos de 2 ms. Uma única chamada can() substitui o espaguete.
// resources, actions, conditions — typed end-to-end policy "projects.deploy" { resource = Project action = "deploy" allow if user.role in ["owner", "admin", "developer"] allow if resource.team in user.teams allow if user.attrs.level >= 4 deny if resource.archived == true deny if request.geo in org.blocked_geos deny if mfa.age > "5m" && resource.tier == "prod" }
Papéis te levam a 80% do caminho. O Authaz cuida do resto.
RBAC puro quebra no minuto em que seu cliente pede 'admins, mas só para o time deles'. O Authaz deixa você expressar isso — e mais cem variações — sem reconstruir sua autorização.
Papéis, escopos, atributos.
Comece com papéis. Adicione escopos (team, region, resource). Adicione atributos (level, FTE, tipo de contrato). Componha tudo; a gente avalia.
Uma chamada can.enforce().
Avaliado no edge, em menos de 2 ms. Combina RBAC + ABAC + escopos de recurso contra suas políticas tipadas. Retorna allow / deny com a regra que casou.
Decisão + trilha de auditoria.
allow / deny tipado dentro do seu código. Cada decisão vai por stream pro seu SIEM com os inputs, a política que casou e o veredito — replay-able.
Papéis que você enxerga de relance.
Todo projeto começa aqui: uma grade papel × ação que mostra exatamente quem pode fazer o quê. Faça override por tenant na mesma UI.
Tudo que um modelo de autorização toca.
Um escopo é mais do que um tenant id.
Tenant, team, role, atributos, resource. O Authaz costura os cinco em cada decisão — assim suas políticas podem ramificar no que o comprador se importa: geo, tipo de contrato, idade do MFA, qualquer coisa.
- preso à sessão · à prova de forja
- ABAC + RBAC, componíveis
- adicione um escopo sem migration
Políticas que se leem como inglês.
Defina regras na nossa linguagem de política — ou em TypeScript ao lado do seu app. As duas compilam para o mesmo engine. As duas são revisáveis por diff.
- versionado · diffável · com rollback
- TypeScript ou DSL, você escolhe
- simulador roda cada branch em dados reais
Cada decisão, rastreada e auditável.
Cada can() emite um evento de auditoria com os inputs, a política que casou e o veredito. Faça stream pro Datadog, S3 ou seu SIEM.
- allow / deny / partial
- p99 abaixo de 2ms
- replay a partir do log de auditoria
Uma chamada. Mesmo formato, em todo endpoint.
A letra miúda, na frente.
p50 0.7ms · p99 1.4ms · edge globalUma plataforma. Toda primitiva.
Todo produto Authaz compartilha as mesmas primitivas — sessões, políticas, auditoria, tenants. Escolha o que precisa hoje; adicione o resto quando precisar.
Gestão de Usuários
Ciclo de vida de perfil, sessões e controles de conta em um só lugar.
Acesso Admin e Dashboard
Autenticação que funciona para back-office e ferramentas internas.
Organizações Multi-tenant
Modele organizações, membros e limites de tenant de forma limpa.
Pare de ramificar em user.role.
Papéis, escopos, atributos — uma chamada, decisões em menos de 2 ms, auditadas toda vez.