Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
constructive-io avatar

Constructive Access Control

  • 2 installs
  • Updated August 4, 2026
  • constructive-io/constructive-skills

Access control with roles, permissions, profiles, grants, and entity-scoped authorization.

About

Constructive Access Control The access control model shows how users get permissions, how roles and profiles organize them.. Covers the semantic layer: what access means in a Constructive app.

  • Defining what permissions users should have in an app
  • Creating custom roles via profiles (Editor, Viewer, Manager, etc.)

Constructive Access Control by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #1,788 of 2,203 Security skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/constructive-io/constructive-skills --skill constructive-access-control

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
Last updatedAugust 4, 2026
Repositoryconstructive-io/constructive-skills

What it does

Access control with roles, permissions, profiles, grants, and entity-scoped authorization.

Files

SKILL.mdMarkdownGitHub ↗

Constructive Access Control

The access control model — how users get permissions, how roles and profiles organize them, and how access composes across scopes. This skill covers the semantic layer: what access means in a Constructive app, how to configure it via blueprints and the ORM, and how the different layers (roles, profiles, grants, defaults) compose into effective permissions.

When to Apply

Use this skill when:

  • Defining what permissions users should have in an app
  • Creating custom roles via profiles (Editor, Viewer, Manager, etc.)
  • Configuring which permissions new members receive automatically
  • Understanding how admin/owner/member roles differ
  • Granting or revoking permissions for individual members
  • Setting up entity-scoped access (app vs org vs custom entity)
  • Assigning profiles to memberships via invites or direct assignment
  • Understanding effective permission resolution (grants + profiles)

Relationship to Other Skills

SkillFocusThis skill covers
`constructive-security`Enforcement — Authz* policies, RLS, how access is enforced at the database levelModel — what access exists, who gets it, how it composes
`constructive-entities`Structure — entity types, multi-tenancy, provisioningAccess within structure — how permissions scope to entities
`constructive-auth`Identity — login, sessions, MFA, devicesAuthorization — what authenticated users can do

Access Control Layers

A Constructive app has four composable access layers:

┌─────────────────────────────────────────────┐
│  1. Role (admin / owner / member)           │  ← built-in, highest precedence
├─────────────────────────────────────────────┤
│  2. Profile (named permission bundle)       │  ← reusable role definitions
├─────────────────────────────────────────────┤
│  3. Direct Grants (per-member overrides)    │  ← individual adjustments
├─────────────────────────────────────────────┤
│  4. Permission Defaults (module-level base) │  ← automatic on join
└─────────────────────────────────────────────┘

Effective permissions = Role bypass OR (Profile permissions ∪ Direct grants ∪ Defaults)

Quick Reference

Enabling Access Control in Blueprints

{
  "entity_types": [
    {
      "name": "Organization",
      "prefix": "org",
      "hasProfiles": true
    }
  ]
}

Every entity type automatically gets a permissions_module and memberships_module. Setting hasProfiles: true additionally provisions the profiles system for that scope.

ORM Tables by Scope

ScopePermissionsGrantsProfilesMembershipsDefaults
AppappPermissionappGrantappProfileappMembershipappPermissionDefault
OrgorgPermissionorgGrantorgProfileorgMembershiporgPermissionDefault
Custom{prefix}Permission{prefix}Grant{prefix}Profile{prefix}Membership{prefix}PermissionDefault

References

FileContent
admin-owner-member.mdAdmin, owner, and member role semantics — grant tables, promotion/demotion, audit trail
roles-hierarchy.mdOrg hierarchy — chart edges, closure table traversal, AuthzOrgHierarchy policy, direction/depth
named-permissions.mdNamed permission slots, module registration, discovering available permissions
profiles.mdProfile definitions, permission bundles, default profiles, system profiles
permission-defaults.mdAutomatic permissions for new members, module defaults, overriding
entity-scoped-access.mdApp vs org vs custom entity scope, permission isolation, cross-scope patterns
grants-lifecycle.mdGranting/revoking permissions, effective permission computation, audit trail
membership-access.mdMembership creation, invite-time assignment, state transitions, approval

Cross-References

  • Enforcement details: `constructive-security` — how permissions translate into RLS policies
  • Entity provisioning: `constructive-entities` — creating entity types that carry permissions
  • Invite system: `constructive-entities` → invites.md — profile assignment on invite
  • Read-only access: `constructive-security` → read-only-access.mdisReadOnly membership field and read-only API keys
  • Billing/limits: `constructive-billing` — quota enforcement (separate from permission enforcement)

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.