Documentation
FAQ
Short answers to the questions most likely to confuse first-time Accessly users.
Does Accessly replace backend authorization?
No. Accessly is frontend access control. Authorize sensitive operations on the backend.
Do I pass all users to PermissionProvider?
No. Pass the current authenticated user's AccessModel only.
Does ProtectedRoute redirect automatically?
No. ProtectedRoute renders children, loading, or fallback. Put router-specific redirects in your fallback if your app needs them.
Are feature flags wildcard matched?
No. Feature flag checks are exact-match only.
Can I check permissions in Server Components or middleware?
Yes, from accessly/core. The root accessly entry is a client module because it includes React context. accessly/core exports checkPermission, createAccessChecker, matchPermission, the adapters, filterNavigation and the debug helpers without React.
Can I check permissions in Server Components or middleware?
import { checkPermission } from "accessly/core";
const decision = checkPermission(access, { permission: "billing.manage" });
if (!decision.allowed) redirect("/403");