Документ для служб информационной безопасности корпоративных клиентов. Описывает архитектуру защиты, обработку данных, контроли доступа, шифрование, управление секретами, безопасность ИИ-слоя, реагирование на инциденты и соответствие международным и российским стандартам.
SEO AI Tools — SaaS-платформа для SEO/GEO-оптимизации и генерации контента, построенная по принципам defense-in-depth: каждый уровень (сеть, приложение, данные, ИИ-слой) имеет независимые контроли. Платформа разработана с учётом требований enterprise-клиентов в e-commerce, фарме, финансах и YMYL-нишах.
userId на каждом запросе и дополнительными проверками checkProjectAccess в MCP-слое.audit_log), журнал сессий (user_session_log), маскирование чувствительных полей в логах.Подключение по API к SEO AI Tools не требует передачи персональных данных конечных пользователей клиента, банковских реквизитов или секретов CMS со стороны клиента. Интеграция происходит через токен с ограниченной областью применения (scope) и возможностью мгновенного отзыва. Передаваемые данные (микроразметка, мета-теги, тексты страниц) — публичная или уже размещённая на сайте информация.
РФ · ЕС · международные best practices
| Стандарт / Норма | Статус | Применение |
|---|---|---|
| Федеральный закон № 152-ФЗ «О персональных данных» | Соблюдается | Согласия, правовые основания обработки, права субъектов, Privacy Policy, политика обработки ПДн |
| Ст. 18 ч. 5 ФЗ-152 (закон о локализации, ФЗ-242 от 21.07.2014) | Соблюдается архитектурно | Учётные данные пользователей-граждан РФ (e-mail, имя, хеш пароля) и журналы аудита (audit_log, user_session_log) хранятся в БД на территории РФ; см. § 12 |
| Ст. 12 ФЗ-152 (трансграничная передача, ред. ФЗ-266 от 14.07.2022) | В процессе оформления | Уведомление Роскомнадзора о ТГП обезличенных эксплуатационных данных в EU подаётся; до завершения процедуры передача осуществляется только при явном согласии субъекта |
| Ст. 21 ч. 3.1 ФЗ-152 (ФЗ-266: уведомление об инцидентах) | Регламент внедрён | Уведомление РКН в течение 24 часов с момента факта утечки и 72 часов с результатами расследования; см. § 16 |
| Ст. 13.11 КоАП (ред. ФЗ-420 от 30.11.2024, действ. с 30.05.2025) | Учтено в модели рисков | Оборотные штрафы за утечки ПДн; митигация — минимизация PII, шифрование, мониторинг (§§ 7, 13, 16) |
| Ст. 272.1 УК РФ (введ. с 30.05.2025) | Учтено | Уголовная ответственность за незаконный оборот ПДн; внутренние политики и контроль доступа (§§ 5, 9) |
| Реестр операторов ПДн Роскомнадзора (ст. 22 ФЗ-152) | Уведомление в процессе подачи | Уведомление об осуществлении обработки ПДн готовится к подаче; реквизиты оператора — см. § 21 |
| Приказ ФСТЭК № 21 (защита ПДн в ИСПДн) | Целевой уровень УЗ-3 | Реализованы организационные и технические меры: идентификация/аутентификация, контроль доступа, регистрация событий, антивирус, обнаружение вторжений на уровне субпроцессоров |
| Федеральный закон № 149-ФЗ «Об информации» | Соблюдается | Хранение логов, защита информации, порядок реагирования на запросы уполномоченных органов |
| Регламент EU 2016/679 (GDPR) | Aligned | Принципы lawfulness, minimization, retention, права субъектов — для клиентов из ЕС |
| ISO/IEC 27001:2022 | Принципы внедрены | СМИБ, оценка рисков, контроль доступа, инциденты |
| ISO/IEC 27017 (cloud security) | Через субпроцессоров | AWS / GCP / Neon / Stripe сертифицированы |
| ISO/IEC 27018 (PII в облаке) | Через субпроцессоров | Шифрование PII at rest, разделение обязанностей |
| OWASP Top 10 (2021) | Митигированы | A01-A10: SSDLC-практики, см. § 14 |
| OWASP API Security Top 10 (2023) | Митигированы | BOLA, BFLA, broken auth, mass assignment, rate limiting |
| NIST SP 800-53 Rev. 5 | Отдельные контроли | AC, AU, IA, SC, SI семейства |
| PCI-DSS Level 1 | Через Stripe | Карточные данные не касаются нашей инфраструктуры |
| SOC 2 Type II | Через инфраструктурных партнёров | AWS, GCP, Neon, Stripe — ежегодные отчёты |
Оператор персональных данных — ООО «Люмени», ИНН 121518775090, ОГРН 309121527900023. Подача уведомления в Реестр операторов ПДн Роскомнадзора (ст. 22 ФЗ-152) и уведомления о трансграничной передаче (ст. 12 ФЗ-152) осуществляется в рамках текущего регуляторного roadmap. Актуальный статус и регистрационные номера предоставляются по запросу ИБ-службы клиента.
Платформа построена на принципе defense-in-depth с несколькими независимыми слоями защиты:
Origin/Referer, ограничивает методы и rate-лимитирует подозрительный трафик. Сертификаты — Let's Encrypt с автоматическим обновлением через certbot. Все учётные данные пользователей и аудит-журналы остаются в БД на территории РФ (см. § 12).userId, шифрование at rest.Все компоненты разработаны на TypeScript со строгой типизацией; схема БД определяется через Drizzle ORM, миграции выполняются исключительно raw SQL для явного контроля над изменениями схемы.
OWASP ASVS V2 · NIST SP 800-63B
connect-pg-simple; secure cookie, httpOnly, SameSite=Lax. Идентификатор сессии — криптографически стойкий random string. Срок жизни — 7 дней с rolling-обновлением.lockedUntil) после 10 неудачных попыток на 15 минут; прогрессивная задержка ответов (exponential backoff); rate limiting 15 запросов на вход за 15 минут с одного IP.GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET). Токены провайдера не хранятся — используются только для первичной верификации e-mail.USER, ADMIN, SUPER_ADMIN. Middleware requireMinRole применяется на уровне маршрута.id без проверки владения.userId текущей сессии в слое запросов — невозможно получить чужие данные подменой id в URL.SUPER_ADMIN; все действия логируются в audit_log.OWASP API Security Top 10 (2023)
Origin и Referer против allow-list разрешённых хостов (big-lab.ai, 12nemtsev.ru, seoaitools.ru, white-label-домены)./api/landing-contact); по умолчанию запрещены cross-origin запросы.shared/schema.ts; нет «доверенных» полей..omit() для явного исключения полей, контролируемых сервером (userId, createdAt, role).pool.query с плейсхолдерами); прямой конкатенации SQL в коде нет.dangerouslySetInnerHTML используется только с санитизированным HTML.Strict-Transport-Security, X-Content-Type-Options: nosniff, X-Frame-Options: DENY (для админ-панели), Referrer-Policy: strict-origin-when-cross-origin.| Уровень | Алгоритм / Протокол | Где применяется |
|---|---|---|
| In transit (внешний) | TLS 1.2 / 1.3, ECDHE | Весь публичный HTTPS-трафик; HSTS включён |
| In transit (внутренний) | TLS внутри VPC провайдеров | Соединения app → БД, app → Stripe / OpenAI / Google |
| At rest (БД) | AES-256 | Neon Postgres / Google Cloud SQL — по умолчанию |
| At rest (бэкапы) | AES-256 | Снапшоты на уровне облачного провайдера |
| Пароли | bcrypt, 12 раундов | Таблица users, поле password_hash |
| Сессии | Cryptographically random ID | Подписан секретом сессии (HMAC-SHA256) |
| API-токены клиентов CMS | Хранятся как есть в зашифрованной БД | Доступ только для владельца проекта; будет добавлено application-level шифрование (AES-256-GCM с KMS) для Enterprise-тарифов |
Платформа использует логическую мультитенантность с общей схемой БД и строгой фильтрацией по userId:
userId. Все SQL-запросы используют .where(eq(table.userId, currentUserId)) — невозможно «забыть» фильтр.MCPAuthContext.allowedProjectIds; каждая операция обёрнута в withAccessCheck.process.env) и никогда не коммитятся в репозиторий. Файл .env исключён через .gitignore.maskApiKey заменяет середину ключа на ***, оставляя только первые и последние 4 символа. То же применяется в API-ответах.ai_tool_settings без перезапуска приложения. Сервисные аккаунты Google Vertex изолированы в файле ~/.vertex-credentials-gateway.json с правами 0600.OWASP Top 10 for LLM Applications (2025)
buildDateContext() автоматически инжектируется в каждый системный промпт для предотвращения галлюцинаций об устаревших данных.ai_api_usage с токенами, latency, моделью и метаданными проекта — для аудита и контроля стоимости.<script>, onerror атрибуты).customerId, subscriptionId и last4 цифры — значения, безопасные для хранения по PCI-DSS.stripe-signature с секретом, известным только серверу. Запросы без валидной подписи отклоняются.event.id для защиты от двойной обработки.Платформа разделяет данные по двум зонам хранения исходя из требований ФЗ-242 (закон о локализации) и принципа минимизации:
| Категория | Где хранится | Юрисдикция | Срок хранения |
|---|---|---|---|
| Учётные данные пользователей (e-mail, имя, хеш пароля, роль, статус) | PostgreSQL на площадке РФ-провайдера (Timeweb/Yandex Cloud, Москва) | 🇷🇺 РФ | Срок действия аккаунта + 12 месяцев, далее обезличивание |
Журналы аутентификации и аудита (user_session_log, audit_log, IP, User-Agent) | PostgreSQL на площадке РФ-провайдера | 🇷🇺 РФ | Сессии — 180 дней; аудит — 3 года |
Платёжные метаданные (customerId, subscriptionId, last4) | Stripe (PCI-DSS L1) + ссылочная запись в БД РФ | 🇷🇺 РФ (ссылка) · 🇪🇺/🇺🇸 (Stripe) | ≥ 5 лет (бухучёт) |
| Эксплуатационные SEO-данные: URL и тексты страниц клиента, ключевые слова, кластеры, метрики позиций, AI-генерации | PostgreSQL на application-узле (DigitalOcean, Amsterdam) | 🇪🇺 EU (NL) | Срок действия аккаунта; удаление по запросу — в течение 30 дней |
| Логи приложения (request/response, ошибки) | Файлы на application-узле | 🇪🇺 EU (NL) | 30–90 дней |
| Бэкапы БД | Снапшоты у соответствующего провайдера, AES-256, in-region (РФ-БД — только в РФ) | По юрисдикции исходной БД | 30 дней rolling |
Все персональные данные граждан РФ — регистрационные сведения пользователей платформы (e-mail, имя, хеш пароля) и связанные с ними журналы — подлежат первичной записи, систематизации, накоплению, хранению, уточнению и извлечению в БД, физически расположенной на территории Российской Федерации. На application-узле в ЕС обрабатываются только обезличенные эксплуатационные данные о продвигаемых сайтах (URL, ключевые слова, технические метрики, контент страниц) — информация, которая является публичной (находится в открытом доступе на сайтах клиентов) и не относится к ПДн в смысле ст. 3 ФЗ-152.
Передача обезличенных эксплуатационных данных на узел в ЕС квалифицируется как трансграничная передача обезличенных данных и осуществляется в соответствии со ст. 12 ФЗ-152: уведомление в Роскомнадзор о ТГП готовится к подаче, до завершения процедуры основанием передачи служит явное согласие пользователя, фиксируемое при регистрации.
Для Enterprise-клиентов доступна опция «РФ-only»: все эксплуатационные данные клиента и его проектов хранятся исключительно в БД на территории РФ, без трансграничной передачи. Конфигурация согласовывается отдельным DPA.
audit_log): фиксирует userId, action, entity_type, entity_id, details, ip, user_agent, timestamp. Запись — append-only.user_session_log): события login, logout, heartbeat, register, password reset, lockout. Используется для forensic-анализа.userId (если есть). Тело запроса не логируется при наличии полей password, token, secret.maskApiKey.main; критические изменения (auth, billing, БД) требуют второго ревьюера.strict-режиме; ESLint с security-плагинами; tsc --noEmit блокирует merge при ошибках типов.npm audit, обновление уязвимых пакетов в течение 7 дней для high/critical.main; обязательные status-checks.script/deploy.sh от non-root пользователя deployer.apt upgrade на серверах, security-патчи накатываются автоматически (unattended-upgrades).ст. 21 ФЗ-152 · GDPR Art. 33-34 · ISO/IEC 27035
В соответствии с принципами прозрачности GDPR/ФЗ-152 ниже приведён список ключевых субпроцессоров, привлекаемых для оказания услуг:
| Поставщик | Назначение | Сертификации | Юрисдикция |
|---|---|---|---|
| Timeweb Cloud | VPS РФ для БД учётных данных и аудит-журналов; reverse-proxy РФ-периметра; хостинг сайта | 152-ФЗ УЗ-3, аттестация ЦОД | 🇷🇺 РФ (Москва) |
| Yandex Cloud | Резервная площадка для РФ-БД (по запросу Enterprise); LLM YandexGPT | ФСТЭК, ФСБ, ISO 27001/17/18, 152-ФЗ | 🇷🇺 РФ |
| DigitalOcean | Application-узлы (обработка обезличенных SEO-данных) | SOC 2 Type II, ISO 27001 | 🇪🇺 EU (NL, Amsterdam) |
| Neon / Google Cloud SQL | PostgreSQL для эксплуатационных SEO-данных (опционально, по тарифу) | SOC 2 Type II, ISO 27001/17/18, PCI-DSS | 🇪🇺 EU / 🇺🇸 US (регион выбирается) |
| Google Cloud Platform | Vertex AI (Gemini), Cloud Logging | ISO 27001/17/18, SOC 2, PCI-DSS | 🇪🇺/🇺🇸 (регион выбирается) |
| Stripe | Платежи и подписки | PCI-DSS Level 1, SOC 1/2, ISO 27001 | US, IE |
| OpenAI | GPT-модели для ИИ-агентов | SOC 2 Type II | US |
| Anthropic | Claude-модели | SOC 2 Type II | US |
| Yandex (YandexGPT) | LLM для РФ-задач | ФСТЭК, 152-ФЗ | РФ |
| SberCloud (GigaChat) | LLM для РФ-задач | 152-ФЗ, ФСТЭК | РФ |
| Bright Data | SERP-парсинг публичной выдачи | SOC 2, ISO 27001 | EU/US |
Актуальный полный список с указанием обрабатываемых категорий данных предоставляется по запросу при подписании DPA (Data Processing Agreement).
Когда корпоративный клиент (например, маркетплейс или e-commerce) подключает SEO AI Tools к своему сайту — происходит односторонний поток данных от нас к клиенту. Объём и характер передачи:
| Что мы передаём клиенту | Как | Содержит ли PII? |
|---|---|---|
| SEO-микроразметка (Schema.org JSON-LD: Product, Article, BreadcrumbList, FAQ) | Через API клиента или CMS-плагин | Нет — только данные о товарах/контенте |
| Мета-теги (title, description, canonical, Open Graph) | API клиента / CMS-плагин | Нет |
| Сгенерированный текстовый контент (карточки товаров, статьи блога) | API клиента / CMS-плагин | Только если клиент сам передал PII во входе |
| Результаты технического аудита (отчёт) | UI / API | Нет |
| Boost Widget (виджет на сайте) | JS-скрипт, загружаемый клиентом | Нет, телеметрия только агрегированная |
Что мы получаем от клиента: API-токен с ограниченной областью применения (только запись микроразметки/контента в нужный namespace), URL площадки. Мы не запрашиваем доступ к данным заказов, клиентским базам, платёжной информации.
Для официальных запросов от ИБ-служб корпоративных клиентов (DPA, security questionnaire, vendor risk assessment, отчёт о subprocessors, pentest coordination):
Юридические реквизиты оператора:
ООО «Люмени»
ИНН: 121518775090 · ОГРН: 309121527900023
Юр. адрес: 141707, Московская область, г. Долгопрудный, Старое Дмитровское шоссе, 17
Уведомление в Реестр операторов персональных данных Роскомнадзора (ст. 22 ФЗ-152) и уведомление о трансграничной передаче (ст. 12 ФЗ-152) — готовятся к подаче в рамках регуляторного roadmap. Регистрационные номера предоставляются по запросу ИБ-службы клиента после внесения в реестр.
По запросу выдаём: DPA-договор, Security Questionnaire (CAIQ Lite / SIG Lite), архитектурную диаграмму, список субпроцессоров с DPA, отчёты pentest, согласование выделенной инсталляции.
Запросить документацию