Технический аудит · 06.09.2026

kv.ee

Портал объявлений недвижимости

Портал объявлений недвижимости — один замер на десять страниц, 1469 запросов, 282 узла. На сайте стоят платформа согласия OneTrust и режим согласия Google, по умолчанию запрещающий хранилища, и пользователь согласие так и не даёт: он открывает и закрывает панель настроек, статус согласия во всех пингах аналитики остаётся «запрещено». Тем не менее рекламный пиксель Adform и креатив Google DoubleClick срабатывают в первые ~900 мс — раньше, чем баннер согласия вообще загружается на +1735 мс, — а GA4 весь сеанс передаёт в Google поведение посетителя в бескуковом режиме. Более того, до 240 с лишним рекламных узлов IAB TCF доходят адрес IP и referer с указанием на kv.ee, часть из них за пределами ЕС, — до и без какого-либо согласия. При этом обязывающие условия защиты данных заявляют, что оператор не передаёт данные третьим лицам и не передаёт их за пределы ЕС.

Хронология обращений

+0 мс · загрузка главной
Отдача через Cloudflare. Заголовки безопасности выставлены: HSTS с preload, Content-Security-Policy, Referrer-Policy strict-origin-when-cross-origin, Permissions-Policy, X-Content-Type-Options nosniff.
+371 мс · контейнер тегов
www.googletagmanager.com/gtag/js?id=G-XSSYYGNPKF — Google Tag Manager подтягивается прямо из разметки страницы (инициатор — parser).
+645 мс · аналитика
region1.google-analytics.com — page_view GA4 со статусом согласия gcs=G100 (оба хранилища запрещены). Пинг бескуковый, но несёт адрес страницы, заголовок «KV.EE — Kinnisvara pakkumised», язык, разрешение экрана 1536x864, клиентские подсказки браузера (Chromium 152), признак DMA.
+821…+960 мс · рекламный пиксель
track.adform.net/adfserve/?bn=90091642;1x1inv=1;srctype=3 — невидимый маяк Adform. Ответ 302, затем gif 1x1 на +960 мс. Макросы согласия gdpr=${GDPR} и gdpr_consent=${GDPR_CONSENT_50} не заполнены.
+866 мс · рекламный креатив
s0.2mdn.net — креатив Google DoubleClick, подтянутый из рекламного изображения r1-delivery.kv.ee/ad_images. Позже к нему добавляется code.createjs.com (библиотека анимации креатива).
~229 000 мс · список вендоров в панели настроек
При открытом центре настроек OneTrust браузер запрашивает файлы deviceStorage.json / disclosure.json у 240–264 узлов IAB TCF (270 GET, ни одного POST). Это раскрытие вендоров внутри CMP, а не передача данных: пользовательских сведений в этих обращениях нет.
+288 853 мс · мониторинг ошибок
sentry.allepal.ee/api/19/envelope/ — отчёт об ошибке уходит на собственный приёмник Sentry оператора AllePal. Функциональная телеметрия, не рекламный трекинг.

Декларация против факта

✓ Контролёр — AllePal OÜ, регистрационный код 12209337, Pärnu mnt 141, Tallinn 11314 (раздел «Mõisted») — заявлен
✓ Основания обработки: согласие 6(1)(a), договор 6(1)(b), юридическая обязанность 6(1)(c), правомерный интерес 6(1)(f) — заявлен
✓ Пользование сайтом (просмотр объявлений, навигация) через cookie — основание IKÜM artikkel 6 (1) (b), исполнение договора (таблица «Ülevaade») — заявлен
✓ Согласие 6(1)(a) заявлено для рассылок, предложений и запросов — заявлен
✓ «Me ei edasta isikuandmeid kolmandatele isikutele» — данные третьим лицам не передаются, кроме законного основания (раздел передачи данных) — заявлен
✓ «Me ei edasta isikuandmeid Euroopa Liidust väljapoole» — за пределы ЕС данные не передаются (тот же раздел) — заявлен
✓ Обработчики описаны категориями: бухгалтерия, ИТ-решения и прочие; поимённо никто не назван — заявлен
✓ Данные, собранные через cookie, — «см. отдельную главу об использовании cookie» (декларация «Küpsised») — заявлен
✓ Надзорный орган — Andmekaitse Inspektsioon, Tatari 39, 10134 Tallinn — заявлен
+ Google Analytics и Google Tag Manager — в обязывающих условиях защиты данных не названы — не заявлен
+ Adform — рекламный пиксель в обязывающих условиях не назван — не заявлен
+ Google DoubleClick / 2mdn — рекламная отдача в условиях не названа — не заявлен
+ Факт передачи адреса IP и данных о просмотре в Google (США) — прямо противоречит пункту «за пределы ЕС не передаём» — не заявлен
+ Рамочная схема IAB TCF с 240–264 рекламными партнёрами — в обязывающих условиях отсутствует (есть лишь в декларации cookie и баннере) — не заявлен
+ То, что аналитика стартует до согласия в запрещённом режиме, а рекламный пиксель Adform не обусловлен согласием вовсе, в документе не описано — не заявлен

Тайминги передачи

+371 мс www.googletagmanager.com

GTM, контейнер G-XSSYYGNPKF, вставлен в разметку страницы.

+645 мс region1.google-analytics.com

page_view GA4, gcs=G100. Адрес и заголовок страницы, язык, разрешение экрана, клиентские подсказки браузера.

+821 мс track.adform.net

Пиксель Adform 1x1inv=1, до баннера согласия, макросы согласия не заполнены. Ответ 302.

+866 мс s0.2mdn.net

Рекламный креатив Google DoubleClick, подтянут из ad_images.

+960 мс track.adform.net

Повторное обращение Adform, ответ gif 1x1.

+1718 мс cdn.cookielaw.org

Платформа OneTrust загружается уже после рекламных обращений.

+288 853 мс sentry.allepal.ee

Отчёт об ошибке на собственный приёмник оператора.

Без точного времени

~229 000 мс IAB TCF (240–264 узла)deviceStorage.json / disclosure.json при открытии списка вендоров в панели OneTrust. 270 GET, 0 POST.

Зафиксированные трекеры

Показать получателей (62)
  • OneTrust (cdn.cookielaw.org, privacyportal-eu.onetrust.com) — платформа управления согласием; 124 обращения, скрипт CMP загружается на +1735 мс, уже после первых рекламных обращений
  • Google Analytics 4 (region1.google-analytics.com, G-XSSYYGNPKF) — аналитика, подгружается контейнером GTM; 46 пингов, режим согласия gcs=G100 (оба хранилища запрещены), пинги бескуковые, но в Google уходят адрес IP, полный адрес и заголовок страницы, язык, разрешение экрана, клиентские подсказки браузера и события кликов
  • Google Tag Manager (www.googletagmanager.com) — контейнер, из которого стартует GA4; 10 обращений
  • Google DoubleClick / 2mdn (s0.2mdn.net) совместно с code.createjs.com — рекламный креатив в рекламном месте страницы, отдаётся до согласия
  • Google Fonts (fonts.googleapis.com, fonts.gstatic.com) — веб-шрифты; 69 обращений, адрес IP уходит в Google
  • Google APIs (storage.googleapis.com, www.gstatic.com) — сеть доставки статики
  • Adform (track.adform.net, site.adform.com) — рекламная сеть; невидимый пиксель 1x1 (bn=90091642, 1x1inv=1) срабатывает на +838 мс, до баннера согласия, с незаполненными макросами gdpr=${GDPR} и gdpr_consent=${GDPR_CONSENT_50}
  • Sentry (browser.sentry-cdn.com — SDK; sentry.allepal.ee — собственный приёмник оператора AllePal) — функциональный мониторинг ошибок
  • IAB TCF (tcf.adtech.app) — служебная точка рамочной схемы прозрачности и согласия; 4 обращения
  • Quantcast (www.quantcast.com) — аналитика и платформа согласия
  • Index Exchange (cdn.indexexchange.com) — рекламная биржа
  • Beeswax (beeswax.com) — DSP, закупка в реальном времени (RTB)
  • Adikteev (tcf-registrationprocess.adikteev.com) — реклама, ретаргетинг
  • RTB House (www.rtbhouse.com) — реклама (RTB)
  • Yahoo (meta.legal.yahoo.com) — реклама
  • TripleLift (cdn.3lift.com) — реклама
  • Xandr / AppNexus (acdn.adnxs.com) — рекламная биржа
  • Taboola (accessrequest.taboola.com) — нативная реклама
  • Equativ / Smart (apps.smartadserver.com) — рекламный сервер
  • Adman (static.adman.gr) — реклама
  • Magnite / Rubicon (gdpr.rubiconproject.com) — рекламная биржа (SSP)
  • GumGum (marketing.gumgum.com) — реклама
  • OpenX (www.openx.com) — рекламная биржа (SSP)
  • Yieldlab (ad.yieldlab.net) — рекламная биржа (SSP)
  • PubMatic (cdn.pubmatic.com) — рекламная биржа (SSP)
  • Sharethrough (assets.sharethrough.com) — нативная реклама
  • Criteo (privacy.criteo.com) — реклама, ретаргетинг
  • Lotame (tags.crwdcntrl.net) — платформа управления данными (DMP)
  • LiveRamp (tcf.ats.rlcdn.com) — идентификация / DMP
  • Rich Audience (cdnj.richaudience.com) — реклама / DMP
  • IPONWEB (www.bidswitch.com, www.iponweb.com) — инфраструктура RTB
  • AdRoll (s.adroll.com) — реклама, ретаргетинг
  • ID5 (id5-sync.com) — межсайтовая идентификация (RTB)
  • Teads (iab-cookie-disclosure.teads.tv) — реклама
  • Media.net (www.media.net) — рекламная сеть
  • Connatix (connatix.com) — видеореклама (нативная)
  • ADman Media (admanmedia.com) — реклама
  • Seedtag (tcf.seedtag.com) — контекстная реклама
  • Outbrain (www.outbrain.com) — нативная реклама
  • YieldMo (devicestoragedisclosureurl.yieldmo.com) — реклама
  • remerge (assets.remerge.io) — реклама, ретаргетинг
  • Improve Digital (cdn.360yield.com, sellers.improvedigital.com) — рекламная биржа (SSP)
  • RevContent (sothebys.revcontent.com) — нативная реклама
  • OneTag (onetag-cdn.com) — реклама (RTB)
  • Yieldlove (cdn-a.yieldlove.com) — рекламная биржа
  • Bounce Exchange (assets.bounceexchange.com) — реклама, поведенческие сигналы
  • BannerFlow (shared.bannerflow.com) — производство рекламных креативов
  • Integral Ad Science (static.adsafeprotected.com) — верификация рекламы
  • Weborama (cstatic.weborama.fr) — реклама / DMP
  • FreeWheel (iab.fwmrm.net) — видеореклама
  • Jivox (cdn.jivox.com) — динамическая реклама
  • Roq.ad (zd.rqtrk.eu) — межустройственная идентификация
  • Gemius (gemius.com) — аудиторные измерения
  • InMobi (publisher.inmobi.com) — мобильная реклама
  • Kantar Operations (secure.insightexpressai.com) — аудиторные измерения
  • MGID (www.mgid.com) — нативная реклама
  • AudienceProject (sak.userreport.com) — измерения / DMP
  • Adtelligent (adtelligent.com) — реклама (RTB)
  • Cxense (cdn.cxense.com) — платформа управления данными (DMP)
  • Verve Group (resources.verve.com) — реклама
  • Dailymotion (statics.dmcdn.net) — видео / реклама
  • OnAudience (www.onaudience.com) — платформа управления данными (DMP)

Признаки несоответствия GDPR

Контекст

kv.ee — портал объявлений недвижимости, оператор AllePal OÜ, регистрационный код 12209337, Pärnu mnt 141, Tallinn 11314. По собственным условиям AllePal выступает ответственным обработчиком (vastutav töötleja). Контактные данные — info@kv.ee, +372 6718 103; отдельного специалиста по защите данных документ поимённо не называет. Сайт отдаётся через Cloudflare и выставляет полный набор заголовков безопасности: HSTS с preload, Content-Security-Policy, Referrer-Policy strict-origin-when-cross-origin, Permissions-Policy, X-Content-Type-Options nosniff — на уровне заголовков претензий нет.

Замер — одна запись на десять страниц: эстонская главная, русская версия, поиск и несколько страниц ценовой статистики. Всего 1469 запросов, 282 узла, около двенадцати минут, съёмка 6 сентября 2026 года, браузер с языком ru. На сайте работают платформа управления согласием OneTrust и режим согласия Google (Consent Mode), по умолчанию запрещающий рекламное и аналитическое хранилища.

Обработку описывают два документа оператора: обязывающие условия защиты данных (andmekaitsetingimused, редакция от 02.05.2024) и отдельная декларация cookie на движке OneTrust с полным списком IAB TCF.

Кому уходят данные напрямую

Google (Analytics, Tag Manager, DoubleClick/2mdn, Fonts), Adform. Функционально — собственный Sentry оператора (sentry.allepal.ee).

Заявленное против фактического

Документ у AllePal аккуратный: определения, основания обработки, таблица целей, права субъекта, надзорный орган. Про сайт в нём сказано немного, но сказано определённо — и именно в этих определённых местах возникают расхождения.

Первое — рекламные обращения уходят раньше согласия, которого нет. Инфраструктура согласия на месте: OneTrust и режим согласия Google, по умолчанию запрещающий хранилища. Но порядок загрузки эту инфраструктуру обходит. Контейнер тегов стартует на +371 мс прямо из разметки страницы, аналитика уходит на +645 мс, пиксель Adform — на +821 мс, рекламный креатив DoubleClick — на +866 мс. Сам скрипт платформы согласия загружается лишь на +1718 мс, то есть после того, как рекламный маяк уже сработал. За весь сеанс согласие не давалось: в событиях OneTrust видны только открытие и закрытие центра настроек, а статус согласия во всех сорока шести пингах аналитики остаётся запрещающим. Обращение Adform при этом содержит незаполненные макросы согласия gdpr=${GDPR} и gdpr_consent=${GDPR_CONSENT_50} — то есть рекламному партнёру не передаётся даже строка согласия. Платформа существует, но этот маяк ею не обусловлен.

Второе — условия отрицают то, что происходит на самом деле. Раздел о передаче данных сформулирован категорично: данные третьим лицам не передаются, за пределы ЕС не передаются. Формулировка воспроизводится и на живом сайте. Фактически GA4 и DoubleClick передают адрес IP и сведения о просмотре в Google — получателю в США. Прямое противоречие: документ отрицает ровно тот тип передачи, который фиксируется в записи.

Третье — получатели названы в одном документе и отвергнуты в другом. В обязывающих условиях поимённо не назван ни один веб-получатель: перечень обработчиков сведён к категориям. Зато собственная декларация cookie того же оператора и баннер IAB TCF раскрывают обмен данными с 240–264 рекламными партнёрами и прямо называют Google, Adform, DoubleClick, Facebook. То есть получатели у оператора раскрыты — но в документе, который противоречит основному. Пользователь, читающий обязывающие условия, получает утверждение «третьим лицам не передаём»; пользователь, открывающий декларацию cookie, видит рекламный стек на две с лишним сотни партнёров.

И это противоречие не остаётся бумажным. В записи каждый из 240–264 узлов IAB TCF получил GET-обращение, а с ним — адрес IP посетителя и заголовок Referer: https://www.kv.ee/; адрес IP является персональными данными, среди узлов есть получатели за пределами ЕС. Согласие при этом за весь сеанс не давалось. То есть пункт «данные третьим лицам не передаём» и пункт «за пределы ЕС не передаём» опровергаются не расхождением между документами, а фактически доставленными данными: метаданные соединения дошли до двух с лишним сотен рекламных узлов до и без какого-либо согласия. Собранный из поведения профиль — отдельный вопрос, он в этом замере уходит к Google и Adform; но сам факт передачи адреса IP сторонним получателям, который условия отрицают, зафиксирован в масштабе всего рекламного списка.

Четвёртое — cookie для просмотра объявлений отнесены к исполнению договора. В таблице целей строка о пользовании сайтом через cookie обоснована статьёй 6(1)(b) — договор, тогда как согласие в документе привязано лишь к рассылкам. Панель OneTrust при этом честно делит cookie на строго необходимые, функциональные, статистические и рекламные, а последние две категории описывает как работающие на согласии. Отнесение аналитических и рекламных cookie к «договорной необходимости» расходится и с фактической схемой сайта, и с собственной панелью согласия.

Отдельно отмечу, что аналитика Google работает корректно в части хранилищ: статус согласия запрещающий, пинги бескуковые, идентификатор клиента между страницами каждый раз новый. Это не снимает передачу адреса IP и поведения в Google, но само чтение/запись хранилища аналитикой в этой записи не фиксируется — в отличие от рекламного пикселя, срабатывающего безусловно.

Согласие: что доказано и что нет

Доказано: согласие за сеанс не давалось. На десяти страницах и 1469 запросах в событиях OneTrust зафиксированы только «Preference Center Opened From Banner» и «Preferences Close Button». Выбора Accept/Reject нет ни разу, статус согласия во всех сорока шести пингах аналитики — gcs=G100 (оба хранилища запрещены).

Доказано: рекламные обращения не обусловлены согласием. Пиксель Adform уходит на +821 мс, креатив DoubleClick — на +866 мс, тогда как скрипт платформы согласия загружается только на +1718 мс. Обращение Adform несёт незаполненные макросы согласия. Никакого условия перед этими обращениями в порядке загрузки нет.

Доказано: аналитика соблюдает запрет хранилищ. Идентификатор клиента GA в пределах страницы стабилен, а между десятью страницами меняется десять раз — персистентной куки-привязки нет, что соответствует запрещённому режиму согласия. При этом в Google уходят адрес страницы, заголовок, язык, разрешение экрана и клиентские подсказки браузера.

Доказано: получатели раскрыты в декларации cookie, но не в обязывающих условиях. Google, Adform, DoubleClick, Facebook и список IAB TCF присутствуют в декларации «Küpsised» и отсутствуют в основном документе, который вдобавок отрицает передачу третьим лицам.

Не доказано: чтение/запись хранилища рекламным пикселем. Ставит ли Adform куку через цепочку 302, по опубликованным (очищенным) заголовкам не устанавливается. Зафиксированы факт срабатывания маяка до согласия и доставка ответа; вывод о нарушении опирается на это, а не на предполагаемую запись куки.

Границы наблюдения

Замер охватывает десять страниц портала и фиксирует поведение браузера, а не внутреннюю кухню сервисов: обработка на стороне серверов, договоры с получателями и их собственные настройки браузерным замером не проверяются.

Про хвост из 240–264 узлов IAB TCF нужно сказать точно. Каждый из них получил GET-обращение, а вместе с ним — адрес IP посетителя, User-Agent и заголовок Referer: https://www.kv.ee/. Адрес IP — персональные данные, поэтому по самому факту обращения эти узлы являются получателями (в har-check распознано 67, остальные отнесены к сторонним доменам без определённого назначения). Чего в записи нет — это отправленной им полезной нагрузки: все обращения представляют собой GET за статическими файлами раскрытия устройства (deviceStorage.json, disclosure.json), 270 обращений и ни одного POST; собранного из поведения профиля этим узлам в данном замере не передаётся. Сработали они при открытии списка вендоров в центре настроек OneTrust — это объясняет, почему обращения состоялись, но не отменяет того, что адрес IP и referer до этих узлов дошли. Иными словами, «адресовано и доставлено» здесь относится к метаданным соединения (адрес IP, referer с указанием на kv.ee), а профильная передача из поведения в этом замере зафиксирована к Google и Adform.

Файл опубликован очищенным от личных данных: удалены значения куки в запросах. Тела ответов и разметка сохранены, поэтому вставка тегов, порядок загрузки и параметры обращений проверяются по опубликованному файлу напрямую. Полный идентификатор клиента в разборе не приводится; его бескуковый характер устанавливается по самим обращениям в Google. Собственный Sentry оператора (sentry.allepal.ee) — функциональный мониторинг ошибок, к рекламному трекингу не относится и как нарушение не фиксируется.

Правовую оценку выносит компетентный орган — Andmekaitse Inspektsioon, надзор которого назван в самих условиях.

Вывод

На портале объявлений недвижимости выстроена корректная на вид инфраструктура согласия — OneTrust и режим согласия Google с запретом хранилищ по умолчанию, — но она не охватывает всё, что грузится на странице. Рекламный пиксель Adform и креатив Google DoubleClick срабатывают в первые ~900 мс, раньше, чем баннер согласия вообще появляется на +1718 мс, а согласие за весь сеанс так и не даётся. Аналитика Google соблюдает запрет хранилищ, но всё равно передаёт адрес IP и поведение посетителя в США.

При этом обязывающие условия защиты данных прямо утверждают, что оператор не передаёт данные третьим лицам и не передаёт их за пределы ЕС, — тогда как собственная декларация cookie того же оператора раскрывает рекламный стек из 240 с лишним партнёров и поимённо называет Google, Adform, DoubleClick. Два документа оператора говорят разное об одном и том же.

Устранение: обусловить рекламные обращения (Adform, DoubleClick) и загрузку аналитики фактическим согласием, чтобы ни один рекламный маяк не срабатывал до выбора пользователя; передавать рекламным партнёрам корректную строку согласия TCF вместо незаполненных макросов; привести обязывающие условия защиты данных в соответствие с фактом — либо назвать Google, Adform и рекламных партнёров получателями и раскрыть передачу в США по главе V, либо прекратить эти передачи; согласовать основание для аналитических и рекламных cookie между условиями (где они отнесены к договору) и панелью согласия (где они основаны на согласии).

Доказательство

Как проверить: скачайте файл и посчитайте его контрольную сумму — sha256sum файл.har (Linux, macOS) или certutil -hashfile файл.har SHA256 (Windows); она должна совпасть с указанной. Вывод разбора относится к объёму этого замера — см. ограничения методики.

Оригинал (разбор)
HAR-файл: ee/kv-ee-2026-09-06.har
SHA-256: 0bf3ca6e939680ab3443e0813eac8184b3ea6c9a6b579323422aad789557dc4f
Контрольный снимок
Ждём изменений
HAR-файлы хранятся в EU-инфраструктуре (Proton Drive). SHA-256 публикуется для проверки целостности.