Claude Code · доступ к данным
Claude Code безопасность данных в 2026 году: закрой .env и .ssh
Открой команду /permissions, посмотри свой текущий режим и добавь три строки deny под личные файлы - и Claude Code больше не прочитает .env и папку .ssh, в каком бы режиме разрешений ты не работал. На это уходит пять минут, готовый блок для вставки лежит ниже
К концу статьи у тебя будет закрыт реальный доступ к ключам и паролям на твоём компьютере, а не абстрактное понимание того, что "где-то есть настройки безопасности". Дальше по шагам: где смотреть текущий режим, куда вставлять запрет, как проверить, что он реально сработал, и что делать, если файл настроек перестал открываться после правки
Сегодня делаешь так: сохраняешь блок из статьи в свой файл настроек, перезапускаешь Claude Code и сразу проверяешь готовое правило на живом файле - просишь агента прочитать свой .env и смотришь на отказ своими глазами. Если после сохранения появилось сообщение об ошибке, а не тишина - смотри таблицу сбоев ниже, там разбор по каждому виду ошибки
Шаг 1. Открой список своих правил командой /permissions
Одна команда показывает весь список текущих разрешений и режим, в котором сейчас работает твой Claude Code
Куда нажать. Внутри окна Claude Code (там, где ты пишешь ему задачи обычными словами) напечатай /permissions и нажми Enter
Что увидишь. Откроется список правил с пометкой, из какого файла настроек каждое взято, и наверху - твой текущий режим: default (в интерфейсе подписан как Manual), acceptEdits, plan, auto, dontAsk или bypassPermissions
Что это даёт. Ты узнаёшь, сколько раз в день Claude Code реально спрашивает у тебя разрешение, прежде чем что-то сделать - и понимаешь, что это за режим, до того как что-то пойдёт не так
Разница между режимами - именно в том, сколько действий агент делает без вопроса к тебе. Таблица снята с живой документации 09.09.2026:
| Режим | Что делает без вопроса к тебе | Кому подходит |
|---|---|---|
| default (Manual) | спрашивает разрешение при первом использовании каждого инструмента | ревью каждого шага, чувствительные данные |
| acceptEdits | правки файлов и обычные команды с папками (создать, переместить, скопировать) | правка кода, который ты и так проверяешь |
| plan | только чтение и разведка, ничего не меняет | посмотреть на чужой проект перед правками |
| auto | почти всё, с фоновой проверкой встроенным классификатором | долгие задачи, меньше прерываний |
| dontAsk | только заранее одобренные тобой команды | закрытая автоматизация без диалога, без лишних вопросов |
| bypassPermissions | буквально всё без единого вопроса | только изолированный контейнер или виртуальная машина |
Таблица прокручивается вбок →
Важная деталь про платные тарифы, из-за которой стоит проверить именно свою установку, а не считать "там наверное всё по умолчанию максимально осторожно": на Pro, Max и Team-планах стартовый режим - auto, а не самый строгий default. Часть решений там принимает встроенный классификатор вместо тебя
Шаг 2. Найди файл настроек и открой его в редакторе
Правила deny добавляются не через команду /permissions напрямую (хотя через её диалог тоже можно), а прямо в файл настроек - находишь его один раз и дальше правишь текстом
Куда нажать. Файл лежит по пути ~/.claude/settings.json - это твои личные настройки, действуют во всех проектах. Открой его любым текстовым редактором (Блокнот, TextEdit, VS Code, что угодно)
Что увидишь. Обычный текстовый файл с записью в фигурных скобках, кавычках и квадратных скобках для списков. Если файла нет вообще - создай его пустым и вставь блок из следующего шага целиком
Что это даёт. Ты нашёл единственное место, откуда управляются все запреты и разрешения твоей установки - дальше вся настройка сводится к правке этого одного файла
На собственной машине, где собирается этот сайт, живой прогон 09.09.2026 показал: defaultMode: bypassPermissions, при этом 38 разрешённых категорий действий и 0 правил deny. То есть даже у рабочей установки, которую использую каждый день, поначалу нет ни одного явного запрета - его нужно добавить руками, автоматически он не появляется ни в одном режиме
Шаг 3. Вставь готовый блок deny под свои личные файлы
Три строки закрывают три самых частых места хранения ключей и паролей на любом компьютере: файл с секретными настройками проекта (обычно называется .env), его резервные копии и папку с ключами для входа на чужие компьютеры по сети (обычно называется .ssh)
Куда нажать. Скопируй блок ниже целиком и вставь его в свой settings.json. Если в файле уже есть раздел "permissions" - перенеси строки из "deny" внутрь существующего раздела, не создавая второй такой же ключ
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(~/.ssh/**)"
]
}
}
Что увидишь. Файл сохранился без ошибок, три строки внутри массива deny
Что это даёт. Claude Code теперь физически не может прочитать эти пути ни через свои встроенные инструменты чтения, ни через узнаваемые команды вроде cat или sed - запрет действует независимо от режима разрешений, который ты выбрал на шаге 1, включая даже самый разрешительный bypassPermissions
.env, что вставлен в шаге вышеРасширенный вариант того же блока - для типовых мест хранения ключей и сертификатов, если они у тебя есть отдельно от .env:
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(~/.ssh/**)",
"Read(*.pem)",
"Read(*.key)"
]
}
}
Одна важная особенность синтаксиса, которая часто путает на старте: путь без // в начале и без ~/ читается ОТ ТЕКУЩЕЙ РАБОЧЕЙ ПАПКИ, а не от корня диска. Read(~/.ssh/**) возьмёт папку .ssh в твоей домашней директории откуда угодно, а вот Read(/secrets/**), добавленный в личный файл настроек, заблокирует не папку secrets в проекте, а ~/.claude/secrets/** - потому что одиночный слеш в начале означает "от места, где лежит сам файл настроек", а не "от корня диска". Для абсолютного пути от корня нужны именно ДВА слеша: //Users/имя/secrets/**
Шаг 4. Сохрани файл и проверь, что запись не сломана
Одна лишняя запятая - и файл настроек перестанет читаться целиком, а не только новое правило
Куда нажать. Сохрани файл обычным сочетанием (Ctrl+S на Windows, Cmd+S на Mac) и открой Claude Code заново в любой папке
Что увидишь. Если запись правильная - никаких сообщений, Claude Code просто стартует как обычно. Если запись сломана - при старте появится сообщение об ошибке настроек, и не только новое правило deny, а ВЕСЬ файл перестанет применяться
Что это даёт. Ты убедился, что запрет реально заработал, а не просто лежит строкой в файле, который Claude Code не смог прочитать
Файл настроек читается строго: лишняя запятая после последнего элемента списка или пояснение прямо внутри файла - это ошибка записи, а не мелочь. Живой тест на этой машине 09.09.2026: строка {"permissions": {"deny": ["Read(./.env)",]}} (запятая после последнего элемента) сразу даёт ошибку разбора «висячая запятая перед концом списка» - и обычный текстовый редактор эту ошибку сам не подсветит цветом, как это делают специальные программы для кода
| Что видишь | Что это значит | Что сделать |
|---|---|---|
| Claude Code запустился без единого сообщения об ошибке | Файл настроек прочитан успешно | Переходи к шагу 5 и проверяй запрет живьём |
| При старте появилось сообщение про ошибку в файле настроек | Где-то в файле лишняя запятая, незакрытая кавычка или скобка | Сравни свой файл построчно с блоком из шага 3 - скорее всего запятая осталась после последнего элемента списка |
В /permissions новое правило deny не появилось в списке | Правка попала не в тот файл (например, в личные настройки этого одного проекта, а не в общий файл настроек для всех проектов) | Открой именно общий файл ~/.claude/settings.json и повтори вставку там |
| Файл был пустой, и после вставки блока Claude Code не запускается | Пропущены внешние фигурные скобки - вставлен только внутренний блок permissions без обёртки в объект | Сверь весь файл целиком со структурой из шага 3, включая внешние { } |
Таблица прокручивается вбок →
Шаг 5. Перезапусти Claude Code и проверь запрет живьём
Попроси Claude Code прочитать свой .env - если правило встало, он откажет с понятной причиной, а не молча притворится, что файла не существует
Куда нажать. В открытом окне Claude Code напиши обычными словами: "Прочитай файл .env в этой папке" (при условии что такой файл в папке есть, пусть даже пустой)
Что увидишь. Вместо содержимого файла - сообщение о том, что путь закрыт правилом разрешений, со ссылкой на конкретное правило deny из твоих настроек
Что это даёт. Ты своими глазами увидел, что запрет не теоретический: агент физически не может достать этот файл, даже если сам явно попросит его прочитать через инструмент чтения
Отдельно стоит знать честную границу этого способа: deny-правило блокирует встроенные инструменты чтения файлов Claude Code (и узнаваемые команды вроде cat, head, sed) - но не останавливает отдельную стороннюю программу, которую агент сам написал и запустил, если та открывает файл напрямую, минуя саму проверку. Для защиты на уровне всей системы, которая держит любую запущенную программу без исключений, служит отдельный механизм - песочница, включается командой /sandbox. Deny в файле настроек - это первый и самый быстрый барьер, а не единственный из всех возможных
Куда уходят данные, если ты их всё же показал агенту
Разница между «агент физически не видит файл» и «агент увидел файл, а что дальше с этими данными» - два разных вопроса, и у второго свой ответ, без зависимости от deny-правил из шагов выше
| Способ подключения | Обучение на данных по умолчанию | Что меняет ситуацию |
|---|---|---|
| Ключ доступа к API (сюда же Team, Enterprise) | Выключено | Явно отправленный тобой фидбег через кнопку в интерфейсе |
| Личный аккаунт Claude.ai (Free, Pro, Max) | Выключено | Твоё явное согласие в настройках приватности - тогда включается |
Таблица прокручивается вбок →
Если работаешь по ключу доступа к программному интерфейсу Anthropic - обучение выключено по умолчанию, это прямая цитата с официальной страницы: «By default, we will not use your inputs or outputs from our commercial products... to train our models». Если работаешь через личный аккаунт Claude.ai - действует другая, потребительская политика: обучение включается только по твоему явному согласию в настройках приватности
Три вещи, которые deny-правило не решает
Три места, где одного файла настроек недостаточно, и туда стоит идти отдельно, а не считать, что три строки deny закрыли вообще всё
- Незнакомая сторонняя надстройка MCP (внешний инструмент, который подключаешь к Claude Code сам, помимо встроенных) - Anthropic проверяет такие надстройки перед добавлением в общий каталог, но не разбирает содержимое каждой построчно. Относись к новой незнакомой надстройке как к незнакомому расширению браузера, которое не проверил
- Прямой доступ к боевой базе данных живого продукта без изоляции - ошибка в одной команде агента становится ошибкой на реальных пользователях, а не в тестовой копии. Deny-правило про файлы тут не поможет, нужна отдельная тестовая копия базы
- Чужие персональные данные без согласия того, кому они принадлежат - если по работе обрабатываешь данные клиентов или пациентов, вопрос не в настройках Claude Code, а в том, есть ли у тебя право показывать эти данные вообще какому-либо облачному инструменту
Что ещё почитать про безопасность Claude Code
- Безопасность ИИ-агентов: чтобы Claude не удалил твой проект - пошаговая настройка страховки от потери файлов, permission-режимов и песочницы
- Безопасность автономных ИИ-агентов: 4 риска 2026 года - карта классов риска у любого автономного агента, не только Claude Code
- Prompt injection что это: 5 шагов защиты от атаки на бота - разбор атаки через чужой текст отдельно
- Что делать, если ИИ удалил базу данных: 3 места, где лежат копии - первая помощь, если превентивные меры не сработали
- Рейтинг приватности нейросетей 2026 года: 6 сервисов - сравнение обучения и хранения данных у ChatGPT, Claude.ai, Gemini и других
- Как пользоваться Claude Code: установка и 9 шагов до проекта - если ещё не установил инструмент, о котором эта статья
- Агенты для Claude Code: полный разбор для новичка - если у тебя уже подключены дополнительные агенты и надстройки
- ChatGPT и нейросети воруют пароли: 7 правил 2026 года - другой канал утечки, атаки на аккаунт и вредоносные расширения
- ChatGPT vs Claude 2026: 4 задачи, цены и проверка из России - если выбираешь между инструментами не только по безопасности
- Нейросети и инструменты: все разборы - полный список гайдов про Claude Code на сайте
Источники
Страницы проверены живьём: первый снимок 05.09.2026, повторная проверка доступности 09.09.2026 (обе страницы открылись без ошибок), собственный прогон настроек этой машины - 09.09.2026
- Anthropic, официальная документация Claude Code: Configure permissions - синтаксис deny/allow/ask, порядок применения правил, working directory boundary
- code.claude.com/docs/en/permissions
- Anthropic, официальная документация Claude Code: Permission modes - таблица всех шести режимов разрешений
- code.claude.com/docs/en/permission-modes
- Anthropic, официальная документация Claude Code: Settings reference и пример файла с deny-правилом для .env - структура settings.json, пример блока permissions
- code.claude.com/docs/en/settings-reference
- Anthropic, официальная документация Claude Code: Sandboxing - изоляция файловой системы и сети для запущенных команд
- code.claude.com/docs/en/sandboxing
- Anthropic Privacy Center: используются ли мои данные для обучения модели - разница между коммерческими и потребительскими условиями
- privacy.claude.com/en/articles/7996868-is-my-data-used-for-model-training
Памятка: закрыть доступ Claude Code к личным данным за 5 минут
Пять строк пути от открытого файла до проверенного запрета
Сохрани себе
- Открыл /permissions и увидел свой текущий режим - default, acceptEdits, plan, auto, dontAsk или bypassPermissions
- Нашёл файл ~/.claude/settings.json и открыл его в текстовом редакторе
- Вставил блок deny с тремя правилами: Read(./.env), Read(./.env.*), Read(~/.ssh/**)
- Сохранил файл, перезапустил Claude Code и убедился, что ошибки формата нет
- Попросил агента прочитать закрытый файл и получил отказ с указанием правила - запрет подтверждён живым тестом
Пять минут потрачены
Настройки закрыты, следующий шаг тоже бесплатный
Три строки deny стоят, запрет проверен своими руками. Дальше вопрос встаёт на уровень выше самого файла настроек - как строить систему вокруг себя так, чтобы права росли вместе с доверием, а не выдавались все сразу первому же инструменту
Заявка в закрытый канал, одобряю сразу. Бот сам напишет первым и покажет, как забрать три дня Лагеря. Бесплатно
Частые вопросы
Claude Code читает вообще все файлы на компьютере?
Нет. По умолчанию, в режиме default (Manual), Claude Code спрашивает разрешение на первое использование каждого инструмента чтения, а за пределами рабочей папки - на каждую попытку заглянуть в файл. Но на платных тарифах Pro, Max и Team стартовый режим по умолчанию - auto, где часть решений принимает не ты, а встроенный классификатор. Проверить свой текущий режим - первый шаг этой статьи
Правило deny действует в любом режиме разрешений?
Да, и это его смысл. Deny стоит выше режима: даже в разрешительном auto или в bypassPermissions правило deny из settings.json продолжает блокировать совпавший путь. Единственное, что снимает deny - его собственное удаление из файла настроек
Почему не работает файл .claudeignore?
Потому что такого механизма в Claude Code не существует. Официальная документация не описывает игнор-файл вроде .gitignore для запрета чтения - единственный рабочий способ закрыть путь это правило deny в settings.json. Если где-то видел совет создать .claudeignore, он не сработает
Что будет, если в settings.json опечатка - лишняя запятая?
Файл целиком перестанет читаться, и Claude Code сообщит об этом ошибкой настроек при следующем старте - причём отвалятся не только новые правила, а весь файл. Проверено на этой машине 09.09.2026: лишняя запятая после последнего элемента списка сразу даёт ошибку разбора «висячая запятая», обычный текстовый редактор такую ошибку не подчеркнёт цветом сам
Мои данные из Claude Code идут на обучение модели Anthropic?
Зависит от способа подключения. По API-ключу (сюда же Team и Enterprise) обучение выключено по умолчанию, исключение - только если сам отправил фидбег через кнопку в интерфейсе. Через личный аккаунт Claude.ai (Free, Pro, Max) обучение включается лишь по явному согласию в настройках приватности
Deny-правило защитит и от отдельной программы, которую агент написал сам и запустил?
Нет. Deny блокирует встроенные инструменты чтения Claude Code и узнаваемые команды вроде cat и sed, но не останавливает отдельную запущенную программу, которая открывает файл напрямую, минуя эти инструменты. Для защиты на уровне всей системы, которая держит любую программу без исключений, служит песочница, включается командой /sandbox