<!-- 
https://wiki.appian.com/index.php/FKM:_Security_Manager#XML_Config_File
-->

<securityManagerConfigs>
 <securityManagerConfig name="applicationSecurity" type="com.appiancorp.applications.security.ApplicationSecurityHelper">
    <roles>
      <role id="administrators">
        <name>administrator</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="authors">
        <name>editor</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="readers">
        <name>reader</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>true</default>
      </role>
      <role id="denyAdministrators">
        <name>denyAdministrator</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyAuthors">
        <name>denyAuthor</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyReaders">
        <name>denyReader</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
    </roles>
    <allUsersMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_ALL_VIEWER</readers>
        <authors>SEC_ALL_EDITOR</authors>
        <administrators>SEC_ALL_ADMIN</administrators>
      </maskMapping>
    </allUsersMask>
    <inheritanceMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_INH_VIEWER</readers>
        <authors>SEC_INH_EDITOR</authors>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </inheritanceMask>
    <allowMultipleRoles>false</allowMultipleRoles>
    <updateAction>/rules/updateSecurity.do</updateAction>
    <nativeGridData>content.nativeSecurity</nativeGridData>
    <inheritedGridData>content.inheritedSecurity</inheritedGridData>
  </securityManagerConfig>
  
  <securityManagerConfig name="contentSecurity" type="com.appiancorp.rules.security.ContentSecurityHelper">
    <roles>
      <role id="administrators">
        <name>administrator</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="authors">
        <name>editor</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="readers">
        <name>reader</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>true</default>
      </role>
      <role id="denyAdministrators">
        <name>denyAdministrator</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyAuthors">
        <name>denyAuthor</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyReaders">
        <name>denyReader</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
    </roles>
    <allUsersMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_ALL_VIEWER</readers>
        <authors>SEC_ALL_EDITOR</authors>
        <administrators>SEC_ALL_ADMIN</administrators>
      </maskMapping>
    </allUsersMask>
    <inheritanceMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_INH_VIEWER</readers>
        <authors>SEC_INH_EDITOR</authors>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </inheritanceMask>
    <allowMultipleRoles>false</allowMultipleRoles>
    <updateAction>/rules/updateSecurity.do</updateAction>
    <nativeGridData>content.nativeSecurity</nativeGridData>
    <inheritedGridData>content.inheritedSecurity</inheritedGridData>
  </securityManagerConfig>
  
  <securityManagerConfig name="communitySecurity" type="com.appiancorp.km.security.KMSecurityHelper">
    <roles>
      <role id="administrators">
        <name>administrator</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>true</default>
      </role>
      <role id="denyAdministrators">
        <name>denyAdministrator</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
    </roles>
    <allUsersMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <administrators>SEC_ALL_ADMIN</administrators>
      </maskMapping>
    </allUsersMask>
    <inheritanceMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </inheritanceMask>
    <allowMultipleRoles>false</allowMultipleRoles>
    <updateAction>/knowledge/updateContentSecurity.do</updateAction>
    <nativeGridData>content.security.KMSecurityNativeData</nativeGridData>
    <inheritedGridData>content.security.KMInheritedSecurityData</inheritedGridData>
  </securityManagerConfig>
  
  
  <securityManagerConfig name="knowledgeCenterSecurity" type="com.appiancorp.km.security.KMSecurityHelper">
    <roles>
      <role id="administrators">
        <name>administrator</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>true</default>
      </role>
      <role id="authors">
        <name>author</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="readers">
        <name>readonly</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="denyAdministrators">
        <name>denyAdministrator</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyAuthors">
        <name>denyAuthor</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyReaders">
        <name>denyReader</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
    </roles>
    <allUsersMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_ALL_VIEWER</readers>
        <authors>SEC_ALL_EDITOR</authors>
        <administrators>SEC_ALL_ADMIN</administrators>
      </maskMapping>
    </allUsersMask>
    <inheritanceMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_INH_VIEWER</readers>
        <authors>SEC_INH_EDITOR</authors>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </inheritanceMask>
    <alwaysInheritMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </alwaysInheritMask>
    <allowMultipleRoles>false</allowMultipleRoles>
    <updateAction>/knowledge/updateContentSecurity.do</updateAction>
    <nativeGridData>content.security.KMSecurityNativeData</nativeGridData>
    <inheritedGridData>content.security.KMInheritedSecurityData</inheritedGridData>
  </securityManagerConfig>
  
  <securityManagerConfig name="knowledgeCenterAccessSecurity" type="com.appiancorp.km.security.KMSecurityHelper">
    <roles>
      <role id="pending">
        <name>pending</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>true</default>
      </role>
      <role id="denyAdministrators">
        <name>denyAdministrator</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="readers">
        <name>readonly</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="authors">
        <name>editor</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="administrators">
        <name>administrator</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
    </roles>
    <allUsersMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_ALL_VIEWER</readers>
        <authors>SEC_ALL_EDITOR</authors>
        <administrators>SEC_ALL_ADMIN</administrators>
      </maskMapping>
    </allUsersMask>
    <inheritanceMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_INH_VIEWER</readers>
        <authors>SEC_INH_EDITOR</authors>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </inheritanceMask>
    <allowMultipleRoles>false</allowMultipleRoles>
    <updateAction>/knowledge/updatePendingAccessRequests.do</updateAction>
    <nativeGridData>content.knowledgecenter.PendingAccess</nativeGridData>
    <inheritedGridData>content.knowledgecenter.PendingAccess</inheritedGridData>
  </securityManagerConfig>
  
  <securityManagerConfig name="folderSecurity" type="com.appiancorp.km.security.KMSecurityHelper">
    <roles>
      <role id="administrators">
        <name>administrator</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>true</default>
      </role>
      <role id="authors">
        <name>author</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
      <role id="readers">
        <name>readonly</name>
        <disable>false</disable>
        <deny>false</deny>
        <default>false</default>
      </role>
     <role id="denyAdministrators">
        <name>denyAdministrator</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyAuthors">
        <name>denyAuthor</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
      <role id="denyReaders">
        <name>denyReader</name>
        <disable>true</disable>
        <deny>true</deny>
        <default>false</default>
      </role>
    </roles>
    <allUsersMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_ALL_VIEWER</readers>
        <authors>SEC_ALL_EDITOR</authors>
        <administrators>SEC_ALL_ADMIN</administrators>
      </maskMapping>
    </allUsersMask>
    <inheritanceMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <readers>SEC_INH_VIEWER</readers>
        <authors>SEC_INH_EDITOR</authors>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </inheritanceMask>
    <alwaysInheritMask type="com.appiancorp.suiteapi.content.ContentConstants">
      <maskMapping>
        <administrators>SEC_INH_ADMIN</administrators>
      </maskMapping>
    </alwaysInheritMask>
    <allowMultipleRoles>false</allowMultipleRoles>
    <updateAction>/knowledge/updateContentSecurity.do</updateAction>
    <nativeGridData>content.security.KMSecurityNativeData</nativeGridData>
    <!-- #38657 We don't want to go to the parent to get the rolemap -->
    <inheritedGridData>content.security.KMSecurityNativeData</inheritedGridData>
  </securityManagerConfig>
  
</securityManagerConfigs>
