> ## 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.

# Локальная конфигурация

> Управляйте областью действия политик, параметрами, пользовательскими файлами и настройками Failproof AI на уровне машины.

Failproof AI разделяет выбор политик от настроек машины и демона. Это позволяет хранить выбор политик репозитория в рецензируемом виде, а учётные данные и состояние демона остаются вне репозитория.

## Выберите область действия политики

<Tabs>
  <Tab title="Dashboard">
    Запустите `failproofai` без аргументов, чтобы открыть локальную панель управления политиками. Выберите область действия пользователя, проекта или локальную перед включением политики, чтобы изменение было записано в нужный файл конфигурации.

    * **User** действует на все проекты на этой машине.
    * **Project** относится к репозиторию и может быть закоммичено.
    * **Local** переопределяет один проект для одного пользователя и должно оставаться в gitignore.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    failproofai policy add block-rm-rf --scope user
    failproofai policy add block-force-push --scope project
    failproofai policy add warn-large-file-write --scope local
    failproofai policies
    ```

    Не все интеграции поддерживают локальную область действия. CLI отклонит область действия, которую выбранная интеграция не может представить.
  </Tab>
</Tabs>

| Область действия | Файл конфигурации политики                          |
| ---------------- | --------------------------------------------------- |
| Project          | `<project>/.failproofai/policies-config.json`       |
| Local            | `<project>/.failproofai/policies-config.local.json` |
| User             | `~/.failproofai/policies-config.json`               |

Включённые политики объединяются как объединение. Параметры политики используют первую область действия, которая определяет параметры для этой политики, в порядке project → local → user. Явные пользовательские пути политик используют первую область действия, которая их определяет.

## Настройте параметры политики

<Tabs>
  <Tab title="Dashboard">
    Откройте политику в локальной панели управления, отредактируйте поддерживаемые параметры и сохраните в выбранной области действия. Запустите совпадающее и несовпадающее действие агента, затем просмотрите решение в **Observe → policy**.
  </Tab>

  <Tab title="CLI">
    Отредактируйте `policies-config.json` выбранной области действия, затем запустите `failproofai policies` для выявления неизвестных имён политик или ключей параметров.

    ```json theme={null}
    {
      "enabledPolicies": ["block-rm-rf", "block-force-push"],
      "policyParams": {
        "block-rm-rf": {
          "allowPaths": ["/tmp/build-output"]
        }
      }
    }
    ```

    ```bash theme={null}
    failproofai policies
    ```
  </Tab>
</Tabs>

## Разберитесь в файлах машины

`~/.failproofai` содержит отдельные файлы для отдельных границ доверия:

| Путь                   | Назначение                                                                              |
| ---------------------- | --------------------------------------------------------------------------------------- |
| `config.json`          | Настройки демона, аудита и телеметрии без секретов                                      |
| `credentials.json`     | Облачные учётные данные; хранятся с разрешениями только для владельца                   |
| `policies-config.json` | Встроенный выбор, параметры и явные пользовательские пути области действия пользователя |
| `policies/`            | Пользовательские политики соглашения и артефакты политик, управляемые облаком           |
| `hook-activity/`       | Локальный журнал решений политики                                                       |
| `state/`               | Очередь демона, здоровье, пауза и состояние выполнения                                  |

Используйте `FAILPROOFAI_HOME` для переноса полного макета машины для контейнера или изолированного теста. Не переносите отдельные каталоги состояния независимо.

<Warning>
  Никогда не коммитьте `credentials.json`. Коммитьте конфигурацию политики проекта и пользовательские политики проекта только после их рассмотрения как код обеспечения.
</Warning>
