Согласноста за WordPress
што блокира пред кликот.
OW Consent ги неутрализира следачите во HTML-от пред посетителот воопшто да избере, го применува правниот режим на неговата јурисдикција и ја впишува секоја одлука во синџирест регистар што можеш да го провериш. Единаесет профили на усогласеност, девет именувани режими — од ГДПР до CCPA. Бесплатно, GPL, без Pro верзија.
Зошто уште еден приклучок за согласност?
Банерот никогаш не бил проблемот. Речиси секој сајт има банер, а следачите сепак тргнуваат уште со првиот бајт: скриптата на Analytics е зашиена во темата, рекламниот пиксел се извршува од подножјето, рамката од YouTube ги остава своите колачиња додека банерот се прикажува врз неа. Кликот на „Прифати сѐ“ тогаш веќе ништо не одобрува — тој само го потврдува тоа што веќе се случило.
Втората стапица е кешот. Штом еден приклучок го одлучува HTML-от читајќи го колачето на посетителот, тој станува неспоив со кеш на страници — или, уште полошо, го сервира изборот на еден посетител на друг. Третата е доказот: членот 7.1 бара согласноста да се докаже, а едно штиклирано поле некаде во базата не докажува ништо.
OW Consent тргнува токму од тие три ограничувања. Сервираниот HTML е ист за сите, вклучително и неутрализираните следачи, а прелистувачот е тој што го ослободува она што посетителот го одобрил. Секоја одлука се додава на потпишан синџир од хешови. А применетиот режим — opt-in или opt-out, линк „Do Not Sell“, обврзувачки GPC-сигнал или не — ја следи јурисдикцијата, а не некоја стандардна поставка.
Во строг режим, вклучен по правило, документот се препишува на излез: скриптите се неутрализираат во text/plain, рамките се префрлаат на about:blank зад плоча со копче, пикселите се заменуваат со проѕирен GIF, а наговестувањата за поврзување се бришат. Посетителот што никогаш не кликнува, никогаш и не ги вчитува тие ресурси.
Ништо на патот на прикажување не го чита колачето. Состојбата на посетителот се обновува во прелистувачот и се поставува на ознаката html пред првото исцртување. LiteSpeed, WP Rocket, Varnish или CDN можат да ја кешираат страницата без никогаш да измешаат двајца посетители.
Секој настан влегува во синџиреста табела, секој ред е потпишан со HMAC заедно со хешот на претходниот, а водечкото сидро се чува надвор од табелата. И ако регистарот одбие да запише, API-то враќа 503, го поништува колачето и не ослободува ниту еден следач: согласност што сајтот не може да ја докаже е согласност на која не се повикува.
Што всушност се менува
Без слогани. Еве ги техничките одлуки што го издвојуваат овој производ.
Во строг режим — вклучен по правило — целиот документ се фаќа на излез и се препишува во пет поминувања: скриптите добиваат type text/plain, а нивното URL оди во data-owc-src, рамките се префрлаат на about:blank зад плоча со именувано копче „Прифати“, мерните пиксели се заменуваат со проѕирен GIF 1×1, preconnect и dns-prefetch се бришат (веќе и самото наговестување отвора TLS-врска и ја открива IP-адресата), а веќе каталогизираните медиуми од трети страни го губат autoplay. Испорачаниот каталог има 175 потписи за 71 добавувач, а можеш да додаваш, поправаш или бришеш правила од администрацијата. По правило непозната скрипта од трета страна поминува, а непозната рамка се блокира.
Ништо од тоа што серверот го прикажува не зависи од колачето на посетителот: истите неутрализирани ознаки одат кај сите, а рантајмот ги враќа во прелистувачот, по редоследот на документот, и тоа само за одобрените категории. Состојбата се втиснува на ознаката html пред првото исцртување, па банерот не трепка. Токенот за запис се презема свеж пред секое праќање и никогаш не се вградува во кеширан HTML: неговото преземање е ограничено на 4 секунди, а неговото отсуство никогаш не блокира избор.
ГДПР, UK PECR, швајцарскиот nLPD, квебечкиот Закон 25, LGPD, CCPA, POPIA, PIPL, индискиот DPDP, плус австралиски профил и генерички американски профил. Профилот не е украс: тој го одлучува правниот модел (opt-in, или сѐ одобрено до одбивање за CCPA, генеричкиот американски профил и Австралија), присуството на линкот „Do Not Sell or Share“ — еден клик навистина го извршува opt-out, не отвора панел —, дали сигналот Global Privacy Control е обврзувачки или не, како и јазикот и надзорниот орган наведени во генерираните документи. Постои и откривање по земја, исклучено по правило.
Секое прифаќање, одбивање, измена или повлекување влегува во посебна табела: ред потпишан со HMAC-SHA-256 (или SHA3-256) заедно со хешот на претходниот, со водечко сидро зачувано надвор од табелата за да се забележи секое скратување. Се запишуваат псевдонимен токен на прелистувачот, скратена IP-адреса, отпечаток на user-agent, страницата, важечкиот профил, точната ревизија на прикажаниот банер и отпечатокот на поврзаните политики — никогаш име ниту адреса. Едно копче го проверува целиот синџир и го именува прекинот; извозот во CSV или JSON носи обвивка што ѝ овозможува на трета страна повторно да провери извадок. Стандардно чување: 5 години.
Испорачан исклучен, се вклучува кога ти одговара: скенерот ги обиколува твоите сопствени страници преку WP-Cron (25 URL по правило, прилагодливо до 500), наизменично земајќи почетна страница, страници, објави, типови содржина и таксономии. Три различни и означени извори: сервираниот HTML, заглавјата Set-Cookie — единствените колачиња што серверско скенирање може да ги докаже и единствените што ништо не може да ги блокира — и сонда во страницата, резервирана за најавени администратори, што го фаќа она што менаџерот на ознаки го внесува при извршување. Еден наод станува правило во каталогот со еден клик. А извештајот кажува што не успеал да прочита, наместо делумно скенирање да го претстави како целосен попис.
Четири документа генерирани како верзионирани WordPress-страници — политика за колачиња, политика за приватност, правни информации, општи услови — на јазикот на јурисдикцијата (француски, англиски, португалски), со надзорниот орган и табелата на следачи од скенирањето. Објавувањето се одбива додека некое законски задолжително поле е празно, а секој документ носи предупредување дека треба да го прегледа стручно лице. За правата, shortcode-от owc_dsar_form отвора седум типа барања, потврдени со размена на е-пошта; рокот од членот 12.3 почнува со потврдата на идентитетот, а барањето паралелно отвора и изворно WordPress-барање, за извозот или бришењето да ги опфати сите приклучоци на сајтот.
Наспроти алтернативите
Проверливи податоци. Се штиклира само она што навистина постои кај конкурентот.
| Критериум | OW Consent | Complianz | CookieYes | Borlabs Cookie |
|---|---|---|---|---|
| Деловен модел | Бесплатно, GPL-2.0-or-later | Freemium (Pro се плаќа) | Freemium (Pro се плаќа) | Не е објавено |
| Лиценцен клуч за активирање | Нема | За Pro верзијата | За Pro верзијата | Не е објавено |
| Метод на блокирање на следачите | Препишување на HTML на серверот, 175 испорачани и уредливи потписи | Не е објавено | Не е објавено | Не е објавено |
| Синџирест и проверлив регистар на докази | Синџир HMAC-SHA-256, сидро надвор од табелата, проверка со еден клик | Не е објавено | Не е објавено | Не е објавено |
| Испорачани профили на усогласеност | 11 профили, 9 именувани режими | Не е објавено | Не е објавено | Не е објавено |
| Приспособлив банер за согласност | 4 позиции, светла / темна / автоматска тема | |||
| Портал за барања за остварување на правата | Вклучен: формулар, потврда преку е-пошта, рок по чл. 12.3 | Не е објавено | Не е објавено | Не е објавено |
| Каде живеат запишаните согласности | Во базата на твојот хостинг, без услуги од трети страни | Не е објавено | Не е објавено | Не е објавено |
Три начини за интегрирање на формулар
Без наметнат сопственички page builder. Изберете го пристапот што одговара на вашиот stack.
<!-- Што печати твојата тема -->
<script src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<iframe src="https://www.youtube.com/embed/VIDEO_ID"></iframe>
<!-- Што добива посетителот пред каква било согласност (строг режим, по правило) -->
<script type="text/plain"
data-owc-cat="analytics"
data-owc-vendor="Google"
data-owc-src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<span class="owc-embed-placeholder" data-owc-cat="social" data-owc-vendor="Google">
<span class="owc-embed-text">Google content blocked: this content uses cookies…</span>
<button type="button" class="owc-embed-accept" data-owc-cat="social">Accept Google</button>
<iframe data-owc-cat="social"
data-owc-src="https://www.youtube.com/embed/VIDEO_ID"
src="about:blank"></iframe>
</span>
<!-- Овој HTML е ист за сите, вклучително и зад кеш на страници.
Рантајмот, во прелистувачот, ги враќа ознаките на одобрените
категории, по редоследот на документот. Повлекувањето на согласноста
ја превчитува страницата: веќе извршена скрипта не се растоварува. -->Разумни сомнежи, директни одговори
Да, и блокирањето живее во самиот HTML, не во ветување. Во строг режим, вклучен по правило, документот се фаќа на излез и пет поминувања ги препишуваат скриптите, рамките, пикселите, наговестувањата за поврзување и медиумите од трети страни. Две ограничувања што треба да ги знаеш: вистинското блокирање се потпира на каталогот со 175 потписи и на потписите за вграден код — непозната скрипта од трета страна по правило се пропушта, а непозната рамка се блокира —, и ако го исклучиш строгиот режим, се обработуваат само скриптите регистрирани од WordPress, не и оние зашиени во темата. Најпосле, документ поголем од 8 MB или откажување на машината за регуларни изрази се сервира недопрен, наместо скршен.
Да, тоа е појдовното ограничување. Сервираниот HTML е идентичен за сите посетители, вклучително и неутрализираните следачи, а состојбата на согласноста се обновува во прелистувачот од колачето и се применува пред првото исцртување. Затоа ниту еден кеш не може да го сервира изборот на еден посетител на друг. Цената е кажана отворено: режимот на посетителот се одлучува кај клиентот, па без JavaScript ништо не се запишува. Посетител без JavaScript гледа noscript-блок, не вчитува ништо што не е неопходно и никогаш не останува заклучен зад прозорец што не може да го затвори.
Тој го одлучува правниот модел: opt-in за ГДПР, UK PECR, швајцарскиот nLPD, Законот 25, LGPD, POPIA, PIPL и DPDP; сѐ одобрено до одбивање за CCPA, генеричкиот американски профил и Австралија. Го одлучува и прикажувањето на линкот „Do Not Sell or Share“ (само CCPA и генеричкиот американски), обврзувачката природа на GPC-сигналот (истите два профила: на друго место сигналот се отсликува на екран, но ништо не се запишува), како и јазикот и надзорниот орган во генерираните документи. Откривањето по земја е изборно и исклучено по правило; тоа паѓа затворено, односно кон построгиот режим. Две признати ограничувања: нема поделба по американска држава ниту по канадска покраина, а датотеката на MaxMind приклучокот ниту ја презема ниту може да се качи преку него — ја ставаш сам во uploads/ow-geoip/.
Докажува онолку колку што вреди клучот што го потпишува, и приклучокот тоа ти го кажува отворено. Секој ред е потпишан со HMAC заедно со хешот на претходниот, а водечкото сидро се чува надвор од табелата, така што измена, скратување или празнење се гледаат при проверката. Но ако AUTH_KEY и AUTH_SALT не се во твојот wp-config.php и ако не си дефинирал OWC_LEDGER_KEY, клучот доаѓа од базата: секој што има пристап до базата може повторно да го потпише синџирот. Во тој случај приклучокот прикажува административно предупредување и самиот пријавува дека синџирот повеќе не е неизменлив, наместо да продолжи да тврди спротивно.
Не, и подобро е тоа да се каже пред преземањето отколку потоа. Модулот го имплементира TCF v2.2 кај прелистувачот — API-то __tcfapi, кодиран TC-стринг, колачето euconsent-v2 — но не обезбедува CMP ID: него го доделува IAB Europe по регистрација, а без него модулот не емитува баш ништо. И опфатот е ограничен: само сегментот Core, без издадени publisher restrictions, две поддржани специјални функции, без глобален домет. Накратко, работи како неофицијален CMP-компатибилен режим, што им е доволно на многу интеграции, но не заменува официјална регистрација — Google AdSense, особено, го одбива во продукција во ЕЕП. Модулот е исклучен по правило.
Исклучувањето не допира никакви податоци: тоа само ги отстранува закажаните задачи. При бришење, две работи си одат секогаш, без оглед на твојата поставка: закажаните задачи и табелата со барањата за остварување на правата — единствената табела што содржи директно идентификувачки податоци за трети лица, кои повеќе никој не ги ограничува штом приклучокот го нема. Останатото — регистарот на согласности, наодите на скенерот, каталогот на следачи — преживува, освен ако изречно си го штиклирал целосното бришење, кое по правило е отштиклирано: твојот доказ за согласност по членот 7.1 не смее да исчезне со една деинсталација.
Нема Pro верзија, нема лиценцен клуч.
OW Consent е објавен под лиценца GPL-2.0-or-later. Сѐ што опишува оваа страница се наоѓа во .zip што го преземаш: нема заклучени модули, нема претплата, нема ограничување на бројот страници, согласности или барања.
- Сѐ е вклучено: банер, блокирање на следачите, скенер, уредлив каталог, синџирест регистар, генератор на документи, портал за барања, Consent Mode v2, TCF v2.2 и Global Privacy Control.
- .zip се презема од optionweb.dev: инсталирај го преку Приклучоци → Додај нов → Качи приклучок. Минимум WordPress 6.2 — под таа верзија приклучокот одбива да стартува и го кажува тоа, наместо да прикаже банер што ништо не блокира.
- Без услуги од трети страни, без проверка на лиценца, без додадени следачи: согласностите, барањата и документите остануваат во базата на твојот хостинг.
- Кодот е под GPL-2.0-or-later, читлив и изменлив, со документирани точки на проширување: филтрите owc_settings, owc_scripts_catalog, owc_blocker_allowlist, owc_policy_template и акциите на регистарот.