> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Наборы политик

> Установите набор политик, опубликованный как релиз GitHub, и управляйте тем, что он обеспечивает.

Набор — это совокупность политик, опубликованная как релиз GitHub. Одна команда устанавливает его, контрольные суммы самого релиза проверяются до запуска чего-либо, а дайджест записывается так, чтобы набор не мог измениться на вашем компьютере впоследствии.

## Установите политики Failproof AI

```bash theme={null}
failproofai pack add core
```

Это устанавливает набор, который мы опубликовали, из копии внутри пакета — поэтому ему не требуется сетевой доступ и он не может сбиться за прокси. Возьмите его часть:

```bash theme={null}
failproofai pack add core --policy block-rm-rf         # одну или несколько через запятую
failproofai pack add core --category dangerous-commands # целую категорию
failproofai pack add core --all                         # всё в нём
```

`failproofai pack list` перечисляет все категории, которые предлагает набор.

## Посмотрите, что содержит набор, перед его установкой

```bash theme={null}
failproofai pack list acme/support-agent
```

Перечисляет все политики, которые содержит набор, сгруппированные по категориям, отмечая, какие из них автор включает по умолчанию, а какие являются опциональными. Читает **только манифест** — артефакт входа никогда не загружается и не импортируется, поэтому просмотр чужого набора не может выполнить чужой код. Манифест всё ещё проверяется против `SHA256SUMS` самого релиза, поэтому то, что вы читаете, — это то, что будет установлено.

`failproofai pack list` без источника перечисляет уже установленные здесь наборы.

## Установите чужой набор

```bash theme={null}
failproofai pack add acme/support-agent
```

Любой из этих вариантов работает — вставьте тот, который у вас есть:

| Источник                                                    | Результат                                                          |
| ----------------------------------------------------------- | ------------------------------------------------------------------ |
| `acme/support-agent`                                        | Последний релиз, **закреплён** к точному тегу, который он разрешил |
| `acme/support-agent@v2.1.0`                                 | Этот релиз                                                         |
| `github:acme/support-agent@v2.1.0`                          | То же самое, написано явно                                         |
| `https://github.com/acme/support-agent/releases/tag/v2.1.0` | То же самое, скопировано из браузера                               |

Если не указывать тег, устанавливается последний релиз **и он закрепляется**, затем система сообщает вам, какой тег она выбрала. То, что записывается, всегда обозначает ровно один релиз, поэтому переустановка не может дрейфовать.

## Возьмите часть набора

По умолчанию вы получаете **собственные** значения по умолчанию набора — политики, которые его автор отметил как безопасные для включения без присмотра — а не всё, что он содержит.

```bash theme={null}
failproofai pack add acme/support-agent --category billing,git
failproofai pack add acme/support-agent --policy block-refunds
failproofai pack add acme/support-agent --all
```

`--category` и `--policy` комбинируются как объединение (`--only` принимается как синоним для `--policy`). Повторное добавление с более новой версией сохраняет то, что вы выбрали, вместо включения остального обратно.

## Управляйте тем, что включено

```bash theme={null}
failproofai policies                    # все источники в одном списке, включая наборы
failproofai pack list                   # только наборы, сгруппированные по категориям
failproofai policies --uninstall block-refunds        # выключить одну политику набора
failproofai policies --install block-refunds          # и включить обратно
failproofai pack remove acme/support-agent
```

Простое имя означает **встроенное** когда оно существует с таким именем. Явно назовите копию набора, когда вам это нужно:

```bash theme={null}
failproofai policies --uninstall acme/support-agent:block-refunds
```

<Note>
  Если набор поставляет политику, чьё имя также является **включённой встроенной**, встроенная политика работает и копия набора пропускается — иначе одна и та же защита была бы оценена дважды. Выключите встроенную политику, чтобы вместо этого использовать копию набора.
</Note>

## Откуда берутся политики Failproof AI

`core` читает копию, включённую в npm-пакет. Этот же набор опубликован как релиз GitHub, который вы устанавливаете, если хотите конкретную версию:

```bash theme={null}
failproofai pack add core                    # из этого пакета, без сети
failproofai pack add FailproofAI/policies    # тот же набор из его релиза GitHub
```

## Что гарантирует целостность и что нет

`SHA256SUMS` поставляется в том же релизе, что и артефакт, поэтому это **не** подпись и ничего не доказывает о том, кто его опубликовал. То, что это доказывает, — что байты являются теми, которые опубликовал этот релиз — и поскольку дайджест записывается при добавлении набора и повторно проверяется перед каждым импортом, набор не может измениться на вашем компьютере впоследствии. Репозиторий, который переделывает тег или заменяет актив, перестаёт загружаться вместо того, чтобы молча выполнить что-то другое.

При установке набор также **импортируется один раз** и проверяется на соответствие его собственному манифесту. Набор, артефакт которого не анализируется или который регистрирует что-то отличное от того, что он объявляет, отклоняется до активации чего-либо — вместо того, чтобы установиться чисто и сбиться при следующем вызове инструмента.

## Когда набор не загружается

Набор, который этому компьютеру было приказано обеспечить и который не может выполнить, **отклоняет** события, которые покрывали его отсутствующие политики, вместо того, чтобы молча разрешить их. См. [Поведение при сбое](/ru/policies/failure-behavior). `failproofai pack list` называет любой набор в этом состоянии и выходит с ненулевым кодом.

## Автономная работа и зеркала

| Переменная                  | Эффект                                                                |
| --------------------------- | --------------------------------------------------------------------- |
| `FAILPROOFAI_NO_DOWNLOAD=1` | Отказывает в загрузке; установленные наборы продолжают обеспечиваться |
| `FAILPROOFAI_PACK_BASE_URL` | Направляет загрузку набора на зеркало вместо `github.com`             |

Публикация собственного набора: см. [Опубликуйте набор](/ru/policies/publish-a-pack).
