Appstrate
[Developer Platform]

Permissions your security team will read without flinching.

78 typed permissions, role matrix, API key allowlist. Extend it in the same PR as your feature.

[01 · Why it matters]

Role names in a dropdown aren't a permission model.

Many platforms ship three roles (admin/member/viewer) and call it done. Security teams see through it in one scan.

Appstrate has a typed permission model: 78 distinct capabilities, explicit role-to-permission matrix, and an API key allowlist separate from user permissions.


[02 · How it works]

Every route declares what it requires.

requirePermission("resource", "action") is a compile-time check. Adding a permission is a type error until you update the matrix.

In practice

Every piece of Appstrate is a declared, versioned artifact — the agent, its tools, its skills, its provider connections. You describe them once; the platform handles packaging, dependencies, isolation, and execution.

Each section below goes deeper on what that means for permissions your security team will read without flinching.

View the full example in the docs →

[03 · Deep dive]

What makes it work.

🎯

78 typed permissions

Resource × action. Compile-time checked.

👥

Role matrix

Owner / Admin / Member. Customizable on Enterprise.

🔑

API key allowlist

Orthogonal to user permissions. Keys have explicit scopes.

📜

Audit-ready

Every permission check logs user, resource, action, result.


A permission model your CISO will sign off on.

Read /docs/security/rbac. Export the matrix as CSV for your audit.