diff --git a/examples/extension_service/servicer.py b/examples/extension_service/servicer.py
index f40984ed2a2c59996101f40f42ea6077b864377e..79aa7e5dee17ad97404b1f96034814b7c221b17c 100644
--- a/examples/extension_service/servicer.py
+++ b/examples/extension_service/servicer.py
@@ -87,6 +87,9 @@ class Servicer(ExtensionService):
         ),
         SyncPolicyItem(
             collection_id="test_collection",
+            # Запрет на изменение или удаление записи политики синхронизации
+            with_update=False,
+            with_delete=False,
         ),
         Item(
             collection_id="secrets",
diff --git a/perxis/extensions/extension_setup.py b/perxis/extensions/extension_setup.py
index 918f20100dad71243392ec8a9028d8dd71b1a249..3bfa04ec060501c855bf05400cf38cc5f2c08489 100644
--- a/perxis/extensions/extension_setup.py
+++ b/perxis/extensions/extension_setup.py
@@ -584,19 +584,12 @@ class ExtensionSetup:
         )
 
         for item in self.items:
-            try:
-                if item.rules:
-                    all_rules_satisfied = all(
-                        [
-                            await rule(item, space_id, env_id)
-                            for rule
-                            in item.rules
-                        ]
-                    )
+            all_rules_satisfied = await item.all_rules_is_satisfied(space_id, env_id)
 
-                    if not all_rules_satisfied:
-                        continue
+            if not all_rules_satisfied:
+                continue
 
+            try:
                 message = await wrapper.find(
                     collection_id=item.collection_id,
                     env_id=env_id,
@@ -624,17 +617,10 @@ class ExtensionSetup:
         )
 
         for item in self.items:
-            if item.rules:
-                all_rules_satisfied = all(
-                    [
-                        await rule(item, space_id, env_id)
-                        for rule
-                        in item.rules
-                    ]
-                )
+            all_rules_satisfied = await item.all_rules_is_satisfied(space_id, env_id)
 
-                if not all_rules_satisfied:
-                    continue
+            if not all_rules_satisfied:
+                continue
 
             try:
                 message = await wrapper.find(
@@ -714,17 +700,10 @@ class ExtensionSetup:
         )
 
         for item in self.items:
-            if item.rules:
-                all_rules_satisfied = all(
-                    [
-                        await rule(item, space_id, env_id)
-                        for rule
-                        in item.rules
-                    ]
-                )
+            all_rules_satisfied = await item.all_rules_is_satisfied(space_id, env_id)
 
-                if not all_rules_satisfied:
-                    continue
+            if not all_rules_satisfied:
+                continue
 
             # Если установлен запрет на удаление item'ов
             if not item.with_delete: