[{"key":"LOCK","servicePolicies":[{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.actor","permissions":[{"key":"permission.actor.myself.custom-attribute.upsert","rules":[]},{"key":"permission.actor.myself.custom-status.append","rules":[]},{"key":"permission.actor.myself.read","entities":[{"key":"entity.actor","projection":{"fieldProjections":[{"field":"accesses","mode":"INCLUDE","subfieldProjections":[]},{"field":"createdAt","mode":"INCLUDE","subfieldProjections":[]},{"field":"createdBy","mode":"INCLUDE","subfieldProjections":[]},{"field":"customAttributes","mode":"INCLUDE","subfieldProjections":[]},{"field":"customIds","mode":"INCLUDE","subfieldProjections":[]},{"field":"customStatuses","mode":"INCLUDE","subfieldProjections":[{"filter":{"operator":"ANY_OF","field":"type","values":["LOCK_STATE"]},"includeSubfields":["note","statusFrom","createdAt","createdBy"]},{"filter":{"operator":"ANY_OF","field":"type","values":["ACTIVATION_STATUS"]},"includeSubfields":["note","statusFrom","createdAt","createdBy","previousValues"]}]},{"field":"customStrings","mode":"INCLUDE","subfieldProjections":[]},{"field":"description","mode":"INCLUDE","subfieldProjections":[]},{"field":"idpAffiliations","mode":"INCLUDE","subfieldProjections":[]},{"field":"invites","mode":"INCLUDE","subfieldProjections":[]},{"field":"lastModifiedAt","mode":"INCLUDE","subfieldProjections":[]},{"field":"lastModifiedBy","mode":"INCLUDE","subfieldProjections":[]},{"field":"name","mode":"INCLUDE","subfieldProjections":[]},{"field":"status","mode":"INCLUDE","subfieldProjections":[]},{"field":"status.createdAt","mode":"INCLUDE","subfieldProjections":[]},{"field":"status.createdBy","mode":"INCLUDE","subfieldProjections":[]},{"field":"status.previousValues","mode":"INCLUDE","subfieldProjections":[]},{"field":"tenantId","mode":"INCLUDE","subfieldProjections":[]},{"field":"type","mode":"INCLUDE","subfieldProjections":[]}]}}],"rules":[]}]},{"serviceDefinitionSource":"APPLICATION","serviceDefinitionKey":"lokk-be","permissions":[{"key":"lokk.lock.current-state.manage","rules":[]},{"key":"lokk.lock.error.update","rules":[]},{"key":"lokk.lock.metrics.update","rules":[]},{"key":"lokk.lock.read","rules":[]}]}]},{"key":"OWNER","servicePolicies":[{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.actor","permissions":[{"key":"permission.actor.access.create","rules":[{"key":"rule.actor-access.available-role","operator":"ANY_OF","values":["TECHNICIAN"]},{"key":"rule.actor-access.manage-actor-association","operator":"NONE_OF","values":["ACTOR_DIRECT","NODE_ANCESTOR","NODE_DESCENDANT","NODE_DIRECT","TENANT_WIDE"]},{"key":"rule.actor-access.manage-node-association","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]},{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.actor.manage-with-role","operator":"ANY_OF","values":["TECHNICIAN"]},{"key":"rule.actor.manage-with-type","operator":"ANY_OF","values":["USER"]}]},{"key":"permission.actor.myself.read","rules":[]},{"key":"permission.actor.name.manage","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["CURRENT_ACTOR","NODE_DIRECT","NODE_DESCENDANT"]}]},{"key":"permission.actor.read","entities":[{"key":"entity.actor","projection":{"fieldProjections":[{"field":"accesses","mode":"INCLUDE","subfieldProjections":[]},{"field":"createdAt","mode":"EXCLUDE","subfieldProjections":[]},{"field":"createdBy","mode":"EXCLUDE","subfieldProjections":[]},{"field":"customAttributes","mode":"EXCLUDE","subfieldProjections":[]},{"field":"customIds","mode":"INCLUDE","subfieldProjections":[]},{"field":"customStatuses","mode":"INCLUDE","subfieldProjections":[{"includeSubfields":["note","statusFrom","createdAt","createdBy"]}]},{"field":"customStrings","mode":"INCLUDE","subfieldProjections":[]},{"field":"description","mode":"INCLUDE","subfieldProjections":[]},{"field":"idpAffiliations","mode":"EXCLUDE","subfieldProjections":[]},{"field":"invites","mode":"EXCLUDE","subfieldProjections":[]},{"field":"lastModifiedAt","mode":"EXCLUDE","subfieldProjections":[]},{"field":"lastModifiedBy","mode":"EXCLUDE","subfieldProjections":[]},{"field":"name","mode":"INCLUDE","subfieldProjections":[]},{"field":"status","mode":"INCLUDE","subfieldProjections":[]},{"field":"status.createdAt","mode":"EXCLUDE","subfieldProjections":[]},{"field":"status.createdBy","mode":"EXCLUDE","subfieldProjections":[]},{"field":"status.previousValues","mode":"EXCLUDE","subfieldProjections":[]},{"field":"tenantId","mode":"INCLUDE","subfieldProjections":[]},{"field":"type","mode":"INCLUDE","subfieldProjections":[]}]}}],"rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["CURRENT_ACTOR","NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.node","permissions":[{"key":"permission.node.create-child","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]},{"key":"rule.node.manage-with-type","operator":"ANY_OF","values":["OWNER_ROOT","TECHNICIAN_ROOT"]},{"key":"rule.node.create-with-type","operator":"ANY_OF","values":["HOUSE"]}]},{"key":"permission.node.name.manage","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]}]},{"key":"permission.node.read","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"APPLICATION","serviceDefinitionKey":"lokk-be","permissions":[{"key":"lokk.building.create","rules":[]},{"key":"lokk.building.name.update","rules":[]},{"key":"lokk.building.read","rules":[]},{"key":"lokk.lock.activate","rules":[]},{"key":"lokk.lock.name.update","rules":[]},{"key":"lokk.lock.read","rules":[]},{"key":"lokk.lock.wanted-state.manage","rules":[]},{"key":"lokk.technician.building.associate","rules":[]},{"key":"lokk.technician.read","rules":[]}]}]},{"key":"SERVICE_FACTORY","servicePolicies":[{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.actor","permissions":[{"key":"permission.actor.create","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]},{"key":"rule.actor-access.manage-node-association","operator":"ANY_OF","values":["NODE_DIRECT"]},{"key":"rule.actor.create-with-type","operator":"ANY_OF","values":["LOCK"]},{"key":"rule.actor-access.available-role","operator":"ANY_OF","values":["LOCK"]}]},{"key":"permission.actor.myself.read","rules":[]},{"key":"permission.actor.read","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["CURRENT_ACTOR","NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.node","permissions":[{"key":"permission.node.read","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT"]}]}]},{"serviceDefinitionSource":"APPLICATION","serviceDefinitionKey":"lokk-be","permissions":[{"key":"lokk.lock.create","rules":[]}]}]},{"key":"SERVICE_RW","servicePolicies":[{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.actor","permissions":[{"key":"permission.actor.access.create","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.actor-access.manage-node-association","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.actor-access.available-role","operator":"ANY_OF","values":["OWNER","SERVICE_FACTORY","LOCK"]}]},{"key":"permission.actor.access.delete","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]}]},{"key":"permission.actor.access.upsert","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.actor-access.available-role","operator":"ANY_OF","values":["OWNER","SERVICE_FACTORY","LOCK"]},{"key":"rule.actor-access.manage-node-association","operator":"ANY_OF","values":["TENANT_WIDE"]}]},{"key":"permission.actor.create","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.actor-access.manage-node-association","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.actor.create-with-type","operator":"ANY_OF","values":["USER","FACTORY"]},{"key":"rule.actor-access.available-role","operator":"ANY_OF","values":["OWNER","TECHNICIAN","SERVICE_FACTORY","LOCK"]}]},{"key":"permission.actor.custom-status.append","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]}]},{"key":"permission.actor.idp-affiliation.upsert","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]}]},{"key":"permission.actor.myself.read","rules":[]},{"key":"permission.actor.read","rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]}]}]},{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.node","permissions":[{"key":"permission.node.create-child","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.node.manage-with-type","operator":"ANY_OF","values":["ROOT","OWNER_ROOT","TECHNICIAN_ROOT","FACTORY"]},{"key":"rule.node.create-with-type","operator":"ANY_OF","values":["OWNER_ROOT","TECHNICIAN_ROOT","FACTORY"]}]},{"key":"permission.node.create-root","rules":[{"key":"rule.node.create-with-type","operator":"ANY_OF","values":["ROOT"]}]},{"key":"permission.node.delete","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]},{"key":"rule.node.manage-with-type","operator":"ANY_OF","values":["ROOT","OWNER_ROOT","TECHNICIAN_ROOT","FACTORY"]}]},{"key":"permission.node.read","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["TENANT_WIDE"]}]}]}]},{"key":"TECHNICIAN","name":"Technician","description":"Can assist lock owners when troubleshooting their configuration or locks.\nHave limited access to respective owner lock if assigned to their building. ","servicePolicies":[{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.actor","permissions":[{"key":"permission.actor.myself.read","rules":[]},{"key":"permission.actor.read","entities":[{"key":"entity.actor","projection":{"fieldProjections":[{"field":"accesses","mode":"INCLUDE","subfieldProjections":[]},{"field":"customAttributes","mode":"INCLUDE","subfieldProjections":[{"filter":{"operator":"ANY_OF","field":"type","values":["METRICS"]},"includeSubfields":[]}]},{"field":"customIds","mode":"INCLUDE","subfieldProjections":[]},{"field":"customStatuses","mode":"INCLUDE","subfieldProjections":[]},{"field":"customStrings","mode":"INCLUDE","subfieldProjections":[]},{"field":"idpAffiliations","mode":"INCLUDE","subfieldProjections":[]},{"field":"name","mode":"INCLUDE","subfieldProjections":[]},{"field":"status","mode":"INCLUDE","subfieldProjections":[]},{"field":"type","mode":"INCLUDE","subfieldProjections":[]}]}}],"rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.node","permissions":[{"key":"permission.node.read","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"APPLICATION","serviceDefinitionKey":"lokk-be","permissions":[{"key":"lokk.building.read","rules":[]},{"key":"lokk.lock.read","rules":[]},{"key":"lokk.technician.read","rules":[]}]}]},{"key":"USER","name":"User role","description":"The user is allowed to manage lock state","servicePolicies":[{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.actor","permissions":[{"key":"permission.actor.myself.read","rules":[]},{"key":"permission.actor.read","entities":[{"key":"entity.actor","projection":{"fieldProjections":[{"field":"accesses","mode":"INCLUDE","subfieldProjections":[]},{"field":"createdAt","mode":"EXCLUDE","subfieldProjections":[]},{"field":"createdBy","mode":"EXCLUDE","subfieldProjections":[]},{"field":"customAttributes","mode":"EXCLUDE","subfieldProjections":[]},{"field":"customIds","mode":"INCLUDE","subfieldProjections":[]},{"field":"customStatuses","mode":"INCLUDE","subfieldProjections":[{"includeSubfields":["note","statusFrom","createdAt","createdBy"]}]},{"field":"customStrings","mode":"INCLUDE","subfieldProjections":[]},{"field":"description","mode":"INCLUDE","subfieldProjections":[]},{"field":"idpAffiliations","mode":"EXCLUDE","subfieldProjections":[]},{"field":"invites","mode":"EXCLUDE","subfieldProjections":[]},{"field":"lastModifiedAt","mode":"EXCLUDE","subfieldProjections":[]},{"field":"lastModifiedBy","mode":"EXCLUDE","subfieldProjections":[]},{"field":"name","mode":"INCLUDE","subfieldProjections":[]},{"field":"status","mode":"INCLUDE","subfieldProjections":[]},{"field":"status.createdAt","mode":"EXCLUDE","subfieldProjections":[]},{"field":"status.createdBy","mode":"EXCLUDE","subfieldProjections":[]},{"field":"status.previousValues","mode":"EXCLUDE","subfieldProjections":[]},{"field":"tenantId","mode":"INCLUDE","subfieldProjections":[]},{"field":"type","mode":"INCLUDE","subfieldProjections":[]}]}}],"rules":[{"key":"rule.actor.access-on-level","operator":"ANY_OF","values":["CURRENT_ACTOR","NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"CATALOG","serviceDefinitionKey":"iam.node","permissions":[{"key":"permission.node.read","rules":[{"key":"rule.node.access-on-level","operator":"ANY_OF","values":["NODE_DIRECT","NODE_DESCENDANT"]}]}]},{"serviceDefinitionSource":"APPLICATION","serviceDefinitionKey":"lokk-be","permissions":[{"key":"lokk.building.read","rules":[]},{"key":"lokk.lock.read","rules":[]},{"key":"lokk.lock.wanted-state.manage","rules":[]}]}]}]