Ez a szöveg tervezet. Ügyvédi átnézésre vár, és a végleges, hatályos változat ettől eltérhet. Amíg ez a jelölés itt van, a dokumentum tájékoztató jellegű.

Adatkezelési nyilatkozat a platformok felé

Pulzus — marketing vezérpult · Verzió: 1.0 (tervezet) · 2026. ___________

Ez a dokumentum a platformbírálóknak készül. Az adatvédelmi tájékoztató a felhasználónak szól, ez a platformnak: platformonként, egy táblázatban megmutatja, mit olvasunk, mire használjuk, meddig tároljuk, kivel osztjuk meg, és hogyan töröljük. A Meta és a Google beadási űrlapja ugyanezt kérdezi, csak szétszórva. Az élesbe kerülő angol változat ebből készül. A magyar itt az igazságforrás, hogy ne két helyen kelljen karbantartani.


1. A négy állítás, ami minden platformra egyformán igaz

  1. Csak olvasunk. A Pulzus kódjában nincs írási művelet egyetlen platform API-ja felé sem. Ezt automatizált teszt ellenőrzi: ha valaki írási jogkört ír be egy connector scopes listájába, a build elbukik.
  2. Napi összesítést tárolunk, nem személyeket. A tárolt adatszerkezet egy sora azt mondja meg, hogy egy napon egy csatornán mennyi volt az elérés, a költés és a bevétel — nem azt, hogy ki látta a hirdetést.
  3. Egyetlen szervezet látja a saját adatát. A korlátozás sorszintű adatbázis-jogosultság, nem alkalmazáslogika: hibás lekérdezés esetén sem szivárog át adat egyik ügyfélről a másikra.
  4. Nem adjuk tovább, nem tanítunk rajta, nem hirdetünk belőle. Sem a saját modelljeinket, sem másokét nem tanítjuk a platformokról származó adaton.

2. Platformonkénti bontás

2.1 Meta — Facebook, Instagram, Meta Ads

Kért engedélyekpages_show_list, pages_read_engagement, read_insights, instagram_basic, instagram_manage_insights, ads_read
Mit olvasunkoldal- és profilstatisztika (elérés, megjelenítés, interakció, követőszám), posztok címe és nyilvános hivatkozása, posztonkénti teljesítmény; kampányszintű költés, megjelenítés, kattintás, konverzió, platform szerinti bevétel
Mit NEM olvasunkprivát üzenetek; a követők, kommentelők és nézők személyes adatai; egyéni célközönségek tagjai; hirdetési kreatívok tartalma
Mire használjukegyetlen vezérpulton megmutatjuk a felhasználó saját eredményeit a többi csatornája mellett; napi/heti/havi összehasonlítás; automatikus megállapítások a saját adatból; PDF riport a felhasználónak
Meddig tároljuknapi összesítés a fiók fennállásáig; nyers API-válasz 30 nap; a fiók törlése után 30 napon belül minden törölve
Kivel osztjuk megsenkivel az üzemeltetési adatfeldolgozókon kívül (Railway – EU, Sentry, Cloudflare R2)
Írási műveletnincs

2.2 Google — GA4, Google Ads, YouTube, Search Console

Kért scope-okanalytics.readonly, adwords, youtube.readonly, yt-analytics.readonly, webmasters.readonly
Mit olvasunkGA4: munkamenet, felhasználószám, forrás/médium, konverzió, bevétel, céloldalak. Ads: kampányszintű költés, megjelenítés, kattintás, konverzió. YouTube: videók, megtekintés, nézési idő, megtartás, feliratkozószám. Search Console: megjelenés, kattintás, pozíció, kulcsszó- és oldalbontás
Mit NEM olvasunkfelhasználó-szintű események és azonosítók; ügyféllisták; nézők és kommentelők személyes adatai
Miért adwordsa Google Ads API-nak nincs read-only scope-ja. Kizárólag riportlekérdezésre használjuk; a kódban nincs mutate hívás, és ezt teszt őrzi. Deklarált permissible use: reporting only
Limited Usea Google API-kból származó adatok felhasználása és továbbadása megfelel a Google API Services User Data Policy Limited Use követelményeinek
Emberi hozzáférésnincs, kivéve: kifejezett felhasználói hozzájárulás, biztonsági vizsgálat, jogi kötelezettség, vagy aggregált-anonimizált üzemeltetési adat
Meddig tároljukmint fent
Írási műveletnincs

2.3 TikTok

Kért scope-okuser.info.basic, user.info.stats, video.list
Mit olvasunka felhasználó saját, publikus videói és azok statisztikája; követő-, like- és videószám
Mit NEM olvasunkmások videói; privát üzenetek; nézők adatai
Publikálásnincs — video.publish és video.upload scope-ot nem kérünk
Hirdetési adatkülön alkalmazáson keresztül, a Marketing API-ból: kampányszintű költés, megjelenítés, kattintás, konverzió

2.4 Pinterest

Kért scope-okpins:read, boards:read, user_accounts:read, ads:read
Mit olvasunka felhasználó saját pinjei és tábláinak teljesítménye (megjelenés, mentés, kimenő kattintás); promótált pinek és hirdetési kampányadatok
Mit NEM olvasunkmások pinjei; privát táblák; felhasználói jelszó vagy munkamenet-süti
Korlát, amit kiírunk a felhasználónakteljes statisztikához üzleti fiók kell; a visszatekintés 90 nap
Írási műveletnincs — pint és táblát nem hozunk létre

2.5 LinkedIn

Kért scope-okr_organization_social, r_organization_admin, r_ads, r_ads_reporting
Mit olvasunkcéges oldal követőszáma és növekedése, poszt-elérés és interakció; hirdetési kampányok költése és eredménye
Mit NEM olvasunktagok személyes profiladatai a megjelenített aggregátumon túl; privát üzenetek
Publikálása termékben nincs posztolási funkció
TierAdvertising API: Development tier — olvasásra ez korlátlan, és nekünk csak olvasni kell

2.6 Hírlevélrendszerek (API-kulcsos)

MailerLite · Mailchimp · ActiveCampaign · Klaviyo · Brevo · SalesAutopilot

Hitelesítésa felhasználó saját API-kulcsa, amit ő generál és bármikor visszavonhat
Mit olvasunkkampányszintű összesítés: kiküldött darabszám, egyedi megnyitás, egyedi kattintás, leiratkozás, bevétel; listaméret pillanatképe
Mit NEM olvasunka feliratkozók e-mail címét és nevét nem kérjük le és nem tároljuk. A Pulzus nem tud üzenetet küldeni és nem tud listát módosítani
Ismert korlátok, amiket kiírunkBrevo: a statisztika csak 6 hónapra visszamenőleg létezik. SalesAutopilot: a levél neve nem kérhető le

2.7 Webshopok

Shopify · WooCommerce · ShopRenter · UNAS

Hitelesítésa felhasználó saját kulcsa vagy kulcspárja, csak olvasási jogkörrel
Mit olvasunkrendelések napi összesítése: darabszám, bevétel, pénznem
Mit NEM olvasunka vásárlók neve, címe, e-mail címe, telefonszáma — ezeket nem kérjük le
Számítási szabálya törölt és a visszatérített rendelés nem eladás; a pénznem a boltéban marad

3. Adattörlési útmutató (Meta „Data Deletion Instructions URL")

Nyilvános cím: ___________/jog/adattorles

A Meta megköveteli, hogy legyen nyilvános oldal, ahol a felhasználó megtudja, hogyan töröltetheti az adatait. A szövege:

Hogyan töröld az adataidat a Pulzusból 1. Egy csatorna leválasztása. Lépj be, nyisd meg az Integrációk képernyőt, és a kérdéses kapcsolatnál kattints a „Kapcsolat bontása" gombra. A hozzáférésünk azonnal megszűnik, a hozzá tartozó tokent töröljük, az abból a forrásból származó adatokat pedig 30 napon belül. 2. A teljes fiók törlése. Lépj be, nyisd meg a Beállítások → Adatkezelés képernyőt, és kattints a „Fiók törlése" gombra. Előtte egy kattintással letöltheted az adataidat. A törlés után 30 napig visszavonható — ez alatt az adat nem elérhető a felületen —, utána véglegesen töröljük. 3. Ha nem tudsz belépni. Írj a ___________@marketingleader.hu címre arról az e-mail címről, amellyel regisztráltál. 30 napon belül elvégezzük a törlést, és írásban visszaigazoljuk. 4. Ha a Facebookon vontad vissza a hozzáférést. A Meta értesít minket, és ekkor ugyanaz történik, mint az 1. pontnál: a tokent töröljük, az adatot 30 napon belül.

Technikai megvalósítás (WP-55 feladata):

  • nyilvános oldal a fenti szöveggel: app/(public)/jog/adattorles/page.tsx
  • Meta „Data Deletion Request Callback": POST /api/meta/adattorles — aláírt kérés, confirmation_code visszaadása, és egy nyomon követhető státuszoldal /jog/adattorles/[kod] címen
  • a törlés a deletion_requests táblába kerül, és a worker végzi el — így az azonnali válaszidő nem függ az adatmennyiségtől

4. Adatmegőrzési táblázat egyben

AdatkörMegőrzésKi törli
nyers platformválasz (raw_payloads)30 napütemezett feladat, automatikusan
napi összesítés, tartalom, kampány, hírlevél, weba fiók fennállásáigfióktörléskor
OAuth token, API-kulcsa kapcsolat bontásáigazonnal, a bontás pillanatában
szinkronnaplók (sync_runs)12 hónapütemezett feladat
belépési napló, IP-cím90 napütemezett feladat
műveleti napló (audit_log)12 hónapütemezett feladat
számlázási adat8 év (számviteli tv.)törvényes megőrzés után
minden más, fióktörlés után30 napütemezett feladat

Ez a táblázat kód is. A megőrzési időket a WP-55 egyetlen fájlban rögzíti (lib/megorzes/szabalyok.ts), és az ütemezett törlés abból dolgozik. Ha ez a dokumentum és a kód eltér, a kód a hiba, nem a dokumentum.


5. Biztonsági intézkedések — amit a bírálók kérdeznek

KérdésVálasz
Hol tárolják az adatot?Railway PostgreSQL, EU (nyugat-európai régió)
Titkosítás átvitel közben?igen, HTTPS mindenhol
Titkosítás tárolás közben?az adatbázis szolgáltatói szinten; a tokenek és API-kulcsok ezen felül AES-256-GCM, a kulcs környezeti változóban, nem az adatbázisban
Ki fér hozzá emberként?személyhez kötött, naplózott fejlesztői hozzáférés; a Google-adatokhoz a Limited Use szerinti kivételeken kívül senki
Bérlők elkülönítése?sorszintű adatbázis-jogosultság (RLS) minden táblán, munkaterület szerint; automatizált teszt bizonyítja, hogy két szervezet nem lát egymásba
Mentés?napi automatikus adatbázis-mentés
Incidenskezelés?72 órán belüli NAIH-bejelentés, és közvetlen felhasználói értesítés magas kockázat esetén
Alvállalkozók?Railway (EU), Cloudflare R2, Sentry, Stripe, e-mail kiszolgáló — mindegyikkel adatfeldolgozói szerződés

6. Amit beadás előtt ki kell tölteni

  • [ ] cégadatok minden ___________ helyén
  • [ ] a végleges domain
  • [ ] a Cloudflare R2 és a Sentry régiója (EU-ra állítva)
  • [ ] az e-mail kiszolgáló szolgáltatója
  • [ ] a próbaidőszak hossza
  • [ ] angol fordítás a platformbeadásokhoz
  • [ ] ügyvédi átnézés — ez a dokumentum tervezet