Live in EdushadeAccess Control

Access Control Software for,Modern Learning Platforms

Edushade ships a real Access Control engine, not a single password field. Every course, learning path, cohort, event, bundle, section, lesson, assignment, quiz and file can carry one access rule with nested AND/OR filters across 69 user attributes — profile, location, verification, type, OAuth, activity, enrollment, completion, learning progress, quiz, purchase, engagement and device. Combine that with course-level gates (enrollment open/closed, password, max enrollments, status), enrollment-status gating and the audit trail, and you get an access surface that scales from a public freebie to an invite-only cohort without a code change.

Quick Tour·Access Control

Access Control Software for Secure LMS User Management

Access Control in Edushade runs on a JSONB-backed access_rules table — one rule per entity, nested AND/OR groups, evaluated against the condition builder catalogue every other targeting feature uses. Course-level gates handle the simple cases (enrollment open / closed, course password, max seats, status). Enrollment status and drip rules handle the time and progression dimension. Everything is auditable, every change is fail-open, every record is tenant-scoped.

Per-Entity Access Rules

One access rule per entity, with a JSONB filter shape that supports nested AND/OR groups, an enabled toggle and an optional human description.

Nine Targetable Entity Types

Course, learning path, cohort, event and bundle at the program level — plus section, lesson, assignment, quiz and file at the curriculum-item level.

69 User Attributes, 13 Categories

Profile, Location, Verification, User Type, OAuth, Activity, Enrollment, Completion, Learning Progress, Quiz, Purchase, Engagement and Device — every dimension you need to target.

Course-Level Gates

Each course also carries enrollment_open, password_protected + password, max_enrollments and status (draft / published / archived / private) for the simpler cases that do not need a rule.

Audience Preview Before You Save

Preview a rule against the live user base — total users, estimated audience size and sample users — so you know exactly who lands inside and who falls outside before you ship the rule.

Auditable and Fail-Open

Every save, delete, enable and disable fires an audit event. If the rule evaluator hits an error, the platform fails open — log a warning, grant access — so a buggy rule never accidentally locks your real audience out.

Build Flexible Access Control Rules With Role-Based Permissions

Access rules are stored as a JSONB filters tree. The frontend renders them with a condition builder that pulls from the platform-wide field catalogue: 69 user attributes across 13 categories, with the right operator set per data type — eq / neq / contains / starts_with / ends_with / regex / in / not_in for strings, gt / gte / lt / lte / between / not_between for numbers, before / after / on / between / in_last / in_next for datetimes, geo_within_radius / within_polygon / outside_polygon for location, event_count_in_window / occurred_in_last for behaviour, plus array, boolean, enum and uuid types. AND/OR groups can nest, and time units span minutes through years.

  • 13 attribute categories: profile, location, verification, type, OAuth, activity, enrollment, completion, learning, quiz, purchase, engagement, device

  • 9 field types: string, number, boolean, enum, datetime, array, geo, event, uuid

  • Operator richness: regex on strings, geo radius/polygon, event count-in-window

  • Nested AND/OR groups with no depth limit

Dashboard

Course-Level Access Gates for Simple Permission Management

Not every program needs a custom rule. Each course carries four direct flags that cover the most common access decisions — flip enrollment_open off to close enrollments without un-publishing, set password_protected and the access password for share-link control, configure max_enrollments to cap a paid cohort, and pick a status (draft, published, archived or private) to control public visibility. Cohorts inherit the same shape with their own start, end and seat caps.

  • enrollment_open toggle — open / closed without unpublishing

  • password_protected + password — gate access on a shared secret

  • max_enrollments cap with a live remaining_seats counter

  • Status: draft, published, archived, private (invitation-only)

Dashboard

Manage Enrollment Status, Expiry Rules, and Time-Based User Access

Access tracks the lifecycle of every enrollment — active, completed, cancelled, expired or suspended — and the platform respects each state when serving content. Time-limited access uses an expiry_date on the enrollment, with allow_extensions to grant or deny stretch requests. Drip rules layer on top: per-item unlock and lock modes (fixed date, enrollment offset, completion-based, manual, duration-after-unlock) so the same access rule can release content slowly even after a learner is in. Anonymous visitors only see entities without an enabled access rule — so a private course is genuinely private.

  • Five enrollment statuses gate content visibility automatically

  • Time-limited access with expiry_date and allow_extensions

  • Drip lock/unlock layered on top: 5 unlock + 4 lock modes per item

  • Anonymous users only see entities without an enabled access rule

Dashboard

Preview, Enable, Disable, and Audit Access Permissions With Confidence

Before saving an access rule, the preview endpoint runs the filter against the live user base and returns total users matched, estimated audience size and a sample of matched users — so you ship with eyes open. The enabled flag toggles a rule on or off without losing the config; the description field captures why the rule exists for the next admin who reads it; soft delete keeps the history intact when a rule is retired. Every save, delete, enable and disable lands as an audit event with the actor, the entity and the timestamp.

  • Preview API: total users, estimated audience size, sample users

  • Enable / disable toggle without losing the rule's filter config

  • Description field on every rule, plus full audit on save / delete / toggle

  • Permissions: access_rule.view to read, access_rule.manage to change

Dashboard

Move From Open Enrollment to Secure Admin Access Control in Three Steps

Most programs only need the basic gates. The fine-grained Access Control engine is there when you need it — and it lives on the same admin shell as the rest of the platform, so the workflow is identical wherever you scope it.

1Step
Course access settings panel with enrollment toggle, password field, max enrollments and status selector

Set the basic gates

Open the program in admin. Toggle enrollment_open. Add a course password if you want a shared secret. Set max_enrollments for a hard seat cap. Pick a status — draft to hide, private to keep it invitation-only, published to make it discoverable.

2Step
Access rule builder with field picker, operator selector and nested AND/OR groups

Build a fine-grained access rule

Open the Access Rule tab on the entity. Pick attributes from the catalogue (Country = India, Last Login in last 30 days, Completed Course X). Combine groups with AND/OR. Add a description so the next admin knows why.

3Step
Audience preview panel with user count, sample list and an Enable toggle

Preview, enable, ship

Run Preview — the platform shows total users, estimated audience and sample matches. Toggle Enabled on. Save. The rule lands on the access_rules table, the audit log records the change, and the next access check applies it immediately.

Access Control FAQ - Access Control Software Solutions

How access rules, course-level gates, enrollment status and the audit trail come together inside Edushade.

Can't find what you're looking for?

Contact Sales

Three layers wired together. Course-level gates (enrollment_open, password_protected, max_enrollments, status) handle the common cases. Per-entity access rules — one row on the access_rules table per entity, with a JSONB filters tree — handle the fine-grained ones. Enrollment status and drip rules handle the time and progression dimension. Together they cover everything from a public freebie to a private invite-only cohort without a code change.

Start Building Learning Your Way - Access Control Software Solutions

Set up courses, programs, and learning experiences without forcing your process into rigid software. A connected system for students, educators, and administrators.

Build Your Academy