frappe-core-permissions

Define and enforce a five-layer access control model in Frappe apps.

163|53|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package --skill frappe-core-permissions
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: frappe-core-permissions
Source: https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package/tree/main/skills/source/core/frappe-core-permissions
Command: npx skills add https://github.com/OpenAEC-Foundation/Frappe_Claude_Skill_Package --skill frappe-core-permissions

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Frappe/ERPNext permission configuration is complex and error-prone, often leading to data exposure or restricted workflows. This Skill codifies a deterministic, five-layer approach (roles, user permissions, perm levels, permission hooks, and data masking) to standardize and secure access control across v14–v16.

Core Features & Use Cases

  • Five-layer permission model: Role Permissions, User Permissions, Perm Levels, Permission Hooks, Data Masking, with field-level control and safe bypass patterns.
  • Comprehensive guidance on how to configure and audit permissions for common scenarios, including owner-based restrictions and sharing.
  • Practical API references and code examples to implement and enforce permission checks across DocTypes.

Quick Start

Follow the built-in examples to implement and test the five-layer permission model in your Frappe app.

Frequently Asked Questions about frappe-core-permissions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure Frappe permissions to secure access control across multiple DocTypes?▼

Frappe permissions are configured using a deterministic five-layer model covering roles, user permissions, perm levels, permission hooks, and data masking to standardize secure access control across multiple DocTypes.

What is the best way to implement field-level permissions and data masking in ERPNext?▼

Field-level permissions and data masking in ERPNext are best implemented through the five-layer permission model, which provides explicit perm levels, field-level control, and safe bypass patterns to prevent data exposure.

Does this Frappe permission model support owner-based restrictions and sharing workflows?▼

Yes, the Frappe permission model supports owner-based restrictions and sharing workflows, providing comprehensive guidance and practical API references to configure and audit these common scenarios safely.

How do I use permission hooks and has_permission checks in Frappe app development?▼

Permission hooks and has_permission checks in Frappe app development are applied via standardized code examples and API references that enforce explicit permission checks across DocTypes using the five-layer model.

Why are my Frappe user permissions and perm levels not preventing data exposure as expected?▼

Frappe user permissions and perm levels fail to prevent data exposure when not applied within a deterministic five-layer model; auditing roles, user permissions, perm levels, hooks, and data masking together secures the workflow.