failproofai 0.0.6-beta.1 → 0.0.6-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__05akje6._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0i5kvry._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 00j0rr7rh8ef8.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 05j1px0r8yzh6.js} +2 -2
- package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0badv41uxa56..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0wlyoif4_kj_t.js → 0ijk_kek9_wyx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 0npb~873.wvg3.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0xpl.oscrakvx.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 1052sguyd-.ka.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 14cl9poem30dq.js} +1 -1
- package/.next/standalone/CHANGELOG.md +11 -0
- package/.next/standalone/dist/cli.mjs +3 -3
- package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
- package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
- package/.next/standalone/docs/ar/examples.mdx +86 -33
- package/.next/standalone/docs/ar/getting-started.mdx +82 -29
- package/.next/standalone/docs/built-in-policies.mdx +1 -1
- package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
- package/.next/standalone/docs/de/custom-policies.mdx +56 -56
- package/.next/standalone/docs/de/examples.mdx +72 -18
- package/.next/standalone/docs/de/getting-started.mdx +72 -20
- package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
- package/.next/standalone/docs/es/custom-policies.mdx +55 -55
- package/.next/standalone/docs/es/examples.mdx +73 -19
- package/.next/standalone/docs/es/getting-started.mdx +72 -20
- package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
- package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
- package/.next/standalone/docs/fr/examples.mdx +78 -24
- package/.next/standalone/docs/fr/getting-started.mdx +65 -13
- package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
- package/.next/standalone/docs/he/custom-policies.mdx +75 -75
- package/.next/standalone/docs/he/examples.mdx +87 -33
- package/.next/standalone/docs/he/getting-started.mdx +84 -33
- package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
- package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
- package/.next/standalone/docs/hi/examples.mdx +90 -36
- package/.next/standalone/docs/hi/getting-started.mdx +80 -27
- package/.next/standalone/docs/i18n/README.ar.md +69 -69
- package/.next/standalone/docs/i18n/README.de.md +46 -46
- package/.next/standalone/docs/i18n/README.es.md +42 -42
- package/.next/standalone/docs/i18n/README.fr.md +39 -39
- package/.next/standalone/docs/i18n/README.he.md +83 -83
- package/.next/standalone/docs/i18n/README.hi.md +69 -69
- package/.next/standalone/docs/i18n/README.it.md +72 -72
- package/.next/standalone/docs/i18n/README.ja.md +71 -71
- package/.next/standalone/docs/i18n/README.ko.md +52 -52
- package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
- package/.next/standalone/docs/i18n/README.ru.md +66 -66
- package/.next/standalone/docs/i18n/README.tr.md +82 -83
- package/.next/standalone/docs/i18n/README.vi.md +70 -71
- package/.next/standalone/docs/i18n/README.zh.md +51 -51
- package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
- package/.next/standalone/docs/it/custom-policies.mdx +69 -69
- package/.next/standalone/docs/it/examples.mdx +93 -39
- package/.next/standalone/docs/it/getting-started.mdx +73 -21
- package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
- package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
- package/.next/standalone/docs/ja/examples.mdx +76 -22
- package/.next/standalone/docs/ja/getting-started.mdx +65 -13
- package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
- package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
- package/.next/standalone/docs/ko/examples.mdx +87 -33
- package/.next/standalone/docs/ko/getting-started.mdx +61 -9
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
- package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
- package/.next/standalone/docs/pt-br/examples.mdx +78 -24
- package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
- package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
- package/.next/standalone/docs/ru/examples.mdx +77 -22
- package/.next/standalone/docs/ru/getting-started.mdx +74 -22
- package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
- package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
- package/.next/standalone/docs/tr/examples.mdx +97 -42
- package/.next/standalone/docs/tr/getting-started.mdx +75 -23
- package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
- package/.next/standalone/docs/vi/examples.mdx +93 -38
- package/.next/standalone/docs/vi/getting-started.mdx +74 -22
- package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
- package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
- package/.next/standalone/docs/zh/examples.mdx +90 -36
- package/.next/standalone/docs/zh/getting-started.mdx +73 -21
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +5 -1
- package/dist/cli.mjs +3 -3
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +5 -1
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Встроенные политики
|
|
3
|
-
description: "Все 30 встроенных политик, которые
|
|
3
|
+
description: "Все 30 встроенных политик, которые выявляют распространённые режимы отказа агентов"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai поставляется с 30 встроенными политиками, которые
|
|
7
|
+
failproofai поставляется с 30 встроенными политиками, которые выявляют распространённые режимы отказа агентов. Каждая политика срабатывает при определённом типе события хука и имени инструмента. Девять политик принимают параметры, позволяющие настраивать их поведение без написания кода. Четыре рабочие политики обеспечивают выполнение конвейера commit → push → PR → CI, прежде чем Claude остановится.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Обзор
|
|
12
12
|
|
|
13
|
-
Политики
|
|
13
|
+
Политики разделены на категории:
|
|
14
14
|
|
|
15
15
|
| Категория | Политики | Тип хука |
|
|
16
|
-
|
|
16
|
+
|----------|----------|-----------|
|
|
17
17
|
| [Опасные команды](#опасные-команды) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
18
|
| [Секреты (санитайзеры)](#секреты-санитайзеры) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
19
|
| [Окружение](#окружение) | block-env-files, protect-env-vars | PreToolUse |
|
|
@@ -21,36 +21,37 @@ failproofai поставляется с 30 встроенными политик
|
|
|
21
21
|
| [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
|
|
22
22
|
| [База данных](#база-данных) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
23
|
| [Предупреждения](#предупреждения) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
+
| [Менеджеры пакетов](#менеджеры-пакетов) | prefer-package-manager | PreToolUse |
|
|
24
25
|
| [Рабочий процесс](#рабочий-процесс) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
26
|
|
|
26
27
|
- **`block-`** — остановить агента от продолжения.
|
|
27
|
-
- **`warn-`** — дать агенту дополнительный контекст, чтобы он
|
|
28
|
-
- **`sanitize-`** — удалить
|
|
28
|
+
- **`warn-`** — дать агенту дополнительный контекст, чтобы он смог самостоятельно исправиться.
|
|
29
|
+
- **`sanitize-`** — удалить конфиденциальные данные из результата инструмента перед передачей агенту.
|
|
29
30
|
- **`require-`** — блокировать событие Stop до выполнения условий.
|
|
30
31
|
|
|
31
32
|
---
|
|
32
33
|
|
|
33
34
|
<Tip>
|
|
34
|
-
Каждая политика поддерживает необязательное поле `hint` в `policyParams`. Подсказка добавляется к сообщению deny или instruct, которое видит Claude, предоставляя
|
|
35
|
+
Каждая политика поддерживает необязательное поле `hint` в `policyParams`. Подсказка добавляется к сообщению deny или instruct, которое видит Claude, предоставляя практические рекомендации без изменения кода политики. Работает со встроенными, пользовательскими и конвенционными политиками. Подробнее см. [Конфигурация → hint](/ru/configuration#hint-cross-cutting).
|
|
35
36
|
</Tip>
|
|
36
37
|
|
|
37
38
|
---
|
|
38
39
|
|
|
39
40
|
## Опасные команды
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
Предотвращение запуска операций агентами, которые сложно отменить или которые могут повредить хост-систему.
|
|
42
43
|
|
|
43
44
|
### `block-sudo`
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
**По умолчанию:**
|
|
46
|
+
**Событие:** PreToolUse (Bash)
|
|
47
|
+
**По умолчанию:** Блокирует любую команду `sudo`.
|
|
47
48
|
|
|
48
|
-
Блокирует вызовы, содержащие ключевое слово `sudo`. Сопоставление
|
|
49
|
+
Блокирует вызовы, содержащие ключевое слово `sudo`. Сопоставление паттернов выполняется на разобранных токенах команд, а не на сыром строке, чтобы предотвратить обход путём инъекции оператора shell.
|
|
49
50
|
|
|
50
51
|
**Параметры:**
|
|
51
52
|
|
|
52
53
|
| Параметр | Тип | По умолчанию | Описание |
|
|
53
|
-
|
|
54
|
+
|-------|------|---------|-------------|
|
|
54
55
|
| `allowPatterns` | `string[]` | `[]` | Точные префиксы команд, которые разрешены. Каждая запись сопоставляется с разобранными токенами argv. |
|
|
55
56
|
|
|
56
57
|
**Пример:**
|
|
@@ -65,24 +66,24 @@ failproofai поставляется с 30 встроенными политик
|
|
|
65
66
|
}
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
С
|
|
69
|
+
С этой конфигурацией `sudo systemctl status nginx` разрешён, но `sudo rm /etc/hosts` блокирован.
|
|
69
70
|
|
|
70
71
|
<Note>
|
|
71
|
-
|
|
72
|
+
Паттерны сопоставляются с разобранными токенами, а не с сыром строком команды. Это предотвращает обход путём добавления операторов shell (например, `sudo systemctl status x; rm -rf /` не соответствует `sudo systemctl status *`).
|
|
72
73
|
</Note>
|
|
73
74
|
|
|
74
75
|
---
|
|
75
76
|
|
|
76
77
|
### `block-rm-rf`
|
|
77
78
|
|
|
78
|
-
|
|
79
|
-
**По умолчанию:**
|
|
79
|
+
**Событие:** PreToolUse (Bash)
|
|
80
|
+
**По умолчанию:** Блокирует `rm -rf`, `rm -fr` и аналогичные формы рекурсивного удаления.
|
|
80
81
|
|
|
81
82
|
**Параметры:**
|
|
82
83
|
|
|
83
84
|
| Параметр | Тип | По умолчанию | Описание |
|
|
84
|
-
|
|
85
|
-
| `allowPaths` | `string[]` | `[]` | Пути, которые безопасно рекурсивно
|
|
85
|
+
|-------|------|---------|-------------|
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | Пути, которые безопасно удалять рекурсивно (например, `/tmp`). |
|
|
86
87
|
|
|
87
88
|
**Пример:**
|
|
88
89
|
|
|
@@ -100,8 +101,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
100
101
|
|
|
101
102
|
### `block-curl-pipe-sh`
|
|
102
103
|
|
|
103
|
-
|
|
104
|
-
**По умолчанию:**
|
|
104
|
+
**Событие:** PreToolUse (Bash)
|
|
105
|
+
**По умолчанию:** Блокирует `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` и аналогичные паттерны.
|
|
105
106
|
|
|
106
107
|
Нет параметров.
|
|
107
108
|
|
|
@@ -109,8 +110,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
109
110
|
|
|
110
111
|
### `block-failproofai-commands`
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
**По умолчанию:**
|
|
113
|
+
**Событие:** PreToolUse (Bash)
|
|
114
|
+
**По умолчанию:** Блокирует команды, которые удаляют или отключают failproofai (например, `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
114
115
|
|
|
115
116
|
Нет параметров.
|
|
116
117
|
|
|
@@ -118,12 +119,12 @@ failproofai поставляется с 30 встроенными политик
|
|
|
118
119
|
|
|
119
120
|
## Секреты (санитайзеры)
|
|
120
121
|
|
|
121
|
-
|
|
122
|
+
Предотвращение утечки учётных данных агентами в их контекст или вывод. Политики санитайзеров срабатывают при событиях **PostToolUse**. Когда Claude запускает команду Bash, читает файл или вызывает любой инструмент, эти политики проверяют результат перед возвратом Claude. Если обнаружен паттерн секрета, политика возвращает решение deny, которое предотвращает передачу результата обратно.
|
|
122
123
|
|
|
123
124
|
### `sanitize-jwt`
|
|
124
125
|
|
|
125
|
-
|
|
126
|
-
**По умолчанию:** Скрывает JWT
|
|
126
|
+
**Событие:** PostToolUse (все инструменты)
|
|
127
|
+
**По умолчанию:** Скрывает JWT токены (три сегмента base64url, разделённые `.`).
|
|
127
128
|
|
|
128
129
|
Нет параметров.
|
|
129
130
|
|
|
@@ -131,14 +132,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
131
132
|
|
|
132
133
|
### `sanitize-api-keys`
|
|
133
134
|
|
|
134
|
-
|
|
135
|
-
**По умолчанию:** Скрывает распространённые форматы API
|
|
135
|
+
**Событие:** PostToolUse (все инструменты)
|
|
136
|
+
**По умолчанию:** Скрывает распространённые форматы ключей API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS ключи доступа (`AKIA`), ключи Stripe (`sk_live_`, `sk_test_`), и Google API ключи (`AIza`).
|
|
136
137
|
|
|
137
138
|
**Параметры:**
|
|
138
139
|
|
|
139
140
|
| Параметр | Тип | По умолчанию | Описание |
|
|
140
|
-
|
|
141
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex
|
|
141
|
+
|-------|------|---------|-------------|
|
|
142
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex паттерны, которые рассматриваются как секреты. |
|
|
142
143
|
|
|
143
144
|
**Пример:**
|
|
144
145
|
|
|
@@ -159,7 +160,7 @@ failproofai поставляется с 30 встроенными политик
|
|
|
159
160
|
|
|
160
161
|
### `sanitize-connection-strings`
|
|
161
162
|
|
|
162
|
-
|
|
163
|
+
**Событие:** PostToolUse (все инструменты)
|
|
163
164
|
**По умолчанию:** Скрывает строки подключения к базе данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
|
|
164
165
|
|
|
165
166
|
Нет параметров.
|
|
@@ -168,8 +169,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
168
169
|
|
|
169
170
|
### `sanitize-private-key-content`
|
|
170
171
|
|
|
171
|
-
|
|
172
|
-
**По умолчанию:** Скрывает PEM
|
|
172
|
+
**Событие:** PostToolUse (все инструменты)
|
|
173
|
+
**По умолчанию:** Скрывает PEM блоки (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----` и т.д.).
|
|
173
174
|
|
|
174
175
|
Нет параметров.
|
|
175
176
|
|
|
@@ -177,8 +178,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
177
178
|
|
|
178
179
|
### `sanitize-bearer-tokens`
|
|
179
180
|
|
|
180
|
-
|
|
181
|
-
**По умолчанию:** Скрывает заголовки `Authorization: Bearer <token>`, где токен
|
|
181
|
+
**Событие:** PostToolUse (все инструменты)
|
|
182
|
+
**По умолчанию:** Скрывает заголовки `Authorization: Bearer <token>`, где токен содержит 20 или более символов.
|
|
182
183
|
|
|
183
184
|
Нет параметров.
|
|
184
185
|
|
|
@@ -186,14 +187,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
186
187
|
|
|
187
188
|
## Окружение
|
|
188
189
|
|
|
189
|
-
|
|
190
|
+
Защита конфиденциальной конфигурации окружения от чтения или разглашения агентами.
|
|
190
191
|
|
|
191
192
|
### `block-env-files`
|
|
192
193
|
|
|
193
|
-
|
|
194
|
-
**По умолчанию:**
|
|
194
|
+
**Событие:** PreToolUse (Bash, Read)
|
|
195
|
+
**По умолчанию:** Блокирует чтение файлов `.env` через `cat .env`, вызовы инструмента Read с `.env` как путь файла и т.д.
|
|
195
196
|
|
|
196
|
-
Не блокирует `.envrc` или другие
|
|
197
|
+
Не блокирует `.envrc` или другие похожие файлы окружения — только файлы, названные ровно `.env`.
|
|
197
198
|
|
|
198
199
|
Нет параметров.
|
|
199
200
|
|
|
@@ -201,8 +202,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
201
202
|
|
|
202
203
|
### `protect-env-vars`
|
|
203
204
|
|
|
204
|
-
|
|
205
|
-
**По умолчанию:**
|
|
205
|
+
**Событие:** PreToolUse (Bash)
|
|
206
|
+
**По умолчанию:** Блокирует команды, которые выводят переменные окружения: `printenv`, `env`, `echo $VAR`.
|
|
206
207
|
|
|
207
208
|
Нет параметров.
|
|
208
209
|
|
|
@@ -210,18 +211,18 @@ failproofai поставляется с 30 встроенными политик
|
|
|
210
211
|
|
|
211
212
|
## Доступ к файлам
|
|
212
213
|
|
|
213
|
-
|
|
214
|
+
Обеспечение работы агентов внутри границ проекта и вдали от конфиденциальных файлов.
|
|
214
215
|
|
|
215
216
|
### `block-read-outside-cwd`
|
|
216
217
|
|
|
217
|
-
|
|
218
|
-
**По умолчанию:**
|
|
218
|
+
**Событие:** PreToolUse (Read, Bash)
|
|
219
|
+
**По умолчанию:** Блокирует чтение файлов вне текущей рабочей директории (корень проекта).
|
|
219
220
|
|
|
220
221
|
**Параметры:**
|
|
221
222
|
|
|
222
223
|
| Параметр | Тип | По умолчанию | Описание |
|
|
223
|
-
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` |
|
|
224
|
+
|-------|------|---------|-------------|
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | Абсолютные префиксы путей, которые разрешены, даже если находятся вне cwd. |
|
|
225
226
|
|
|
226
227
|
**Пример:**
|
|
227
228
|
|
|
@@ -239,14 +240,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
239
240
|
|
|
240
241
|
### `block-secrets-write`
|
|
241
242
|
|
|
242
|
-
|
|
243
|
-
**По умолчанию:**
|
|
243
|
+
**Событие:** PreToolUse (Write, Edit)
|
|
244
|
+
**По умолчанию:** Блокирует запись в файлы, обычно используемые для приватных ключей и сертификатов: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
|
|
244
245
|
|
|
245
246
|
**Параметры:**
|
|
246
247
|
|
|
247
248
|
| Параметр | Тип | По умолчанию | Описание |
|
|
248
|
-
|
|
249
|
-
| `additionalPatterns` | `string[]` | `[]` | Дополнительные
|
|
249
|
+
|-------|------|---------|-------------|
|
|
250
|
+
| `additionalPatterns` | `string[]` | `[]` | Дополнительные паттерны имён файлов (glob-стиль) для блокировки. |
|
|
250
251
|
|
|
251
252
|
**Пример:**
|
|
252
253
|
|
|
@@ -264,18 +265,18 @@ failproofai поставляется с 30 встроенными политик
|
|
|
264
265
|
|
|
265
266
|
## Git
|
|
266
267
|
|
|
267
|
-
|
|
268
|
+
Предотвращение случайных push'ей, force-push'ей и ошибок в ветках, которые сложно отменить.
|
|
268
269
|
|
|
269
270
|
### `block-push-master`
|
|
270
271
|
|
|
271
|
-
|
|
272
|
-
**По умолчанию:**
|
|
272
|
+
**Событие:** PreToolUse (Bash)
|
|
273
|
+
**По умолчанию:** Блокирует `git push origin main` и `git push origin master`.
|
|
273
274
|
|
|
274
275
|
**Параметры:**
|
|
275
276
|
|
|
276
277
|
| Параметр | Тип | По умолчанию | Описание |
|
|
277
|
-
|
|
278
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена
|
|
278
|
+
|-------|------|---------|-------------|
|
|
279
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена веток, которые не могут быть запушены напрямую. |
|
|
279
280
|
|
|
280
281
|
**Пример:**
|
|
281
282
|
|
|
@@ -290,36 +291,36 @@ failproofai поставляется с 30 встроенными политик
|
|
|
290
291
|
```
|
|
291
292
|
|
|
292
293
|
<Tip>
|
|
293
|
-
Чтобы разрешить
|
|
294
|
+
Чтобы разрешить push на все ветки (эффективно отключить эту политику без удаления из `enabledPolicies`), установите `protectedBranches: []`.
|
|
294
295
|
</Tip>
|
|
295
296
|
|
|
296
297
|
---
|
|
297
298
|
|
|
298
299
|
### `block-work-on-main`
|
|
299
300
|
|
|
300
|
-
|
|
301
|
-
**По умолчанию:**
|
|
301
|
+
**Событие:** PreToolUse (Bash)
|
|
302
|
+
**По умолчанию:** Блокирует checkout веток `main` или `master` напрямую.
|
|
302
303
|
|
|
303
304
|
**Параметры:**
|
|
304
305
|
|
|
305
306
|
| Параметр | Тип | По умолчанию | Описание |
|
|
306
|
-
|
|
307
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена
|
|
307
|
+
|-------|------|---------|-------------|
|
|
308
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Имена веток, которые не могут быть переключены напрямую. |
|
|
308
309
|
|
|
309
310
|
---
|
|
310
311
|
|
|
311
312
|
### `block-force-push`
|
|
312
313
|
|
|
313
|
-
|
|
314
|
-
**По умолчанию:**
|
|
314
|
+
**Событие:** PreToolUse (Bash)
|
|
315
|
+
**По умолчанию:** Блокирует `git push --force` и `git push -f`.
|
|
315
316
|
|
|
316
|
-
Нет
|
|
317
|
+
Нет специфичных параметров политики. Используйте кросс-секционную [`hint`](/ru/configuration#hint-cross-cutting) для предложения альтернатив:
|
|
317
318
|
|
|
318
319
|
```json
|
|
319
320
|
{
|
|
320
321
|
"policyParams": {
|
|
321
322
|
"block-force-push": {
|
|
322
|
-
"hint": "Создайте новую
|
|
323
|
+
"hint": "Создайте новую ветку от текущего HEAD (например, `git checkout -b <new-branch>`) и запушьте её."
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
326
|
}
|
|
@@ -329,8 +330,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
329
330
|
|
|
330
331
|
### `warn-git-amend`
|
|
331
332
|
|
|
332
|
-
|
|
333
|
-
**По умолчанию:** Инструктирует Claude действовать
|
|
333
|
+
**Событие:** PreToolUse (Bash)
|
|
334
|
+
**По умолчанию:** Инструктирует Claude действовать осторожнее при запуске `git commit --amend`. Не блокирует команду.
|
|
334
335
|
|
|
335
336
|
Нет параметров.
|
|
336
337
|
|
|
@@ -338,7 +339,7 @@ failproofai поставляется с 30 встроенными политик
|
|
|
338
339
|
|
|
339
340
|
### `warn-git-stash-drop`
|
|
340
341
|
|
|
341
|
-
|
|
342
|
+
**Событие:** PreToolUse (Bash)
|
|
342
343
|
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `git stash drop`. Не блокирует команду.
|
|
343
344
|
|
|
344
345
|
Нет параметров.
|
|
@@ -347,8 +348,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
347
348
|
|
|
348
349
|
### `warn-all-files-staged`
|
|
349
350
|
|
|
350
|
-
|
|
351
|
-
**По умолчанию:** Инструктирует Claude
|
|
351
|
+
**Событие:** PreToolUse (Bash)
|
|
352
|
+
**По умолчанию:** Инструктирует Claude проверить, что он стейджит при запуске `git add -A` или `git add .`. Не блокирует команду.
|
|
352
353
|
|
|
353
354
|
Нет параметров.
|
|
354
355
|
|
|
@@ -356,12 +357,12 @@ failproofai поставляется с 30 встроенными политик
|
|
|
356
357
|
|
|
357
358
|
## База данных
|
|
358
359
|
|
|
359
|
-
|
|
360
|
+
Выявление деструктивных SQL операций перед их выполнением против вашей базы данных.
|
|
360
361
|
|
|
361
362
|
### `warn-destructive-sql`
|
|
362
363
|
|
|
363
|
-
|
|
364
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE` или `DELETE` без
|
|
364
|
+
**Событие:** PreToolUse (Bash)
|
|
365
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE` или `DELETE` без `WHERE` предложения.
|
|
365
366
|
|
|
366
367
|
Нет параметров.
|
|
367
368
|
|
|
@@ -369,8 +370,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
369
370
|
|
|
370
371
|
### `warn-schema-alteration`
|
|
371
372
|
|
|
372
|
-
|
|
373
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед запуском
|
|
373
|
+
**Событие:** PreToolUse (Bash)
|
|
374
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед запуском команд `ALTER TABLE`.
|
|
374
375
|
|
|
375
376
|
Нет параметров.
|
|
376
377
|
|
|
@@ -378,18 +379,18 @@ failproofai поставляется с 30 встроенными политик
|
|
|
378
379
|
|
|
379
380
|
## Предупреждения
|
|
380
381
|
|
|
381
|
-
|
|
382
|
+
Предоставление агентам дополнительного контекста перед потенциально рискованными, но не деструктивными операциями.
|
|
382
383
|
|
|
383
384
|
### `warn-large-file-write`
|
|
384
385
|
|
|
385
|
-
|
|
386
|
-
**По умолчанию:** Инструктирует Claude подтвердить перед записью файлов
|
|
386
|
+
**Событие:** PreToolUse (Write)
|
|
387
|
+
**По умолчанию:** Инструктирует Claude подтвердить перед записью файлов больше 1024 KB.
|
|
387
388
|
|
|
388
389
|
**Параметры:**
|
|
389
390
|
|
|
390
391
|
| Параметр | Тип | По умолчанию | Описание |
|
|
391
|
-
|
|
392
|
-
| `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого
|
|
392
|
+
|-------|------|---------|-------------|
|
|
393
|
+
| `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выдаётся предупреждение. |
|
|
393
394
|
|
|
394
395
|
**Пример:**
|
|
395
396
|
|
|
@@ -404,14 +405,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
404
405
|
```
|
|
405
406
|
|
|
406
407
|
<Note>
|
|
407
|
-
Обработчик хука
|
|
408
|
+
Обработчик хука применяет лимит stdin в 1 MB для полезных нагрузок. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение значительно ниже 1024.
|
|
408
409
|
</Note>
|
|
409
410
|
|
|
410
411
|
---
|
|
411
412
|
|
|
412
413
|
### `warn-package-publish`
|
|
413
414
|
|
|
414
|
-
|
|
415
|
+
**Событие:** PreToolUse (Bash)
|
|
415
416
|
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm publish`.
|
|
416
417
|
|
|
417
418
|
Нет параметров.
|
|
@@ -420,8 +421,8 @@ failproofai поставляется с 30 встроенными политик
|
|
|
420
421
|
|
|
421
422
|
### `warn-background-process`
|
|
422
423
|
|
|
423
|
-
|
|
424
|
-
**По умолчанию:** Инструктирует Claude быть
|
|
424
|
+
**Событие:** PreToolUse (Bash)
|
|
425
|
+
**По умолчанию:** Инструктирует Claude быть осторожнее при запуске фоновых процессов через `nohup`, `&`, `disown` или `screen`.
|
|
425
426
|
|
|
426
427
|
Нет параметров.
|
|
427
428
|
|
|
@@ -429,21 +430,57 @@ failproofai поставляется с 30 встроенными политик
|
|
|
429
430
|
|
|
430
431
|
### `warn-global-package-install`
|
|
431
432
|
|
|
432
|
-
|
|
433
|
+
**Событие:** PreToolUse (Bash)
|
|
433
434
|
**По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add` или `pip install` без виртуального окружения.
|
|
434
435
|
|
|
435
436
|
Нет параметров.
|
|
436
437
|
|
|
437
438
|
---
|
|
438
439
|
|
|
440
|
+
## Менеджеры пакетов
|
|
441
|
+
|
|
442
|
+
Определение того, какие менеджеры пакетов разрешено использовать агенту.
|
|
443
|
+
|
|
444
|
+
### `prefer-package-manager`
|
|
445
|
+
|
|
446
|
+
**Событие:** PreToolUse (Bash)
|
|
447
|
+
**По умолчанию:** Отключено. При включении блокирует любую команду менеджера пакетов, отсутствующую в списке `allowed`, и указывает Claude переписать команду, используя разрешённый менеджер.
|
|
448
|
+
|
|
449
|
+
Обнаруживает: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
|
|
450
|
+
|
|
451
|
+
| Параметр | Тип | По умолчанию | Описание |
|
|
452
|
+
|-----------|------|---------|-------------|
|
|
453
|
+
| `allowed` | string[] | `[]` | Разрешённые имена менеджеров пакетов. Любой обнаруженный менеджер, отсутствующий в списке, блокируется. При пустом списке политика является холостой. |
|
|
454
|
+
| `blocked` | string[] | `[]` | Дополнительные имена менеджеров для блокировки сверх встроенного списка (например, `['pdm', 'pipx']`). |
|
|
455
|
+
|
|
456
|
+
Встроенный список блокировки включает: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Используйте `blocked` для добавления менеджеров, отсутствующих в этом списке.
|
|
457
|
+
|
|
458
|
+
**Пример конфигурации:**
|
|
459
|
+
|
|
460
|
+
```json
|
|
461
|
+
{
|
|
462
|
+
"enabledPolicies": ["prefer-package-manager"],
|
|
463
|
+
"policyParams": {
|
|
464
|
+
"prefer-package-manager": {
|
|
465
|
+
"allowed": ["uv", "bun"],
|
|
466
|
+
"blocked": ["pdm", "pipx"]
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
С этой конфигурацией `pip install flask` и `pdm install flask` оба блокируются с сообщением, указывающим Claude использовать `uv` или `bun`. Команды вроде `uv pip install flask` разрешены, потому что `uv` в списке разрешений и проверяется первым.
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
439
476
|
## Поведение ИИ
|
|
440
477
|
|
|
441
|
-
|
|
478
|
+
Обнаружение, когда агенты застревают или ведут себя неожиданно.
|
|
442
479
|
|
|
443
480
|
### `warn-repeated-tool-calls`
|
|
444
481
|
|
|
445
|
-
|
|
446
|
-
**По умолчанию:** Инструктирует Claude пересмотреть, когда один и тот же инструмент вызывается 3
|
|
482
|
+
**Событие:** PreToolUse (все инструменты)
|
|
483
|
+
**По умолчанию:** Инструктирует Claude пересмотреть, когда один и тот же инструмент вызывается 3+ раза с идентичными параметрами — распространённый признак того, что агент застрял в цикле.
|
|
447
484
|
|
|
448
485
|
Нет параметров.
|
|
449
486
|
|
|
@@ -451,14 +488,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
451
488
|
|
|
452
489
|
## Рабочий процесс
|
|
453
490
|
|
|
454
|
-
|
|
491
|
+
Обеспечение дисциплинированного рабочего процесса конца сеанса. Эти политики срабатывают при событии **Stop** и блокируют Claude от остановки до выполнения каждого условия. Они следуют естественной цепочке зависимостей: commit → push → PR → CI. Если политика блокирует, более поздние политики в цепочке пропускаются (deny короткие замыкания).
|
|
455
492
|
|
|
456
493
|
Все политики рабочего процесса **fail-open**: если требуемый инструмент недоступен (например, `gh` не установлен, нет git remote), политика разрешает с информационным сообщением, объясняющим, почему проверка была пропущена.
|
|
457
494
|
|
|
458
495
|
### `require-commit-before-stop`
|
|
459
496
|
|
|
460
|
-
|
|
461
|
-
**По умолчанию:**
|
|
497
|
+
**Событие:** Stop
|
|
498
|
+
**По умолчанию:** Блокирует остановку при наличии неиндексированных изменений (изменённые, индексированные или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочая директория чиста.
|
|
462
499
|
|
|
463
500
|
Нет параметров.
|
|
464
501
|
|
|
@@ -466,14 +503,14 @@ failproofai поставляется с 30 встроенными политик
|
|
|
466
503
|
|
|
467
504
|
### `require-push-before-stop`
|
|
468
505
|
|
|
469
|
-
|
|
470
|
-
**По умолчанию:**
|
|
506
|
+
**Событие:** Stop
|
|
507
|
+
**По умолчанию:** Блокирует остановку при наличии неотправленных коммитов или когда текущая ветка не имеет ветки отслеживания на удалённом сервере. Предлагает `git push -u` для создания ветки отслеживания, если необходимо. Открывается, если нет настроенного удалённого сервера.
|
|
471
508
|
|
|
472
509
|
**Параметры:**
|
|
473
510
|
|
|
474
511
|
| Параметр | Тип | По умолчанию | Описание |
|
|
475
|
-
|
|
476
|
-
| `remote` | `string` | `"origin"` | Имя
|
|
512
|
+
|-------|------|---------|-------------|
|
|
513
|
+
| `remote` | `string` | `"origin"` | Имя удалённого сервера для push. |
|
|
477
514
|
|
|
478
515
|
**Пример:**
|
|
479
516
|
|
|
@@ -491,30 +528,30 @@ failproofai поставляется с 30 встроенными политик
|
|
|
491
528
|
|
|
492
529
|
### `require-pr-before-stop`
|
|
493
530
|
|
|
494
|
-
|
|
495
|
-
**По умолчанию:**
|
|
531
|
+
**Событие:** Stop
|
|
532
|
+
**По умолчанию:** Блокирует остановку при отсутствии pull request для текущей ветки или когда существующий PR закрыт/объединён. Инструктирует Claude создать PR с помощью `gh pr create`.
|
|
496
533
|
|
|
497
534
|
Нет параметров.
|
|
498
535
|
|
|
499
536
|
<Note>
|
|
500
|
-
Эта политика требует установки
|
|
501
|
-
Запустите `gh auth login` с личным
|
|
502
|
-
pull request
|
|
537
|
+
Эта политика требует установки [GitHub CLI](https://cli.github.com/) (`gh`) и аутентификации.
|
|
538
|
+
Запустите `gh auth login` с личным маркером доступа с областью действия `repo` для чтения
|
|
539
|
+
pull request'ов. Если `gh` не установлен или не аутентифицирован, политика открывается и докладывает причину Claude.
|
|
503
540
|
</Note>
|
|
504
541
|
|
|
505
542
|
---
|
|
506
543
|
|
|
507
544
|
### `require-ci-green-before-stop`
|
|
508
545
|
|
|
509
|
-
|
|
510
|
-
**По умолчанию:**
|
|
546
|
+
**Событие:** Stop
|
|
547
|
+
**По умолчанию:** Блокирует остановку при сбое или продолжении выполнения CI проверок на текущей ветке. Проверяет как запуски рабочих процессов GitHub Actions, так и проверки ботов третьих сторон (например, CodeRabbit, SonarCloud, Codecov). Рассматривает `skipped` выводы как успех. Возвращает информационное сообщение, когда все проверки пройдены.
|
|
511
548
|
|
|
512
549
|
Нет параметров.
|
|
513
550
|
|
|
514
551
|
<Note>
|
|
515
|
-
Эта политика требует установки
|
|
516
|
-
Запустите `gh auth login` с личным
|
|
517
|
-
|
|
552
|
+
Эта политика требует установки [GitHub CLI](https://cli.github.com/) (`gh`) и аутентификации.
|
|
553
|
+
Запустите `gh auth login` с личным маркером доступа с областью действия `repo` для чтения
|
|
554
|
+
запусков рабочих процессов Actions и Checks API. Если `gh` не установлен или не аутентифицирован, политика открывается и докладывает причину Claude.
|
|
518
555
|
</Note>
|
|
519
556
|
|
|
520
557
|
---
|
|
@@ -523,7 +560,7 @@ pull request. Если `gh` не установлен или не аутенти
|
|
|
523
560
|
|
|
524
561
|
## Отключение отдельных политик
|
|
525
562
|
|
|
526
|
-
Удалите
|
|
563
|
+
Удалите определённую политику из `enabledPolicies` в вашей конфигурации или отключите её на вкладке Policies в панели управления.
|
|
527
564
|
|
|
528
565
|
```json
|
|
529
566
|
{
|
|
@@ -534,4 +571,4 @@ pull request. Если `gh` не установлен или не аутенти
|
|
|
534
571
|
}
|
|
535
572
|
```
|
|
536
573
|
|
|
537
|
-
Политики, не указанные в `enabledPolicies`, не запускаются, даже если существуют записи `policyParams
|
|
574
|
+
Политики, не указанные в `enabledPolicies`, не запускаются, даже если существуют для них записи `policyParams`.
|