Skip to content
← All documentation

Dashier docs

Roles, permissions, and access control

Assign team roles and source-level access without confusing keys with people.

Permissions answer two different questions: which signed-in teammates may operate in the dashboard, and which callers may use a generated API route? Model both before inviting a large group or exposing an endpoint.

System and custom roles

Dashier includes the system roles Owner, Admin, Editor, and Viewer, plus custom roles with explicit grants. The system roles have a hierarchy in the current implementation: Owner and Admin have management-level access, Editors can work with records, and Viewers are read-only. Custom roles are evaluated against grants such as {source-slug}.read, {source-slug}.create, {source-slug}.update, and {source-slug}.delete.

Assign the narrowest role that lets someone do their work. A person who only reviews records does not need deletion rights. Review access again when a teammate changes responsibilities or leaves the organization.

Project and source boundaries

Organizations contain projects, which contain data sources. Membership and project/source scopes limit where a teammate can work. Keep production-facing sources separate from unrelated test or internal records when different people need different access.

API policy is separate

For each generated route and HTTP method, select Public, Authenticated, or Role access as appropriate. An API key’s scope (read, write, admin) is not a teammate’s dashboard role. A Public endpoint can be reached without credentials, so use it only for intended public data; do not assume that a key is required simply because the source belongs to a project.

Test access decisions

Create a small matrix before rollout: role, source, operation, expected result. Include positive and negative cases—for example, a Viewer can list records but cannot update them; a custom role with members.read may read Members but should not write; an unauthenticated request to an Authenticated route should be rejected. Test both dashboard and API paths. For key management, keep raw keys out of source control and revoke keys no longer needed.