Explain every decision
Every allow or deny response carries actor, resource, candidate permission, scope check, and audit metadata.
Plystra separates login accounts from the actors that operate inside a tenant, evaluates scoped resource permissions, and writes the decision trace your team can inspect later.
actor.user_id user_alice actor.member_id member_finance_reviewer resource.type invoice resource.id invoice_001 action approve
The v1.0 core keeps the permission model explicit: resource registry, scope resolver, role grants, active bindings, and append-only audit logs are first-class pieces of the same system.
Every allow or deny response carries actor, resource, candidate permission, scope check, and audit metadata.
Self, group, group_tree, and space scopes are explicit. Global scope is reserved and disabled in v1.0.
Register resource types, actions, mappings, risk levels, and audit defaults as governed metadata.
Core management APIs require an admin token. Data Console and metrics are closed unless enabled.
Your application stays the system of record for business data. Plystra stores the authorization graph, resource mirror, and audit trace needed to make the decision inspectable.
POST /api/v1/authz/check
{
"actor": {
"user_id": "user_alice",
"member_id": "member_finance_reviewer",
"user_member_id": "um_alice_finance_reviewer",
"space_id": "space_acme"
},
"resource_type": "invoice",
"resource_id": "invoice_001",
"action": "approve"
}
=> decision: allow
=> audit: append-only trace