--- title: "05. Advanced/User-Defined Permission Management" slug: "05-advanceduser-defined-permission-management-1" updated: 2026-08-27T20:20:00Z published: 2026-09-23T12:59:57Z canonical: "wiki.cobblestonesoftware.com/05-advanceduser-defined-permission-management-1" --- > ## Documentation Index > Fetch the complete documentation index at: https://wiki.cobblestonesoftware.com/llms.txt > Use this file to discover all available pages before exploring further. # 05. Advanced/User-Defined Permission Management **COBBLESTONE SOFTWARE** Contract Insight — User Guide **05. Advanced/User-Defined Permission Management** *03. Admin User Manual › Employee/User Permissions › 05. Advanced/User-Defined Permission Management* **Note:** Each procedure in this guide begins at the Contract Insight homepage, so any section can be followed on its own. Custom fields are configurable, so the exact field list on a contract category record may vary between environments. # 1. Overview Beyond simply granting a permission, **Manage User Permissions** (Administration > **Manage User Permissions**) supports a full **rules**-and-conditions builder for scoping any permission to a subset of its area's records. Opening a permission's **Rules** tab shows a **Match ALL**/ANY-of-the-following **condition** list, where each **condition** picks a field, an operator (e.g. "is equal to"), and a value — including the special value "**The person signed in**" or an **@EmpID** placeholder for **rules** that should always resolve to whoever is currently logged in. The builder live-generates the equivalent SQL WHERE clause (labeled "**Stored condition**") and offers a "**Count matching records**" button to check how many records the rule currently resolves to before saving. # 2. Key Elements - Each permission in **Manage User Permissions** lists a **Rules** column showing whether it is scoped ("Limited by **rules**") or applies to every record in its area ("—"). - Opening a permission and switching to its **Rules** tab shows a "**Match ALL** / ANY of the following" **condition** builder, with "+ **Condition**" and "+ **Group**" controls for adding more rows or nested groups of conditions. - Each **condition** row picks a field on the area (e.g. Contract Details — Entered By), a comparison operator (is equal to, and others), and a value; a value can be a literal, or the special "**The person signed in**" value, or an **@EmpID** placeholder to always mean whoever is currently signed in. - The builder shows a live "**Stored condition**" line with the generated SQL WHERE clause (e.g. where (tblContracts.EnteredBy = 17887)) so the exact filter being applied is visible before saving. - A "**Count matching records**" button runs the current rule against live data and reports how many records it resolves to, letting an administrator verify scope before saving; "**Save rules**" commits the change. # 3. Quick Reference Summary [TODO: content needed]