входим в Топ-20 агентств
Рейтинг Рунета

Генератор политики использования cookie

Заполните реквизиты и отметьте сервисы на сайте — получите шаблон политики cookie с учётом 152-ФЗ: категории cookie, сторонние сервисы, порядок согласия и отказа.

  • Бесплатно
  • Без регистрации
  • Данные не уходят на сервер
Оператор (владелец сайта)
Сайт
Хостинг-провайдер
Сервер сайта получает значения cookie и IP-адреса; хостинг обрабатывает их по поручению оператора
Данные провайдера можно найти в договоре или в разделе «Реквизиты» на сайте хостинга
Типы используемых cookie
Сторонние сервисы аналитики и рекламы
Дополнительно
Политика использования cookie
\n\n'; } function saveDoc(name, title, body) { saveBlob(name, docFile(title, body), 'application/msword'); } /* Профиль реквизитов: общий для генераторов, хранится в браузере */ var KEY = 'rwt-requisites'; function load() { try { var o = JSON.parse(localStorage.getItem(KEY) || '{}'); return (o && typeof o === 'object') ? o : {}; } catch (e) { return {}; } } function store(o) { try { localStorage.setItem(KEY, JSON.stringify(o)); return true; } catch (e) { return false; } } function forget() { try { localStorage.removeItem(KEY); } catch (e) {} } /* map: {name, inn, ogrn, address, email, phone, site} → id поля; bar — строка «сохраняются · Очистить» */ function profile(map, bar, onChange) { var keys = Object.keys(map), saved = load(); function el(k) { return document.getElementById(map[k]); } keys.forEach(function (k) { var e = el(k); if (e && !e.value && saved[k]) e.value = saved[k]; }); var save = debounce(function () { var o = load(); keys.forEach(function (k) { var e = el(k); if (!e) return; var v = e.value.trim(); if (v) o[k] = v; else delete o[k]; }); store(o); }, 400); keys.forEach(function (k) { var e = el(k); if (e) e.addEventListener('input', save); }); if (bar) profileBar(bar, function () { keys.forEach(function (k) { var e = el(k); if (e) e.value = ''; }); if (onChange) onChange(); }); } function profileBar(bar, onClear) { if (typeof bar === 'string') bar = document.getElementById(bar); if (!bar) return; bar.innerHTML = 'Реквизиты сохраняются в вашем браузере · '; bar.querySelector('button').addEventListener('click', function () { forget(); if (onClear) onClear(); }); } /* Панель экспорта (110 px — запас под закреплённую шапку сайта): на десктопе — в блоке результата, на узком экране — липкая внизу инструмента */ function dock(barEl, home, target, bp) { if (typeof barEl === 'string') barEl = document.getElementById(barEl); if (typeof home === 'string') home = document.getElementById(home); if (typeof target === 'string') target = document.getElementById(target); if (!barEl || !home) return; var root = document.getElementById('rwt-tool') || home.closest('.rwt') || home.parentNode; var mq = window.matchMedia ? window.matchMedia('(max-width: ' + (bp || 900) + 'px)') : null; function place() { if (mq && mq.matches) { if (barEl.parentNode !== root) root.appendChild(barEl); barEl.classList.add('is-float'); } else { if (barEl.parentNode !== home) home.appendChild(barEl); barEl.classList.remove('is-float'); } } place(); if (mq) { if (mq.addEventListener) mq.addEventListener('change', place); else if (mq.addListener) mq.addListener(place); } var show = barEl.querySelector('.rwd-show'); if (show && target) show.addEventListener('click', function () { var y = target.getBoundingClientRect().top + (window.pageYOffset || 0) - 110; window.scrollTo({ top: Math.max(0, y), behavior: 'smooth' }); }); } return { esc: esc, parse: parse, html: html, preview: preview, text: text, splitNotes: splitNotes, showNotes: showNotes, debounce: debounce, saveBlob: saveBlob, docFile: docFile, saveDoc: saveDoc, load: load, store: store, forget: forget, profile: profile, profileBar: profileBar, dock: dock }; })(); /*@rwd-kit-end*/ let generatedText = ''; function toggleOrgFields(){ const t = document.getElementById('op_type').value; document.getElementById('field_org_name').style.display = t==='org' ? '' : 'none'; document.getElementById('field_ip_name').style.display = t==='org' ? 'none' : ''; document.getElementById('field_inn').style.display = (t==='org'||t==='ip'||t==='self') ? '' : 'none'; document.getElementById('field_ogrn').style.display = (t==='org'||t==='ip') ? '' : 'none'; } function toggleHosting(){ const en = document.getElementById('hosting_enabled').checked; document.getElementById('hosting_fields').className = 'hosting-fields' + (en ? ' open' : ''); } function toggleCookieType(id, e){ if(e.target.type==='checkbox') return; const body = document.getElementById('ctb_'+id); body.className = 'cookie-type-body' + (body.classList.contains('open') ? '' : ' open'); } function syncCookieType(cb){ const id = cb.id.replace('ct_',''); const body = document.getElementById('ctb_'+id); if(cb.checked && !body.classList.contains('open')) body.className = 'cookie-type-body open'; } function updateCb(cb){ const item = cb.closest('.checkbox-item'); item.className = 'checkbox-item' + (cb.checked ? ' checked' : ''); } function g(id){ return (document.getElementById(id)||{}).value||''; } function chk(x){ const el = typeof x==='string' ? document.getElementById(x) : x; return !!(el && el.checked); } function todayISO(){ const d=new Date(); return d.getFullYear()+'-'+String(d.getMonth()+1).padStart(2,'0')+'-'+String(d.getDate()).padStart(2,'0'); } function getOperatorName(){ const t = g('op_type'); if(t==='org') return g('org_name'); const n = g('ip_name'); if(!n) return ''; if(t==='ip') return 'Индивидуальный предприниматель ' + n; if(t==='self') return n + ' (плательщик налога на профессиональный доход)'; return n; } function formatDate(d){ if(!d) d = todayISO(); const dt = new Date(d+'T00:00:00'); const months=['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря']; return `${dt.getDate()} ${months[dt.getMonth()]} ${dt.getFullYear()} г.`; } function generate(){ const op = getOperatorName() || '[наименование оператора]'; const site = g('site') || '[домен сайта]'; const email = g('email') || '[email]'; const phone = g('phone'); const address = g('address'); const t0 = g('op_type'); const inn = (t0==='org'||t0==='ip'||t0==='self') ? g('inn') : ''; const ogrn = (t0==='org'||t0==='ip') ? g('ogrn') : ''; const date = formatDate(g('policy_date')); const hasAnalytics = chk('ct_analytics'); const hasMarketing = chk('ct_marketing'); const hasFunctional = chk('ct_functional'); const hasMetrika = chk(document.querySelector('#cb_metrika input')); const hasGA = chk(document.querySelector('#cb_ga input')); const hasVK = chk(document.querySelector('#cb_vk input')); const hasMeta = chk(document.querySelector('#cb_meta input')); const hasYaDirect = chk(document.querySelector('#cb_yadirect input')); const hasGAds = chk(document.querySelector('#cb_gads input')); const otherServices = g('other_services'); const hasHosting = chk('hosting_enabled'); const hostingName = g('hosting_name'); const hostingSite = g('hosting_site'); const hostingEmail = g('hosting_email'); const hostingLegal = g('hosting_legal'); const withGDPR = chk(document.querySelector('#cb_gdpr input')); const withConsent = chk(document.querySelector('#cb_consent input')); const withBrowser = chk(document.querySelector('#cb_browser input')); const hasOptional = hasAnalytics||hasMarketing||hasFunctional; const SEP = '─'.repeat(40); let t = '', sn = 0; const H = (title) => { sn++; t += `${sn}. ${title}\n${SEP}\n\n`; return sn; }; t += `ПОЛИТИКА ИСПОЛЬЗОВАНИЯ ФАЙЛОВ COOKIE\n`; t += `${'─'.repeat(60)}\n\n`; t += `Редакция от ${date}\n`; t += `Оператор: ${op}\n`; t += `Сайт: ${site}\n\n`; H('ОБЩИЕ ПОЛОЖЕНИЯ'); t += `Настоящая Политика использования файлов cookie (далее — «Политика») распространяется на сайт ${site} и определяет порядок использования файлов cookie и аналогичных технологий.\n\n`; t += `Оператор сайта: ${op}`; if(inn) t += `, ИНН ${inn}`; if(ogrn) t += `, ${t0==='ip' ? 'ОГРНИП' : 'ОГРН'} ${ogrn}`; if(address) t += `, адрес: ${address}`; t += `.\n\n`; t += `Необходимые (технические) файлы cookie используются без согласия пользователя, так как без них сайт не может работать.`; if(hasOptional) t += ` Иные файлы cookie (аналитические, рекламные, функциональные) устанавливаются только после того, как пользователь явно выразил согласие — нажал «Принять» или включил соответствующую категорию в настройках cookie. Пользователь вправе отказаться от необязательных cookie, это не ограничивает доступ к сайту.`; t += `\n\n`; if(withGDPR){ t += `Для пользователей из Европейского Союза настоящая Политика применяется с учётом требований Регламента (ЕС) 2016/679 (GDPR) и Директивы 2002/58/ЕС.\n\n`; } H('ЧТО ТАКОЕ ФАЙЛЫ COOKIE'); t += `Файлы cookie — это небольшие текстовые файлы, которые сайт сохраняет в браузере на устройстве пользователя. При последующих обращениях браузер передаёт их на сервер сайта, что позволяет распознать устройство и запомнить настройки пользователя.\n\n`; t += `Файлы cookie не содержат исполняемого кода и не предоставляют доступ к устройству пользователя.\n\n`; const secTypes = H('ТИПЫ ИСПОЛЬЗУЕМЫХ ФАЙЛОВ COOKIE'); let sub = 0; const S = (title) => { sub++; t += `${secTypes}.${sub}. ${title}\n\n`; }; S('Необходимые (технические) файлы cookie'); t += `Обеспечивают работу сайта: авторизацию, корзину, формы, защиту от атак. Без них часть функций работать не будет. Согласие пользователя для их использования не требуется.\n\n`; t += `Срок хранения: ${g('ct_essential_ttl') || 'до конца сессии'}\n`; const exEss = g('ct_essential_ex'); if(exEss) t += `Примеры файлов: ${exEss}\n`; t += `\n`; if(hasAnalytics){ S('Аналитические файлы cookie (только с согласия)'); t += `Используются для сбора статистики посещаемости: просмотренные страницы, длительность сессии, источники перехода. Помогают улучшать сайт.\n\n`; t += `Срок хранения: ${g('ct_analytics_ttl') || '2 года'}\n`; const exAn = g('ct_analytics_ex'); if(exAn) t += `Примеры файлов: ${exAn}\n`; t += `\n`; } if(hasMarketing){ S('Маркетинговые и рекламные файлы cookie (только с согласия)'); t += `Применяются для показа релевантной рекламы, ретаргетинга и оценки эффективности рекламных кампаний. Данные передаются рекламным платформам, указанным ниже.\n\n`; t += `Срок хранения: ${g('ct_marketing_ttl') || '2 года'}\n`; const exMk = g('ct_marketing_ex'); if(exMk) t += `Примеры файлов: ${exMk}\n`; t += `\n`; } if(hasFunctional){ S('Функциональные файлы cookie (только с согласия)'); t += `Запоминают выбор пользователя: язык интерфейса, регион, тему оформления, отображение виджетов.\n\n`; t += `Срок хранения: ${g('ct_functional_ttl') || '1 год'}\n`; const exFn = g('ct_functional_ex'); if(exFn) t += `Примеры файлов: ${exFn}\n`; t += `\n`; } const hasThirdParty = hasMetrika||hasGA||hasVK||hasMeta||hasYaDirect||hasGAds||otherServices; if(hasThirdParty){ H('СТОРОННИЕ СЕРВИСЫ, ИСПОЛЬЗУЮЩИЕ COOKIE'); t += `На сайте используются сторонние сервисы, которые могут устанавливать собственные файлы cookie. Они подключаются только после согласия пользователя на соответствующую категорию cookie:\n\n`; if(hasMetrika){ t += `• Яндекс Метрика (ООО «Яндекс», Россия)\n`; t += ` Назначение: веб-аналитика, карты кликов, записи сессий\n`; t += ` Политика конфиденциальности: https://yandex.ru/legal/confidential/\n\n`; } if(hasYaDirect){ t += `• Яндекс Директ (ООО «Яндекс», Россия)\n`; t += ` Назначение: учёт конверсий, ретаргетинг\n`; t += ` Политика конфиденциальности: https://yandex.ru/legal/confidential/\n\n`; } if(hasVK){ t += `• VK Реклама (ООО «ВК», Россия)\n`; t += ` Назначение: пиксель ретаргетинга, формирование аудиторий\n`; t += ` Политика конфиденциальности: https://vk.com/privacy\n\n`; } if(hasGA){ t += `• Google Analytics (Google LLC, США)\n`; t += ` Назначение: аналитика посещаемости\n`; t += ` Политика конфиденциальности: https://policies.google.com/privacy\n\n`; } if(hasGAds){ t += `• Google Ads (Google LLC, США)\n`; t += ` Назначение: учёт конверсий, ремаркетинг\n`; t += ` Политика конфиденциальности: https://policies.google.com/privacy\n\n`; } if(hasMeta){ t += `• Meta Pixel (Meta Platforms Inc., США)\n`; t += ` Meta Platforms Inc. признана экстремистской организацией, её деятельность запрещена в РФ.\n`; t += ` Назначение: учёт конверсий, ретаргетинг\n`; t += ` Политика конфиденциальности: https://www.facebook.com/privacy/policy/\n\n`; } if(otherServices){ otherServices.split(',').map(s=>s.trim()).filter(Boolean).forEach(s=>{ t += `• ${s}\n Назначение: [укажите назначение и правообладателя сервиса]\n\n`; }); } if(hasGA||hasGAds||hasMeta){ t += `Использование сервисов ${[hasGA||hasGAds ? 'Google LLC' : '', hasMeta ? 'Meta Platforms Inc.' : ''].filter(Boolean).join(' и ')} влечёт трансграничную передачу данных (идентификаторы cookie, IP-адрес, сведения о действиях на сайте) на территорию США — государства, не обеспечивающего адекватную защиту прав субъектов персональных данных. Оператор осуществляет такую передачу после уведомления Роскомнадзора о намерении осуществлять трансграничную передачу (ст. 12 Федерального закона от 27.07.2006 № 152-ФЗ) и только при наличии согласия пользователя.\n\n`; } } if(hasHosting){ H('РАЗМЕЩЕНИЕ САЙТА'); t += `Файлы cookie хранятся в браузере пользователя. Сервер сайта, получающий значения cookie, IP-адрес и сведения о запросах, размещён у хостинг-провайдера`; if(hostingName){ t += ` ${hostingName}`; if(hostingLegal) t += ` (${hostingLegal})`; if(hostingSite) t += `, ${hostingSite}`; } t += `, который обрабатывает эти данные по поручению Оператора и обязан соблюдать их конфиденциальность.\n\n`; if(hostingEmail) t += `Контакт хостинг-провайдера: ${hostingEmail}. Запросы субъектов персональных данных направляются Оператору.\n\n`; } if(withConsent || hasOptional){ H('СОГЛАСИЕ НА ИСПОЛЬЗОВАНИЕ COOKIE'); if(withConsent){ t += `При первом посещении сайта ${site} пользователю показывается баннер с кнопками «Принять», «Отклонить» и «Настроить». До выбора пользователя устанавливаются только необходимые cookie.\n\n`; t += `Нажатие «Принять» или включение категории в настройках является согласием на использование соответствующих cookie и обработку полученных с их помощью данных. Согласие оформляется отдельно от иных документов (ч. 1 ст. 9 152-ФЗ). Закрытие баннера или продолжение просмотра сайта согласием не считается.\n\n`; } else { t += `Необязательные cookie используются только после явного согласия пользователя, полученного через баннер или настройки cookie на сайте. Продолжение просмотра сайта согласием не считается.\n\n`; } t += `Пользователь может в любой момент отозвать согласие — через ссылку «Настройки cookie» на сайте или обращением по адресу ${email}. Отзыв не влияет на законность обработки до его получения.\n\n`; if(withGDPR){ t += `Пользователи из ЕС могут управлять каждой категорией согласия через панель настроек cookie на сайте.\n\n`; } } H('ПРАВА ПОЛЬЗОВАТЕЛЯ'); t += `Пользователь имеет право:\n\n`; t += `— отказаться от необязательных cookie или отозвать ранее данное согласие;\n`; t += `— удалить установленные файлы cookie через настройки браузера;\n`; t += `— получить информацию об обработке своих персональных данных, направив запрос на ${email};\n`; t += `— потребовать уточнения, блокирования или уничтожения персональных данных в случаях, предусмотренных законодательством РФ.\n\n`; t += `Отключение необходимых cookie может нарушить работу сайта.\n\n`; if(withBrowser){ H('КАК ОТКЛЮЧИТЬ ФАЙЛЫ COOKIE В БРАУЗЕРЕ'); t += `Google Chrome:\nНастройки → Конфиденциальность и безопасность → Сторонние файлы cookie (chrome://settings/cookies)\n\n`; t += `Mozilla Firefox:\nНастройки → Приватность и защита → Куки и данные сайтов (about:preferences#privacy)\n\n`; t += `Safari (macOS / iOS):\nНастройки → Safari → Конфиденциальность → «Блокировать все cookie»\n\n`; t += `Microsoft Edge:\nНастройки → Конфиденциальность, поиск и службы → Файлы cookie (edge://settings/privacy)\n\n`; t += `Яндекс Браузер:\nНастройки → Сайты → Расширенные настройки сайтов → Cookie-файлы\n\n`; } H('КОНТАКТЫ'); t += `По вопросам использования cookie и обработки персональных данных:\n\n`; t += `Оператор: ${op}\n`; if(address) t += `Адрес: ${address}\n`; t += `Email: ${email}\n`; if(phone) t += `Телефон: ${phone}\n`; t += `Сайт: ${site}\n\n`; H('ИЗМЕНЕНИЕ ПОЛИТИКИ'); t += `Оператор вправе изменять настоящую Политику. Новая редакция вступает в силу с момента публикации на сайте ${site}. Если меняется состав необязательных cookie или цели их использования, согласие пользователя запрашивается повторно.\n\n`; t += `Редакция от ${date}\n`; generatedText = t; const body = document.getElementById('result_body'); body.innerHTML = `
${RWD.preview(textToHtml(t))}
Редакция от ${escHtml(formatDate(todayISO()))} Шаблон, не юридическая консультация.
`; } function escHtml(s){ return s.replace(/&/g,'&').replace(//g,'>'); } function textToHtml(s){ return s.split(/\n{2,}/).map(b=>{ const h = /^(\d+)\. (.+)\n─+$/.exec(b); if(h) return `

${escHtml(h[1]+'. '+h[2])}

`; if(/^ПОЛИТИКА ИСПОЛЬЗОВАНИЯ/.test(b)) return `

Политика использования файлов cookie

`; if(/^\d+\.\d+\. [^\n]+$/.test(b)) return `

${escHtml(b)}

`; if(/^• /.test(b)) return `
  • ${b.split('\n').map(l=>escHtml(l.replace(/^• /,'').trim())).join('
    ')}
`; if(/^— /m.test(b) && b.split('\n').every(l=>/^— /.test(l))) return `
    ${b.split('\n').map(l=>`
  • ${escHtml(l.slice(2))}
  • `).join('')}
`; return `

${b.split('\n').map(escHtml).join('
')}

`; }).join('\n').replace(/<\/ul>\n
    /g,'\n'); } function copyText(text, btn){ RWT.copy(text, btn); } function copyResult(e){ copyText(generatedText, e.target); } function copyHTML(e){ copyText(textToHtml(generatedText), e.target); } function downloadDOC(){ if(!generatedText) generate(); RWD.saveDoc('cookie-policy.doc', 'Политика использования файлов cookie', textToHtml(generatedText)); } function resetForm(){ document.querySelectorAll('input[type=text],input[type=email],input[type=tel],input[type=date]').forEach(el=>el.value=''); document.querySelectorAll('input[type=checkbox]').forEach(el=>{ if(!el.disabled) el.checked = false; }); document.querySelectorAll('.checkbox-item').forEach(el=>el.classList.remove('checked')); document.getElementById('hosting_fields').className='hosting-fields'; document.getElementById('ctb_analytics').className='cookie-type-body'; document.getElementById('ctb_marketing').className='cookie-type-body'; document.getElementById('ctb_functional').className='cookie-type-body'; document.getElementById('ct_analytics_ex').value='_ym_uid, _ga'; document.getElementById('ct_marketing_ex').value='_ym_retargeting, vk_ref'; document.getElementById('ct_functional_ex').value='lang, theme'; document.getElementById('ct_essential_ex').value='PHPSESSID, csrf_token'; document.getElementById('policy_date').value = todayISO(); ['cb_consent','cb_browser'].forEach(id=>{ document.querySelector('#'+id+' input').checked = true; document.getElementById(id).classList.add('checked'); }); toggleOrgFields(); generate(); } // Установить сегодняшнюю дату по умолчанию document.getElementById('policy_date').value = todayISO(); // Включить согласие и браузерную инструкцию по умолчанию document.querySelector('#cb_consent input').checked = true; document.querySelector('#cb_consent').classList.add('checked'); document.querySelector('#cb_browser input').checked = true; document.querySelector('#cb_browser').classList.add('checked'); (function(){ var live = RWD.debounce(generate, 300); var fb = document.getElementById('formBody'); fb.addEventListener('input', live); fb.addEventListener('change', live); RWD.profile({ name: 'org_name', inn: 'inn', ogrn: 'ogrn', address: 'address', email: 'email', phone: 'phone', site: 'site' }, 'rwdSaved', generate); RWD.dock('rwdBar', 'rwdHome', 'resultPanel', 900); generate(); })();
Установим cookie-баннер и настроим аналитику

Баннер с выбором категорий, Метрика и пиксели только после согласия, политика cookie на сайте.

Обсудить проект