Ugrás a fő tartalomhoz
Woop Technology
Összes referencia
Technikai esettanulmány | Biztonság & függetlenség

Projektjeinkre, a biztonságra és az adat­szuverenitásra szabott hozzájárulási architektúra

Webalkalmazásainkhoz a hozzájárulások kezelését magunk építettük meg, ahelyett hogy külső consent-platformra bíztuk volna. A működést, a megjelenést és a viselkedést mi határozzuk meg; a hozzájárulások és naplóik a saját infrastruktúránkon maradnak – idegen szkript nélkül a betöltési útvonalon és folyamatos díjak nélkül.

Felület
Sáv és beállítások a projekt saját arculatában
Hozzájárulás-motor
Állapot, verziózás, nyilvántartás, szűrés
Adatforrás
JSON, API vagy CMS – cserélhető
Három elkülönített réteg: középen a motor felel a működésért, alatta az adatforrás cserélhető, felette a felület az adott projekthez tartozik.
Projektadatok
Típus
Technikai esettanulmány
Modul
@woop-technology/consent
Referenciaprojektek
Állapot
Használatban | folyamatos fejlesztés alatt
Integráció
React | Next.js App Router
Kiszolgálás
Privát csomagkezelés
Fókuszterületek
  • Hozzájárulási architektúra
  • Adatszuverenitás
  • Google Consent Mode v2
  • Cookie-nyilvántartás
  • verziózott hozzájárulások
  • szkriptszűrés
  • cserélhető adatforrások
  • többnyelvűség
  • projektenkénti felületek
  • szerveroldali naplózás
Kiindulási helyzet

Miért fejlesztettük ki saját hozzájárulás-kezelésünket

A webalkalmazások gyakran építenek be külső szolgáltatásokat, például analitikát, térképeket, videókat vagy időpontfoglalást. Ezzel további adatáramlások jönnek létre – és két kérdés: milyen feltételekkel tölthetők be ezek a szolgáltatások, és mi történik az adatokkal, miután elhagyták a saját szerverünket.

A kézenfekvő válasz egy külső consent-platform lenne. Számunkra három olyan dolgot hozott volna, amit nem akartunk: még egy havi számlát, egy hozzájárulási rendszert, amely csak addig ér be az alkalmazásba, ameddig a szolgáltató engedi – és látogatóink hozzájárulási adatait idegen szervereken.

Ezért fejlesztettük ki saját hozzájárulás-kezelésünket: alkalmazásarchitektúránk szerves részeként, újrafelhasználhatóan és testreszabhatóan – és úgy, hogy az adatok kizárólag a saját infrastruktúránkon maradjanak.

A megoldásnak
  1. 01A hozzájárulások és tárolt értékek központi kezelése, külső szolgáltató nélkül
  2. 02Szolgáltatások hozzájárulástól függő engedélyezése
  3. 03A hozzájárulások és naplók feldolgozása kizárólag saját infrastruktúrán
  4. 04Különböző nyelvek, adatforrások és felületek támogatása
  5. 05Újrafelhasználható legyen, havi vagy projektenkénti többletdíj nélkül

Ebből jött létre az önálló hozzájárulás-motor, amelyet ma közös technikai modulként használunk projektjeinkben.

Függetlenség & biztonság

Három dolog, amit nem adunk ki a kezünkből

Egy külső consent-platform egy további szolgáltatót hoz magával: saját szkripteket, saját konfigurációt, saját szervereket és folyamatos díjat. Saját motorunk ezzel szemben az alkalmazással együtt fut, ugyanazon az infrastruktúrán belül és ugyanazokkal az eszközökkel.

Hogy ez a gyakorlatban mit jelent, három pontban foglalható össze.

Költségek
Nincs licenc domainenként, oldalmegtekintésenként vagy havonta. A költségek egyszer, a fejlesztéskor, majd folyamatosan a karbantartásban merülnek fel.Ez azért fenntartható, mert ugyanaz az építőelem több projektben fut.
Kontroll
A működést, az adatalapot, a megjelenést és a viselkedést mi határozzuk meg – egészen az alkalmazáskódig, amely közvetlenül lekérdezheti a hozzájárulási állapotot.Semmi sem ér véget ott, ahol egy szolgáltató kínálata véget ér.
Adatok
A konfiguráció, a hozzájárulások és a naplók saját szervereinken vannak. Harmadik fél nem tárolja, nem dolgozza fel és nem látja a látogatók döntéseit.
A hozzájárulási funkcióhoz nem szükséges külső CMP

A hozzájárulási konfiguráció és a központi motor a saját alkalmazás része. Magához a hozzájárulási rendszerhez ezért nincs szükség külső CMP‑szolgáltatóra.

Ez azt jelenti
  • nincs további CMP-szkript
  • nincs külső hálózati hívás magához a hozzájárulási funkcióhoz
  • nincs idegen hozzájárulási felület
  • nincs további platformfüggőség pusztán a hozzájárulások kezelése miatt

A hozzájáruláshoz kötött szolgáltatások ettől elkülönülnek, és csak akkor töltődnek be, ha a szükséges hozzájárulás rendelkezésre áll.

Kevesebb idegen kód, kisebb támadási felület

Egy külső consent-szkript ugyanazokkal a jogokkal fut, mint maga az oldal, és idegen szerverről töltődik be. A szolgáltató által kiadott minden verzió így a weboldal részévé válik anélkül, hogy részleteiben ellenőrizhető lenne.

Bevált szolgáltatóknál ez általában nem jelent problémát. Mi mégis szívesebben ismerjük a kódot, amely az oldalainkon fut: saját motorunkat az alkalmazás többi kódjához hasonlóan verziózzuk, ellenőrizzük és telepítjük.

A naplózási végpont
  • csak a saját eredetről érkező kéréseket fogadja el
  • minden kérést ellenőriz, hogy teljes és megengedett mezőket tartalmaz-e
  • a mentés előtt rövidíti az IP-címet
  • rögzített útvonalon található, amelyhez az elé kapcsolt tűzfal saját szabályokat tarthat
A hozzájárulások és naplók saját szervereinken vannak

A hozzájárulások kezelésében nem vesz részt további szolgáltató. A látogató döntése az alkalmazásban lép érvénybe, és ugyanazon a szerveren kerül naplózásra, amelyen az alkalmazás fut – ott, ahol a projekt többi adatát is feldolgozzuk. Ez minden projektre igaz, amely a motort használja: a döntéseket helyben, az adott alkalmazás konténerében naplózzuk.

Azt, hogy egy konkrét projekt milyen további külső szolgáltatásokat használ, és eközben milyen adatok kerülnek továbbításra, ettől függetlenül, projektenként határozzuk meg és dokumentáljuk.

Architektúra

Három elkülönített réteg a logikának, az adatoknak és a megjelenítésnek

A hozzájárulási rendszer elválasztja a központi működési logikát a projektspecifikus adatoktól és a látható felülettől.

Így ugyanaz a technikai alap különböző alkalmazásokban is használható anélkül, hogy a hozzájárulási állapotot, a verziózást vagy a szkriptszűrést minden projektben újra kellene implementálni.

A modul szabványos felületet hoz magával, amelyet a projekt átalakít vagy teljesen lecserél. Így ugyanaz a motor fut egy művészeti platformon és egy vállalati weboldalon, noha a két felület megjelenése eltér.

Hozzájárulás-motor
A központi motor látja el azokat a funkciókat, amelyek projekteken átívelően azonosak:
  • hozzájárulási állapot
  • verzióellenőrzés
  • cookie-nyilvántartás
  • szkriptszűrés
  • kétkattintásos megoldások
  • visszavonás
  • a bejelentett tárolási értékek törlése
  • Google Consent Mode v2
A közös működési logikát központilag tartjuk karban, és újrafelhasználható modulként bocsátjuk rendelkezésre.
Adatforrás
A motor a projektspecifikus információkat egy meghatározott interfészen keresztül kapja meg. Ide tartozik többek között:
  • hozzájárulási verzió
  • kategóriák és szolgáltatások
  • cookie-k és további tárolási értékek
  • nyelvenkénti szövegek
  • szkriptkonfigurációk
A mellékelt implementáció JSON‑fájlokat olvas a projektben. Headless CMS vagy saját API ugyanazon interfész implementálásával csatlakoztatható – a motort ez nem érinti.
Felület
A sávot és a beállítási ablakot az adott projekthez tervezzük. A felület a szükséges adatokat és a rögzített műveleteket a központi motortól kapja.Így a vizuális megjelenés projektenként igazítható anélkül, hogy a mögöttes hozzájárulási logikát módosítani kellene.

Minden a saját infrastruktúránkon.

0Külső szolgáltató
0Külső CMP-szkript
Referenciaprojekt | Woop Art
3Hozzájárulási kategória
4Szolgáltatás
7Cookie
2Nyelv
Referenciaprojekt | Ez a weboldal
3Hozzájárulási kategória
4Szolgáltatás
7Cookie
5Nyelv

A referenciaprojektek alatti számok az adott konfigurációra vonatkoznak. A kategóriák, szolgáltatások és cookie-k szabadon konfigurálhatók.

Közös modul projektenkénti egyedi megoldások helyett

A hozzájárulás-motort a Woop Technology privát csomagtárán keresztül, önálló csomagként biztosítjuk. A verziókat és a változtatásokat központilag kezeljük; minden projekt a számára szükséges verziót építi be, és a frissítéseket saját ütemében veszi át – így különböző projektek egyidejűleg különböző verziókat futtathatnak.

Minden új projekt négy területet egészít ki:

01Adatok
Kategóriák, szolgáltatások, tárolási értékek és szövegek.
02Perzisztencia
Hová kerülnek a hozzájárulási döntések naplói.
03Integrációk
Analitika és más, hozzájáruláshoz kötött szolgáltatások.
04Design
Alapértelmezett felület vagy egyedi sáv- és beállításkomponensek.

A hozzájárulási állapot, a verziózás, a nyilvántartás, a szkriptszűrés és a visszavonás a közös modulból származik. A motor fejlesztései verziózott frissítésekkel több projektbe is átvihetők.

Amit a motor hoz, amit a projekt dönt el

  1. 01Motorkategóriaalapú hozzájárulás, verziózás, visszavonás, cookie-tisztítás, szkript-gating, Google Consent Mode v2
  2. 02Projektadatforrás (JSON, API vagy headless CMS), nyelvek, felület (szabványos UI vagy saját komponensek), integrációk (hookok, kétkattintásos megoldások)
  3. 03Perzisztenciahozzájárulási cookie a böngészőben, szerveroldali naplózás, rövidített IP-címek
  4. 04Stack & üzemeltetésReact, TypeScript, Next.js App Router, dependency injection, privát csomagtár, ellenőrzött bemenetek

Mit tárol egy hozzájárulás a böngészőben

Egyszerűsített ábrázolás: itt minden módosítás azonnal érvényes, a valódi ablakban csak mentéskor – és minden mentést szerveroldalon naplózunk. A mezők és a verzió megfelelnek ennek a weboldalnak a motorjában használtaknak. Ellenőrizve 2026. szeptember 21-én tesztkörnyezetben: a tesztelt analitikai integráció csak a megfelelő hozzájárulás után töltődik be.

Két kattintás, mielőtt egy külső szolgáltatás betöltődik

Nem minden hozzájárulás való a bannerbe. Beágyazott szolgáltatásoknál, például az időpontfoglalásnál, a motor ott kéri, ahol a látogató ténylegesen használni akarja a szolgáltatást.

Első kattintás: tájékoztatás és új felirat. Egy mellé kattintás bezárja a tájékoztatást anélkül, hogy a Google betöltődött volna.
Felvétel ennek a weboldalnak a kezdőlapjáról. Ellenőrizve 2026. szeptember 23-án: az oldal betöltésekor és az első kattintás után egyetlen kérés sem megy külső szerverre; a Google felé irányuló összes kérés csak a második kattintás után következik.
  1. 01

    Első kattintás: tájékoztatás

    A gomb megmutatja, melyik szolgáltató töltődne be, és milyen adatok kerülnének továbbításra. A felirata „Google Naptár betöltése” lesz.

  2. 02

    Második kattintás: betöltés

    Csak ekkor kerül be a szolgáltató scriptje és stíluslapja, és nyílik meg a foglalás. Addig egyetlen kérés sem jut el a Google-höz.

  3. 03

    A banner kerülőútja nélkül

    A látogatónak ehhez nem kell egyetlen kategóriát sem engedélyeznie a hozzájárulási beállításokban. A döntés magánál a szolgáltatásnál születik, csak erre a szolgáltatásra.

A szükséges komponensek ugyanabban a csomagban vannak, mint a motor: Google Naptárhoz és Calendlyhez készen, további szolgáltatásokhoz egy közös alapkomponensen keresztül.

A hozzájárulási azonosító egy kattintással kéznél van

Minden döntés naplózásra kerül a szerveren, egyértelműen azonban csak a hozzájárulási azonosító alapján kereshető vissza. Egy külön komponens ezt az azonosítót a látogatók keze ügyébe adja.

Az azonosító a hozzájárulási cookie-ban van, ahol fejlesztői eszközök nélkül senki sem látja. Mégis ez az egyetlen egyértelmű út a szerveren lévő bejegyzéshez, mivel az IP-címet a rendszer csak csonkolva tárolja.

A komponens megjeleníti az azonosítót, és egy kattintással másolja. Kérdés, panasz vagy hozzáférési kérelem esetén a látogatók egyszerűen mellékelik, és a bejegyzés visszakérdezés nélkül megtalálható – időponttal, verzióval és a választással.

A komponens az adott weboldal adatkezelési tájékoztatójában található, és onnan közvetlenül a hozzájárulási beállításokhoz is elvezet.

A választás állapota: nincs rögzítve

Az Ön jelenlegi hozzájárulási azonosítója (Consent ID)

Ezt az egyedi azonosítót helyileg a böngészőjében tároljuk, és pszeudonimizált formában mentjük szerverünkön, hogy igazolni tudjuk az Ön adatvédelmi választását. Ha kérdése vagy panasza van a hozzájárulásával kapcsolatban, kérjük, küldje el nekünk ezt az azonosítót is – így egyértelműen megtaláljuk a hozzá tartozó igazolást.

Még nem történt választás

A komponens előkészítve érkezik a hozzájárulási csomaggal. A bannerhez és a beállítási ablakhoz hasonlóan szabadon megtervezhető: a működés a csomagban marad, a megjelenésről a projekt dönt – itt ennek a weboldalnak a stílusában.

Adatok, nyelvek és felület

A hozzájárulási logika nem kötődik meghatározott adatforráshoz

A hozzájárulás-motor nem maga olvassa be az adatait, hanem egy meghatározott interfészen keresztül kapja őket. Hogy honnan származnak, azt az interfész implementációja dönti el – a motor ugyanaz marad.

Alapértelmezés: fájlok a projektben
A mellékelt implementáció verziózott JSON‑fájlokat olvas, amelyek a forráskóddal együtt kerülnek kiszállításra. A konfigurációhoz nincs szükség hálózati hívásra.
Szerkesztői CMS
Ha az interfészt egy headless CMS‑hez implementálják, a szerkesztőség ott gondozza a szövegeket, szolgáltatásokat és sütiket – a motor módosítása nélkül.
Saját rendszer API‑n keresztül
Ugyanígy egy saját CMS vagy központi szolgáltatás is csatlakoztatható az API‑ján keresztül – például hogy több alkalmazás hozzájárulási adatait közösen kezeljék.

A technikai definíció és a fordítások elkülönülnek

A cookie-neveket, azonosítókat, kategóriákat és tárolási időket egyszer definiáljuk. A banner és a beállítási ablak szövegei ezzel szemben minden nyelven elérhetők; a látogató a kiválasztott nyelven látja őket:

  • kategórianevek és -leírások
  • szolgáltatásinformációk és cookie-célok
  • adattovábbításra vonatkozó információk
  • sávszövegek és gombfeliratok
  • képernyőolvasó-feliratok

Közös logika, eltérő felületek

A motor alapértelmezett felületet kínál, amely részben vagy egészében projektspecifikus komponensekkel helyettesíthető.

Egy projekt
  • változatlanul átveheti a sávot és a beállítási ablakot
  • csak a sávot alakíthatja ki saját maga
  • csak a beállítási ablakot cserélheti le
  • mindkét felületet egyedileg valósíthatja meg

A hozzájárulási állapot, a verziózás és a visszavonás eközben központilag kezelt marad.

Hozzájárulási sáv a referenciaprojekt arculatában
A sáv vizuálisan illeszkedik a weboldalba.
Beállítási ablak a hozzájárulási kategóriákkal
A kategóriák, szolgáltatások és bejelentett cookie-k a központi motor adataival és műveleteivel jelennek meg.
Igazolás és üzemeltetés

A döntések szerveroldali naplózása

Minden hozzájárulás és minden későbbi módosítás a böngészőben tárolt állapot mellett egy rekordot is létrehoz a szerveren. Ez a naplózás a folyamat kötelező része, nem opció.

Hogy a rekord hová kerül, itt is az interfész implementációja határozza meg: alapértelmezés szerint az alkalmazás fájlként menti a saját szerverén. Ugyanígy API‑n keresztül egy másik szolgáltatásnak is átadhatja, amely például adatbázisban kezeli.

Többek között rögzítjük
  • a hozzájárulási azonosítót
  • a konfiguráció verzióját
  • a meghozott választást
  • az időpontot
  • a user agentet
  • a rövidített IP-címet

Az IPv4-címeket a második blokk után, az IPv6-címeket a harmadik szegmens után rövidítjük. A beérkező bejegyzéseket ellenőrizzük; a hiányos vagy nem megengedett kéréseket elutasítjuk.

A naplózás támogatja a döntések nyomon követhetőségét, de nem jelent revízióbiztos archiválást.

A naplózás hibája nem blokkolja az alkalmazást

A látogató döntése először az alkalmazás hozzájárulási állapotában lép érvénybe. Ha a szerveroldali mentés meghiúsul, a weboldal továbbra is használható marad.

A hiba szerveroldalon kerül naplózásra ahelyett, hogy technikai részletek jelennének meg a böngészőben. A hozzájárulási rendszer működőképessége így nem függ attól, hogy a naplózás minden pillanatban elérhető-e.

A kattintástól a naplóbejegyzésig

consent-flow demo
01 Beállítások betöltve02 Választás fogadva03 Hozzájárulási állapot frissítve04 Döntés naplózvaFolyamat befejezve
Sematikus ábrázolás – nem a rendszer tényleges naplóinak kimenete.
  1. 01

    Választás a bannerben

    A látogató kategóriánként dönti el, mely szolgáltatásokat engedélyezi. A szükséges tárolási értékek aktívak maradnak.

  2. 02

    Végrehajtás az alkalmazásban

    A motor elmenti a választást, frissíti a Google Consent Mode-ot, és engedélyezi a jóváhagyott szolgáltatásokat.

  3. 03

    Naplózás a szerveren

    A döntést a verzióval és az időponttal együtt naplózzuk.

Elhelyezés

Miért volt számunkra kézenfekvő a saját megoldás

A cél az volt, hogy függőségek és folyamatos költségek ki se alakuljanak. Hogy ezt gyorsan és megbízhatóan el tudtuk érni, annak köszönhető, amit már magunkkal hoztunk.

Szakértelem az adatvédelemben és a hozzájárulás-kezelésben
Hogy a hozzájárulások, a Google Consent Mode és a látogatók felé fennálló tájékoztatási kötelezettségek hogyan kapcsolódnak össze, az webalkalmazásokon végzett mindennapi munkánk része.
Saját alkalmazások, nem weboldalépítő
Projektjeink önálló webalkalmazások. A hozzájárulás-kezelést ezért az alkalmazás részeként lehetett felépíteni, ahelyett hogy kívülről csatolnánk hozzá.
Saját infrastruktúra
A tárhelyet, a telepítést és a tűzfalat magunk üzemeltetjük. A naplók saját szervereken tartásához ezért nem kellett új szolgáltatás, csak egy további végpont a meglévő alkalmazásban.
Közös modulok
Projektjeink privát csomagtárunkon keresztül már más modulokat is megosztanak. A hozzájárulás-motor ezek egyike, és minden új projekt számára elérhető.

A hozzájárulás-motor így nem volt nagy vállalkozás, hanem annak kiterjesztése, ami már megvolt.

A hozzájárulás közvetlenül beépíthető az alkalmazásba

A központi hozzájárulási állapot az alkalmazáskód számára is elérhető.

Egy komponens így például ellenőrizheti
  • Engedélyezett-e az analitika?
  • Betölthető-e egy beágyazott videó?
  • Szükséges-e hozzájárulás egy külső térkép előtt?
  • Érvényes-e még a tárolt döntés az aktuális hozzájárulási verzióhoz?

A hozzájárulás így nem korlátozódik a sávra és a beállítási ablakra, hanem közvetlenül beépíthető az alkalmazás folyamatába.

A teljes kontroll teljes felelősséggel jár

Ahol nincs szolgáltató, ott senki sem frissíti a cookie-listákat, nem követi a Google Consent Mode változásait, és nem igazítja a szövegeket az új jogszabályokhoz. Ez a munka ránk hárul – az alkalmazásainkhoz amúgy is nyújtott karbantartás részeként –, vagy az ügyfélre, ha a szövegeket és adatokat egy csatlakoztatott CMS‑ben gondozzák.

Eredmény

Saját alap a hozzájárulás-kezeléshez, közbeiktatott szolgáltató nélkül

A hozzájárulás-motor ma különböző webalkalmazásokban működik – külső szolgáltató és folyamatos licenc nélkül, a hozzájárulásokkal és naplókkal a saját infrastruktúránkon. A központi funkciókat egyszer tartjuk karban, míg az adatok, integrációk, nyelvek és a felület projektenként maradnak.

Függetlenség
Nincs szolgáltató, nincs licenc, nincs idegen szkript a betöltési útvonalon.
Adatszuverenitás
A konfiguráció, a hozzájárulások és a naplók saját infrastruktúránkon vannak.
Hozzájárulás a kötött szolgáltatások előtt
A vonatkozó integrációk csak a szükséges hozzájárulás után töltődnek be.
Verziózott döntések
A tárolt hozzájárulások a hozzájárulási konfiguráció adott állapotához kötöttek.
Központi hozzájárulási logika
Az állapot, a verziózás, a nyilvántartás, a szkriptszűrés és a visszavonás közösen kezelt.
Újrafelhasználható és rugalmas
Adatforrások, nyelvek és felületek projektenként; a motor fejlesztései verziózott frissítésekkel.