Соглашение об обработке данных
Договор, по которому MEGA PROMOTING S.R.L. обрабатывает данные от вашего имени, когда вы пользуетесь этим сервисом. Он написан для подписания, а не для однократного прочтения: у каждого обязательства ниже указан файл в коде, который делает его правдой, а там, где код чего-то не делает, так и написано.
28 июля 2026 года
Зачем вам этот документ
Статья 28 ч. (3) Закона № 195/2024 гласит, что обработка, выполняемая лицом, уполномоченным оператором, «регулируется договором или иным юридическим актом» обязательного характера, который определяет предмет, срок, характер и цель обработки, вид данных, категории субъектов данных и обязанности сторон. Часть (8) требует письменной формы, в том числе электронной.
Без него уязвимы вы, а не мы: обязанность привлекать только уполномоченных лиц, дающих достаточные гарантии, и заключить договор лежит на операторе, то есть на вас. С 23 августа 2026 года, когда закон вступает в силу, отсутствие договора попадает под ст. 88 ч. (1) — обязанности оператора и уполномоченного лица, ст. 25–39.
Ниже — сам текст, который мы подписываем. Не его пересказ.
Когда вы оператор, а мы уполномоченное лицо
Только в одном: в сканированиях, которые вы заказываете. Когда вы вводите адрес в форму или отправляете его через API, решение о том, что сканируется и зачем, принимаете вы; мы выполняем указание и возвращаем отчёт. Если на просканированной странице есть персональные данные — адрес электронной почты на странице контактов, чьё-то имя в политике, идентификатор cookie, — они попадают в доказательства отчёта, и их обработка выполняется от вашего имени.
В отношении ваших собственных контактных данных — почты, телефона, доказательства согласия, ключа API — оператор мы, а не уполномоченное лицо. Там вам нужно не это соглашение, а политика конфиденциальности и страница хранения. Мы держим их раздельно, потому что это две разные роли с двумя разными наборами обязанностей, и документ, который их смешивает, никому не поможет перед надзорным органом.
Стороны
Версия текста: 2026-07-28
- Лицо, уполномоченное оператором
- MEGA PROMOTING S.R.L., IDNO 1019600021765, sat. Dănceni, r-nul Ialoveni, MD-6814, Republica Moldova
- Контакт
- oleg@megapromoting.com · +373 60 456 690
- Сервис
- GDPR Scan MD — техническое сканирование публичной поверхности сайта
- Оператор
- Подписывающий клиент — юридическое лицо, заказывающее сканирования. Реквизиты заполняются при подписании.
- Применимое право
- Закон № 195/2024 о защите персональных данных, Республика Молдова.
Условия соглашения
1. Предмет, срок, характер и цель обработки
Предмет: выполнение технических сканирований по адресам, которые передаёт оператор, через публичную форму или через API, и подготовка соответствующего отчёта.
Характер обработки: автоматический сбор наблюдаемых доказательств с публичной страницы, хранение, структурирование, формирование отчёта и предоставление его оператору, в том числе в виде PDF.
Цель: подготовка сайта, указанного оператором, к соответствию Закону № 195/2024. Мы не используем данные ваших сканирований в других целях, за одним публично заявленным исключением: агрегированные анонимные цифры Барометра — количество различных доменов, полосы оценок, проценты по находкам, — которые не содержат ни адреса сайта, ни контактных данных.
Срок: на время договорных отношений, а по каждой категории данных — до срока из Приложения D.
Проверяется в: packages/scanner/src/loader.ts, lib/scanRunner.ts, lib/barometer.ts
2. Вид данных и категории субъектов данных
Со сканируемой страницы: адреса сетевых запросов, имена и атрибуты cookie, HTTP-заголовки, текст найденных политик, структура форм и текст их подписей, снимки страницы и баннера согласия. Любое из этого может попутно содержать персональные данные, опубликованные самим сайтом, — контактный адрес почты, имя ответственного, онлайн-идентификатор.
От оператора: сканируемый адрес, момент запроса и, если использовался API, ключ, которым запрос был аутентифицирован. IP-адрес заказчика обрабатывается отдельно, только для ограничения количества запросов.
Категории субъектов данных: посетители и идентифицируемые сотрудники из публичного содержимого сканируемого сайта, а также лицо, заказавшее сканирование.
Мы не запрашиваем, не ищем и не нуждаемся в особых категориях данных в смысле ст. 9. Если они есть на публичной странице сайта, они попадают в доказательства как любой другой текст страницы; мы их не ищем и не классифицируем.
Проверяется в: packages/scanner/src/types.ts, packages/scanner/src/modules/, lib/rateLimit.ts
3. Документированные указания (ст. 28 ч. (3) п. a)
Мы обрабатываем исключительно на основании вашего документированного указания. Указание — это адрес, который вы отправляете: через публичную форму или через API. Мы не запускаем сканирования ВАШИХ систем по своей инициативе и не повторяем автоматически отклонённое сканирование. Наше собственное статистическое исследование по перечню молдавских сайтов ведётся вне настоящего договора, под нашей собственной ответственностью как оператора, и описано на странице «Статистическое исследование».
Мы информируем вас до обработки, если какая-либо норма обязывает нас обрабатывать данные иначе, чем вы указали, кроме случаев, когда информирование запрещено.
Мы немедленно сообщаем вам, если, по нашему мнению, указание нарушает законодательство о защите данных — например, повторяющийся массовый заказ сканирований сайта одной сторонней компании.
Проверяется в: app/api/scan/route.ts, app/api/v1/scans/route.ts, packages/scanner/src/loader.ts
Чего это условие не обещает: Указание не может отменить правила, которые мы применяем к сканируемому сайту. Мы читаем /robots.txt до всего остального и, если адрес запрещён для токена GDPRScanMD, отказываем в сканировании — в коде нет опции обхода, в том числе для платящего клиента. Точно так же мы не обходим анти-бот защиты и не подделываем заголовки.
4. Конфиденциальность (ст. 28 ч. (3) п. b)
Доступ к данным имеют сотрудники и подрядчики MEGA PROMOTING S.R.L., связанные обязательством конфиденциальности. Подготовленные для вас отчёты не публикуются и не индексируются: страницы отчётов отправляют «noindex», а /report/ запрещён в нашем собственном robots.txt.
Публичная статистика агрегирована. Мы не публикуем списки имён просканированных сайтов и не подтверждаем публично, что конкретный домен был просканирован.
Проверяется в: app/robots.ts, app/report/[id]/page.tsx — NOINDEX_ROBOTS, lib/barometer.ts
Чего это условие не обещает: Обязательство конфиденциальности уполномоченных лиц является организационным и договорным — его нельзя проверить, читая этот репозиторий. Мы так его и записываем, а не как техническую меру.
5. Безопасность обработки (ст. 28 ч. (3) п. c, ст. 32)
Действующие меры перечислены в Приложении B, с указанием файла для каждой. Коротко: обязательное шифрование транспорта, одна машина в Европейском союзе без стороннего CDN перед ней, строгая политика безопасности содержимого, отправляемая приложением, ключи API, хранимые только как отпечаток sha256, IP-адреса, необратимо преобразованные до сохранения для блокировки злоупотреблений, ежедневные резервные копии с ротацией через 14 дней.
Приложение B говорит и о том, чего мы не делаем. Короткий и правдивый список лучше длинного и декоративного.
Проверяется в: next.config.ts — SECURITY_HEADERS, lib/apiKeys.ts, lib/abuseBlock.ts — hashIp, deploy/backup-db.sh
Чего это условие не обещает: База данных не шифруется в состоянии покоя. Статья 32 требует мер, соразмерных риску, а не всех возможных мер, и заявление о шифровании, которое мы не можем показать в конфигурации, было бы ровно тем родом утверждений, которые этот продукт отмечает у других. Если вам нужно дисковое шифрование для собственного учёта, скажите до подписания, и мы обсудим, что конкретно это означает.
6. Субпроцессоры (ст. 28 ч. (2) и (4), п. d)
Подписывая это соглашение, вы даёте общее письменное разрешение на субпроцессоров из Приложения C и из публичного перечня на /subprocesatori.
Когда мы добавляем или заменяем субпроцессора, мы обновляем публичный перечень ДО активации интеграции в производстве и сообщаем вам об изменении на контактный адрес из договора не менее чем за 30 дней. В этот срок вы можете заявить мотивированное возражение; если оно не может быть урегулировано, вы вправе прекратить договор без штрафа.
Мы возлагаем на любого субпроцессора те же обязательства по защите данных, которые принимаем здесь, и остаёмся полностью ответственными перед вами за его действия.
Проверяется в: lib/contentPages.ts — страница /subprocesatori, раздел «Что мы делаем, когда перечень меняется»
7. Содействие в правах субъекта данных (ст. 28 ч. (3) п. e)
Мы помогаем вам отвечать на обращения по ст. 12–22 — доступ, исправление, удаление, ограничение, переносимость, возражение и автоматизированные решения — в той мере, в какой это позволяет характер обработки.
Конкретно: поиск человека не выполняется вручную правкой базы данных. Есть отдельная функция, которая нормализует адрес почты и номер телефона во всех формах, в которых они могли быть сохранены — регистр букв, номер с кодом страны, с ведущим нулём или без него, — и которая сначала работает в пробном режиме: показывает, какие именно строки будут удалены, прежде чем что-либо удалить.
Наш срок ответа вам — не более 15 календарных дней с момента обращения, чтобы у вас остался запас внутри месяца, который даёт вам ст. 12 ч. (3) для ответа субъекту данных.
Проверяется в: lib/retention.ts — parseContactQuery, normaliseEmail, normalisePhone, contactMatches; lib/db.ts — функции удаления по запросу
Чего это условие не обещает: Мы не можем идентифицировать субъекта данных, который присутствует только в тексте просканированной страницы, потому что не индексируем доказательства по людям. Для такого случая мы по вашему запросу удаляем результат сканирования целиком — это единственная операция, которую мы можем выполнить корректно.
8. Содействие по ст. 32–36 и нарушения безопасности (п. f, ст. 33 ч. (2))
Мы уведомляем вас без неоправданной задержки, на контактный адрес из договора, после того как узнаём о нарушении безопасности данных, обрабатываемых для вас. Уведомление содержит то, что нам известно на момент отправки: что произошло, какие категории данных затронуты, что мы сделали и что будет дальше. Мы не ждём полной картины, чтобы вас предупредить.
Мы предоставляем имеющуюся у нас информацию для оценки воздействия и для предварительной консультации, если она вам понадобится.
Проверяется в: deploy/ — журналы веб-сервера и приложения
Чего это условие не обещает: У нас нет автоматической системы обнаружения нарушений. «Узнаём» означает именно это: из оповещения хостинг-провайдера, из обращения, из собственной проверки. Договор, обещающий автоматическое обнаружение, обещал бы систему, которой не существует.
9. Удаление или возврат данных при прекращении (п. g)
При прекращении оказания услуг, по вашему выбору: мы возвращаем результаты ваших сканирований в структурированном формате (JSON или CSV), удаляем их, либо и то и другое в этом порядке. Выполняем не более чем за 30 календарных дней с момента запроса.
Резервные копии автоматически ротируются через 14 дней, поэтому не позднее чем через 14 дней после удаления ни одна копия больше не содержит данных. Именно поэтому мы можем честно отвечать на запрос об удалении.
Автоматические сроки, действующие независимо от прекращения договора, приведены в Приложении D с реальным состоянием каждого.
Проверяется в: lib/retention.ts — RETENTION_POLICY, deploy/backup-db.sh, lib/exportFormats.ts
10. Информация и аудит (п. h)
Мы предоставляем вам сведения, необходимые для подтверждения соблюдения обязательств по этому соглашению: перечень субпроцессоров, меры из Приложения B, сроки из Приложения D и, по конкретному сканированию, что именно было выполнено — у нас есть журналы, и мы отвечаем на их основании.
Мы принимаем аудиты и проверки, проводимые вами или уполномоченным вами аудитором, один раз в календарный год и каждый раз после нарушения безопасности, с разумным предварительным уведомлением и в пределах конфиденциальности, которую мы должны другим клиентам.
На письменную анкету соответствия отвечаем не более чем за 15 рабочих дней.
Проверяется в: lib/contentPages.ts — /despre-scanare, раздел 8; deploy/
Чего это условие не обещает: Мы не можем предоставить вам физический доступ в центр обработки данных: сервер находится в OVHcloud, и аудит их инфраструктуры — их дело, а не наше. Для этого уровня мы даём публичную документацию поставщика и точный адрес площадки, а не обещание, которым не управляем.
11. Передача за пределы Европейского союза
Обработка выполняется на одном сервере: București, România (UE). База данных, формирование PDF и снимки экрана выполняются на той же машине; мы не используем внешних сервисов конвертации или съёмки.
За пределами Союза находится только один получатель — Telegram, используемый как внутреннее уведомление нашей команде. Он публично заявлен на /subprocesatori и является единственным местом в системе, где персональные данные покидают Союз. Если такая передача для вас неприемлема, канал может быть отключён для вашей учётной записи до подписания — скажите, и мы впишем это в договор.
Мы не отправляем данные языковым моделям или другим сервисам искусственного интеллекта ни на одном участке цепочки, формирующей вердикт.
Проверяется в: lib/telegram.ts, lib/pdf.ts, lib/contentPages.ts — /subprocesatori, «Что мы НЕ используем»
12. Что это соглашение не покрывает
Ваши контактные данные и ваш ключ API. В отношении них мы оператор, с собственным основанием и с политикой конфиденциальности как применимым документом.
Законность вашего указания. Вы решаете, какой сайт сканируется и на каком основании; мы проверяем только то, что позволяет проверить код, — robots.txt, адрес, ограничения частоты.
Соответствие просканированного сайта. Отчёт — это техническое измерение публичной поверхности, а не юридический аудит и не заключение адвоката. Содержимое за аутентификацией, оформлением заказа или другими действиями публичным сканированием не охватывается.
13. Форма, версия и подписание (ст. 28 ч. (8))
Соглашение заключается в письменной форме, включая электронную. Текст на этой странице — версия 2026-07-28; любое его изменение означает новую версию с новой датой, а уже подписанные соглашения остаются в той версии, в которой были подписаны.
Запросите подписываемую версию по адресу oleg@megapromoting.com. Мы отправим тот же текст в виде PDF с заполненными вашими реквизитами, подписанный электронно с нашей стороны.
Приложения
Приложения являются частью соглашения. Они оформлены таблицами, потому что именно эти строки требует реестр операций обработки (ст. 30) и именно их вы туда скопируете.
Приложение A — Предмет обработки
- Характер
- Автоматический сбор наблюдаемых доказательств с публичной страницы, хранение, структурирование, формирование отчёта.
- Цель
- Подготовка соответствия Закону № 195/2024 для сайта, указанного оператором.
- Срок
- На время действия договора, по категориям — согласно Приложению D.
- Вид данных
- Адреса сетевых запросов, имена и атрибуты cookie, HTTP-заголовки, текст найденных политик, структура форм, снимки экрана, сканируемый адрес, IP-адрес заказчика.
- Категории субъектов данных
- Посетители и идентифицируемые сотрудники из публичного содержимого сканируемого сайта; лицо, заказывающее сканирование.
- Особые категории (ст. 9)
- Не запрашиваются и не ищутся. Могут появиться попутно только если сайт публикует их сам.
Приложение B — Технические и организационные меры (ст. 32)
У каждой строки указан файл, который её реализует. Две последние строки говорят о том, чего мы не делаем.
- Шифрование транспорта
- Обязательный TLS, сертификат Let's Encrypt с автоматическим продлением. Незащищённые соединения перенаправляются.
- Изоляция выполнения
- Каждое сканирование выполняется в чистом контексте Chromium, без прежних cookie и без аутентифицированной сессии. Временный профиль удаляется при закрытии сессии (packages/scanner/src/loader.ts).
- Защита от SSRF
- Назначение каждого сканирования проверяется до перехода; внутренние и зарезервированные адреса отклоняются (packages/scanner/src/ssrf.ts).
- Политика безопасности содержимого
- default-src 'self', без внешних источников скриптов, шрифтов и изображений; отправляется приложением, в одном месте (next.config.ts — SECURITY_HEADERS).
- Ключи API
- Хранятся исключительно как отпечаток sha256. Исходный ключ существует один раз, в ответе, который его создал; он не пишется в журналы, в письма и в базу данных (lib/apiKeys.ts).
- IP-адреса
- Для блокировки злоупотреблений мы храним необратимый код, вычисленный из адреса, а не сам адрес (lib/abuseBlock.ts — hashIp). Для ограничения частоты адрес истекает не более чем за 15 минут.
- Ограничение нагрузки
- Один хост получает не более одного свежего сканирования в 15 минут; один IP-адрес — не более 5 сканирований за 10 минут, с одним сканированием в работе. У формирования PDF есть очередь с потолком (lib/pdf.ts, lib/rateLimit.ts, lib/scanCache.ts).
- Доказательство согласия
- Показанный текст, его версия, язык и отпечаток sha256 сохраняются при каждом согласии, а сам текст разрешается на сервере и никогда не берётся из запроса (lib/leadConsent.ts).
- Резервные копии
- Ежедневные, с автоматическим удалением архивов старше 14 дней (deploy/backup-db.sh).
- Неиндексирование
- Страницы отчётов отправляют «noindex», а /report/ запрещён в robots.txt (app/robots.ts).
- НЕТ: шифрования в покое
- База данных не шифруется на диске. Заявлено, а не опущено.
- НЕТ: автоматического обнаружения нарушений
- Системы обнаружения не существует; отсчёт уведомления начинается с момента, когда мы фактически узнаём.
Приложение C — Разрешённые субпроцессоры
Тот же перечень, что и на /subprocesatori, а не второй, который мог бы от него отклониться. Там у каждой строки указано также, какие данные она получает, на каком основании и что не удалось задокументировать.
- OVHcloud
- Хостинг, хранение и сеть. București, România (UE). Один сервер, без CDN перед ним.
- Infobip
- Доставка письма с отчётом, когда вы его запросили. Компания из Хорватии, государства — члена Европейского союза.
- MEGA PROMOTING — LiteLLM Gateway (Microsoft Azure OpenAI)
- Ассистент, объясняющий отчёт, — только если вы начинаете диалог и ставите отметку согласия. Получает вопросы и показанный отчёт, никогда — доказательства сканирования и никакие данные о человеке. Microsoft Azure, Швеция — остаётся в Европейском союзе.
- Telegram
- Внутреннее уведомление команды MEGA. За пределами Европейского союза. Единственная передача за пределы ЕС в системе.
- Hostinger
- DNS-зона для megapromoting.com. Не получает данных от приложения.
- Let's Encrypt (ISRG)
- TLS-сертификат. Получает имя домена при каждом выпуске. Персональных данных не получает.
- Google Fonts
- Зависимость сборки. Файлы скачиваются при сборке и раздаются с нашего сервера; браузер посетителя с Google не связывается.
Приложение D — Сроки удаления
Скопировано из lib/retention.ts, с тем же различием, что и на публичной странице хранения: «реализовано» означает, что удаление выполняет код или cron-задание, без участия человека. Остальное прямо указывает стадию.
- Доказательства сканирования (снимки, журнал запросов)
- 7 дней — реализовано, ежедневное cron-задание (deploy/cleanup-tmp.sh).
- Снимки и временные профили после аварийной остановки
- 1 день — реализовано, то же cron-задание.
- IP-адрес для ограничения запросов
- Максимум 15 минут — реализовано, в приложении.
- Необратимый код заблокированного соединения
- Не более 7 дней с последнего инцидента — реализовано.
- Полный результат сканирования
- 90 дней, затем в строке остаются только адрес, оценка, вердикт и дата — написано и покрыто тестами, cron-задание на сервере ещё не включено. До тех пор удаляем по запросу, не более чем за 30 дней.
- Неопределённые сканирования
- 30 дней, строка удаляется целиком — написано в коде, на сервере ещё не включено.
- Контактные данные оператора
- Требуется решение нашего оператора; механизм намеренно отказывается удалять, пока срок не установлен. До тех пор: на время коммерческих отношений и по запросу, не более чем за 30 дней.
- Резервные копии
- 14 дней — реализовано (deploy/backup-db.sh).
- Внутренние уведомления в Telegram
- Автоматического срока нет. Остаются в истории переписки до ручного удаления; при запросе на удаление мы удаляем и сообщение.