{
    "schema_version": "1.0",
    "scopes": {
        "system": {
            "description": "Global application level permissions",
            "roles": {
                "super_admin": {
                    "inherits": [],
                    "permissions": [
                        "mapping-user-division-membership",
                        "update-user-profile",
                        "toggle-user-activation",
                        "change-user-password",
                        "view-all-users",
                        "re-enable-user-must-change-password",
                        "view-all-divisions",
                        "create-division",
                        "update-division",
                        "delete-division",
                        "mapping-division-membership",
                        "read-all-activity-log"
                    ]
                },
                "user": {
                    "permissions": [
                        "read-my-activity-log"
                    ]
                }
            }
        },
        "division": {
            "description": "Departmental level permissions",
            "roles": {
                "admin": {
                    "permissions": [
                        "read-division-activity-log",
                        "invite-division-viewer",
                        "remove-division-viewer",
                        "create-division-kpi",
                        "read-division-kpi-detail",
                        "update-division-kpi-detail",
                        "destroy-division-kpi",
                        "create-division-task",
                        "read-division-task-detail",
                        "update-division-task-detail",
                        "archive-division-task",
                        "restore-division-task",
                        "create-recuring-task-setup",
                        "read-recuring-task-setup-detail",
                        "update-recuring-task-setup-detail",
                        "destroy-recuring-task-setup",
                        "create-project",
                        "clone-project-tasks",
                        "upload-completion-task-proof",
                        "submit-approval-task-completion"
                    ]
                },
                "supervisor": {
                    "permissions": [
                        "read-division-activity-log",
                        "create-division-task",
                        "read-division-task-detail",
                        "update-division-task-detail",
                        "archive-division-task",
                        "restore-division-task",
                        "create-recuring-task-setup",
                        "read-recuring-task-setup-detail",
                        "update-recuring-task-setup-detail",
                        "destroy-recuring-task-setup",
                        "create-project",
                        "clone-project-tasks",
                        "upload-completion-task-proof",
                        "submit-approval-task-completion"
                    ]
                },
                "member": {
                    "permissions": [
                        "read-division-activity-log",
                        "read-division-task-detail",
                        "upload-completion-task-proof"
                    ]
                }
            }
        },
        "project": {
            "description": "Project specific permissions",
            "roles": {
                "owner": {
                    "permissions": [
                        "read-project-activity-log",
                        "read-project-detail",
                        "update-project-detail",
                        "archive-project",
                        "restore-project",
                        "add-project-member",
                        "update-project-member-role",
                        "remove-project-member",
                        "create-project-task",
                        "read-project-task-detail",
                        "upload-completion-task-proof",
                        "submit-approval-task-completion",
                        {
                            "slug": "update-project-task-detail",
                            "constraint": "must_be_creator"
                        },
                        {
                            "slug": "archive-project-task",
                            "constraint": "must_be_creator"
                        },
                        {
                            "slug": "restore-project-task",
                            "constraint": "must_be_creator"
                        }
                    ]
                },
                "person_in_charge": {
                    "permissions": [
                        "read-project-activity-log",
                        "read-project-detail",
                        "create-project-task",
                        "read-project-task-detail",
                        "upload-completion-task-proof",
                        "submit-approval-task-completion",
                        {
                            "slug": "add-project-member",
                            "constraint": "same_division_only"
                        },
                        {
                            "slug": "update-project-member-role",
                            "constraint": "must_be_inviter"
                        },
                        {
                            "slug": "remove-project-member",
                            "constraint": "must_be_inviter"
                        },
                        {
                            "slug": "update-project-task-detail",
                            "constraint": "must_be_creator"
                        },
                        {
                            "slug": "archive-project-task",
                            "constraint": "must_be_creator"
                        },
                        {
                            "slug": "restore-project-task",
                            "constraint": "must_be_creator"
                        }
                    ]
                },
                "member": {
                    "permissions": [
                        "read-project-activity-log",
                        "read-project-detail",
                        "read-project-task-detail",
                        "upload-completion-task-proof"
                    ]
                },
                "viewer": {
                    "permissions": [
                        "read-project-detail",
                        "read-project-task-detail"
                    ]
                }
            }
        }
    }
}