152-ФЗ и AI: персональные данные в эпоху нейросетей
Как 152-ФЗ влияет на AI-продукты — обучение моделей, RAG, чат-боты, согласие и локализация данных
Вы строите AI-продукт для российского рынка — чат-бот, RAG-систему, сервис аналитики. Пользователи вводят свои имена, загружают документы, задают вопросы. Всё это — персональные данные, и на них распространяется 152-ФЗ. Нарушения — это не абстрактный риск: с 2025 года штрафы выросли до 15 млн рублей за утечки и до 3% годовой выручки при повторных нарушениях. В этой статье — практическое руководство: что считается персональными данными в контексте AI, когда нужно согласие, как локализовать данные и что делать с правами пользователей.
Представьте, что персональные данные — это чужие вещи, которые вам дали на хранение. Вы не можете просто взять их и отдать кому-то ещё, использовать без разрешения или вывезти за границу. 152-ФЗ — это правила, которые объясняют, что именно вы можете делать с чужими вещами, как их хранить и когда обязаны вернуть. AI-продукт, который работает с данными пользователей, — это по сути камера хранения, и к ней предъявляются конкретные требования.
152-ФЗ — федеральный закон «О персональных данных», действующий с 2006 года и существенно ужесточённый в 2025-м. Он регулирует любую обработку персональных данных (ПД) — сбор, хранение, использование, передачу и удаление. Если ваш AI-продукт хоть как-то взаимодействует с данными пользователей, этот закон касается вас напрямую.
Согласие — нужно получить у пользователя до начала обработки ПД. С 1 сентября 2025 года — только отдельным документом, не частью пользовательского соглашения
Локализация — ПД граждан России хранятся на серверах в РФ. С 1 июля 2025 года хранение в зарубежных базах данных запрещено
Права пользователей — доступ к своим данным, исправление, удаление, отзыв согласия
Уведомление Роскомнадзора — оператор ПД обязан уведомить регулятора до начала обработки данных
С 30 мая 2025 года введены оборотные штрафы — до 3% годовой выручки компании за повторные нарушения. Это значит, что для крупного бизнеса штраф может измеряться сотнями миллионов рублей.
152-ФЗ определяет персональные данные широко: это любая информация, относящаяся к прямо или косвенно определённому или определяемому физическому лицу (субъекту ПД). Для AI-продуктов это означает, что даже неочевидные данные могут быть персональными.
Обычные персональные данные — ФИО, дата рождения, телефон, email, адрес, ИНН, СНИЛС. Это самый распространённый тип данных, с которым работают AI-продукты: формы регистрации, профили пользователей, история переписки с чат-ботом.
Специальные персональные данные — сведения о здоровье, расовой и национальной принадлежности, политических взглядах, религиозных убеждениях, судимости. Обработка таких данных требует отдельного письменного согласия. AI-продукты в медицине, HR и юридической сфере часто работают именно с этой категорией.
Биометрические персональные данные — сведения о физиологических и биологических особенностях человека, по которым можно установить его личность: фотография лица, запись голоса, отпечатки пальцев, рисунок радужки глаза. Voice AI, системы распознавания лиц, биометрическая аутентификация — всё это работа с биометрическими ПД, которая регулируется особенно строго.
Если данные анонимизированы так, что по ним невозможно определить конкретного человека, — они не являются персональными данными и не подпадают под 152-ФЗ. Но анонимизация должна быть необратимой: если по совокупности данных можно восстановить личность, это по-прежнему ПД.
Если вы обучаете (fine-tune) модель на данных, содержащих ПД, — это обработка персональных данных. Необходимо:
Получить согласие субъектов на обработку ПД для целей обучения модели
Либо обезличить данные до обучения — так, чтобы восстановить личность было невозможно
Хранить обучающие данные на серверах в РФ
Даже если фотография или текст в социальной сети видны всем, использовать их для обучения нейросети без отдельного согласия субъекта — нарушение 152-ФЗ. «Общедоступность» не означает «свободное использование».
RAG-система (Retrieval-Augmented Generation), в которой пользователь загружает свои документы, — это обработка ПД, если документы содержат персональные данные. Типичные примеры: корпоративная база знаний с упоминанием сотрудников, юридические документы с именами сторон, медицинские записи.
Требования:
Согласие на обработку ПД (отдельный документ с 1 сентября 2025)
Хранение документов и векторной базы на серверах в РФ
Возможность удаления данных пользователя по запросу
Не передавать документы с ПД внешним API за пределами РФ
Чат-бот, сохраняющий историю разговоров, — это оператор ПД, если пользователи сообщают свои имена, контакты, медицинские симптомы, финансовую информацию и другие данные, по которым их можно идентифицировать.
Нарушает 152-ФЗ
Чат-бот сохраняет всю историю переписки на серверах OpenAI в США. Пользователи вводят ФИО, номера договоров, описания симптомов. Согласие на обработку ПД встроено в пользовательское соглашение общим пунктом. Нет механизма удаления истории.
Соответствует 152-ФЗ
Чат-бот хранит историю на серверах в РФ. Перед отправкой в LLM-API данные анонимизируются — ФИО заменяются на идентификаторы. Согласие на обработку ПД оформлено отдельным документом. Пользователь может удалить историю в один клик.
Согласие необходимо для любой обработки ПД, за исключением случаев, прямо предусмотренных законом (исполнение договора, защита жизненно важных интересов, законные интересы оператора и др.).
Для AI-продуктов согласие нужно практически всегда:
Обработка ПД необходима для исполнения договора с субъектом (например, доставка заказа по адресу)
Данные обрабатываются в статистических или исследовательских целях при условии обязательного обезличивания
Обработка необходима для защиты жизненно важных интересов субъекта
Данные сделаны общедоступными самим субъектом (но это не распространяется на обучение моделей)
Даже если вы считаете, что попадаете под исключение, — получите согласие. Это проще, чем доказывать Роскомнадзору, что исключение применимо к вашему конкретному случаю.
Плюсы
Полная локализация устраняет риски трансграничной передачи
Обезличивание позволяет использовать лучшие зарубежные модели
Комбинированный подход: чувствительные данные локально, обезличенные — в облако
Минусы
Полная локализация ограничивает выбор моделей и увеличивает стоимость
Обезличивание не всегда возможно (контекст может восстановить личность)
Комбинированный подход сложнее в реализации и аудите
С 1 июля 2025 года действует ужесточённая редакция требований к локализации: запись, систематизация, накопление, хранение, уточнение и извлечение ПД граждан России должны осуществляться с использованием баз данных, расположенных на территории РФ.
Ранее допускалось хранение копий ПД за рубежом при условии первичной локализации в РФ. Новая редакция ставит этот подход под сомнение — регуляторы склоняются к тому, что хранение в зарубежных базах данных запрещено полностью.
Для размещения AI-инфраструктуры в России можно использовать:
Yandex Cloud — GPU-инстансы, managed Kubernetes, YandexGPT API
Cloud.ru (бывш. SberCloud) — GPU, ML-платформа, GigaChat API
VK Cloud — GPU, Kubernetes, S3-хранилище
Selectel — выделенные GPU-серверы, Kubernetes
МТС Cloud — облачная инфраструктура, GPU
Передача ПД в API OpenAI, Anthropic, Google — это трансграничная передача данных. Если в запросе к API содержатся ПД пользователей, это может нарушать требования локализации. Решения: использовать российские LLM (YandexGPT, GigaChat), анонимизировать данные перед отправкой или развернуть open-source модель на серверах в РФ.
152-ФЗ предоставляет субъектам ПД конкретные права, которые ваш AI-продукт обязан реализовать:
Право на доступ — пользователь может запросить информацию о том, какие его ПД вы обрабатываете, с какой целью, кому передаёте. Ответить нужно в течение 10 рабочих дней.
Право на исправление — если ПД неточные или устарели, пользователь вправе потребовать их уточнения. Оператор обязан внести изменения или уничтожить данные.
Право на удаление — пользователь может потребовать удаления своих ПД. Оператор обязан прекратить обработку и удалить данные в течение 30 дней.
Право на отзыв согласия — пользователь может отозвать согласие в любой момент. Форма отзыва — произвольная. После получения отзыва оператор обязан прекратить обработку и уничтожить ПД в течение 30 дней (если нет иных законных оснований для обработки).
Ошибка 1: Согласие на обработку ПД «зашито» в пользовательское соглашение одним пунктом — штраф 300-700 тыс. руб. Ошибка 2: Данные пользователей из России хранятся на серверах за рубежом — штраф 2-6 млн руб. (первичное), до 18 млн руб. (повторное) Ошибка 3: Нет механизма удаления ПД по запросу пользователя — штраф до 100 тыс. руб., плюс предписание Роскомнадзора Ошибка 4: Утечка базы пользователей — штраф до 15 млн руб. за утечку 100 тыс.+ записей, при повторе — до 3% годовой выручки
С 1 сентября 2025 года вступили в силу новые требования к обезличиванию ПД (Постановление Правительства № 1154 от 01.08.2025). Роскомнадзор утвердил пять методов обезличивания: введение идентификаторов, перемешивание, декомпозиция, обобщение, преобразование.
// Анонимизация ПД в тексте перед отправкой в внешний LLM API
interface AnonymizationMap {
original: string
replacement: string
type: 'name' | 'phone' | 'email' | 'inn' | 'snils' | 'passport' | 'address'
}
function anonymizeText(text: string): {
anonymized: string
map: AnonymizationMap[]
} {
const map: AnonymizationMap[] = []
let result = text
// ФИО (упрощённый паттерн)
const namePattern = /[А-ЯЁ][а-яё]+\s+[А-ЯЁ][а-яё]+\s+[А-ЯЁ][а-яё]+/g
result = result.replace(namePattern, (match) => {
const id = `[PERSON_${map.length + 1}]`
map.push({ original: match, replacement: id, type: 'name' })
return id
})
// Телефоны
const phonePattern = /(\+7|8)[\s-]?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{2}[\s-]?\d{2}/g
result = result.replace(phonePattern, (match) => {
const id = `[PHONE_${map.length + 1}]`
map.push({ original: match, replacement: id, type: 'phone' })
return id
})
// Email
const emailPattern = /[\w.-]+@[\w.-]+\.\w{2,}/g
result = result.replace(emailPattern, (match) => {
const id = `[EMAIL_${map.length + 1}]`
map.push({ original: match, replacement: id, type: 'email' })
return id
})
// ИНН (10 или 12 цифр)
// NB: упрощённый паттерн — будет давать false positives на любых 10-12-значных числах.
// В продакшене следует валидировать контрольную сумму ИНН.
const innPattern = /\b\d{10}(\d{2})?\b/g
result = result.replace(innPattern, (match) => {
const id = `[INN_${map.length + 1}]`
map.push({ original: match, replacement: id, type: 'inn' })
return id
})
return { anonymized: result, map }
}
// Деанонимизация ответа
function deanonymize(text: string, map: AnonymizationMap[]): string {
let result = text
for (const entry of map) {
result = result.replaceAll(entry.replacement, entry.original)
}
return result
}
// Использование с внешним LLM API
async function safeLLMCall(userPrompt: string): Promise<string> {
const { anonymized, map } = anonymizeText(userPrompt)
const response = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: anonymized }],
})
const rawAnswer = response.choices[0].message.content ?? ''
// Карту анонимизации храним только в памяти, не логируем
return deanonymize(rawAnswer, map)
}
Важно: замена ПД на идентификаторы (как в примере выше) — это обезличивание (pseudonymization), а не анонимизация. Если у вас есть карта соответствия, данные можно деанонимизировать, и формально они остаются ПД. Для полной анонимизации карту соответствия нужно уничтожить, а в обезличенных данных не должно быть возможности восстановить личность.
# Все ПД остаются на российском сервере
# Анонимизированные запросы к LLM — через прокси
upstream russian_backend {
server 10.0.0.1:3000; # Сервер приложения в РФ
}
server {
listen 443 ssl;
server_name api.myaiproduct.ru;
# Все API-запросы с ПД — на российский сервер
location /api/ {
proxy_pass http://russian_backend;
}
# Статика, публичный контент — можно CDN
location /static/ {
proxy_pass http://cdn.myaiproduct.ru;
}
}
По запросу субъекта ПД (или при отзыве согласия) все данные должны быть удалены в течение 30 дней:
// Полное удаление данных пользователя
async function deleteUserData(userId: string, reason: 'revoke' | 'request' | 'expiry') {
const deletionId = crypto.randomUUID()
await logPDAction({
action: 'delete',
userId,
operatorId: 'system',
purpose: 'chat_history',
details: `Data deletion initiated, reason: ${reason}, deletionId: ${deletionId}`,
dataCategories: ['all'],
legalBasis: reason === 'revoke' ? 'consent' : 'legal_obligation',
})
// 1. Удаляем историю чата
await db.chatMessage.deleteMany({ where: { userId } })
// 2. Удаляем загруженные документы и их чанки из векторной БД
const documents = await db.document.findMany({ where: { userId } })
for (const doc of documents) {
await vectorDb.deleteByDocumentId(doc.id)
await storage.delete(doc.storagePath)
}
await db.document.deleteMany({ where: { userId } })
// 3. Удаляем профиль пользователя
await db.userProfile.delete({ where: { id: userId } })
// 4. Помечаем согласия как отозванные
await db.consent.updateMany({
where: { userId, revokedAt: null },
data: { revokedAt: new Date().toISOString() },
})
// 5. Аудит-запись о завершении удаления
// Используем deletionId вместо userId, т.к. данные удалены
await db.pdAuditLog.create({
data: {
action: 'delete',
userId: `deleted:${deletionId}`,
operatorId: 'system',
purpose: 'chat_history',
details: `All PD deleted for deletion ${deletionId}`,
dataCategories: ['all'],
legalBasis: 'legal_obligation',
timestamp: new Date().toISOString(),
},
})
return { deletionId, completedAt: new Date().toISOString() }
}
Аудит-логи хранятся дольше самих данных — они нужны для подтверждения compliance. Но в логах не должно быть сырых ПД — используйте хэши и идентификаторы. После удаления данных пользователя замените userId на deleted:{deletionId} в аудит-записях.