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
- 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
scopeslistájába, a build elbukik. - 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.
- 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.
- 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élyek | pages_show_list, pages_read_engagement, read_insights, instagram_basic, instagram_manage_insights, ads_read |
| Mit olvasunk | oldal- é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 olvasunk | privá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áljuk | egyetlen 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ároljuk | napi ö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 meg | senkivel az üzemeltetési adatfeldolgozókon kívül (Railway – EU, Sentry, Cloudflare R2) |
| Írási művelet | nincs |
2.2 Google — GA4, Google Ads, YouTube, Search Console
| Kért scope-ok | analytics.readonly, adwords, youtube.readonly, yt-analytics.readonly, webmasters.readonly |
| Mit olvasunk | GA4: 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 olvasunk | felhasználó-szintű események és azonosítók; ügyféllisták; nézők és kommentelők személyes adatai |
Miért adwords | a 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 Use | a 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és | nincs, 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ároljuk | mint fent |
| Írási művelet | nincs |
2.3 TikTok
| Kért scope-ok | user.info.basic, user.info.stats, video.list |
| Mit olvasunk | a felhasználó saját, publikus videói és azok statisztikája; követő-, like- és videószám |
| Mit NEM olvasunk | mások videói; privát üzenetek; nézők adatai |
| Publikálás | nincs — video.publish és video.upload scope-ot nem kérünk |
| Hirdetési adat | kü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-ok | pins:read, boards:read, user_accounts:read, ads:read |
| Mit olvasunk | a 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 olvasunk | mások pinjei; privát táblák; felhasználói jelszó vagy munkamenet-süti |
| Korlát, amit kiírunk a felhasználónak | teljes statisztikához üzleti fiók kell; a visszatekintés 90 nap |
| Írási művelet | nincs — pint és táblát nem hozunk létre |
2.5 LinkedIn
| Kért scope-ok | r_organization_social, r_organization_admin, r_ads, r_ads_reporting |
| Mit olvasunk | cé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 olvasunk | tagok személyes profiladatai a megjelenített aggregátumon túl; privát üzenetek |
| Publikálás | a termékben nincs posztolási funkció |
| Tier | Advertising 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és | a felhasználó saját API-kulcsa, amit ő generál és bármikor visszavonhat |
| Mit olvasunk | kampá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 olvasunk | a 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írunk | Brevo: 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és | a felhasználó saját kulcsa vagy kulcspárja, csak olvasási jogkörrel |
| Mit olvasunk | rendelések napi összesítése: darabszám, bevétel, pénznem |
| Mit NEM olvasunk | a vásárlók neve, címe, e-mail címe, telefonszáma — ezeket nem kérjük le |
| Számítási szabály | a 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_codevisszaadása, és egy nyomon követhető státuszoldal/jog/adattorles/[kod]címen - a törlés a
deletion_requeststá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ör | Megőrzés | Ki törli |
|---|---|---|
nyers platformválasz (raw_payloads) | 30 nap | ütemezett feladat, automatikusan |
| napi összesítés, tartalom, kampány, hírlevél, web | a fiók fennállásáig | fióktörléskor |
| OAuth token, API-kulcs | a kapcsolat bontásáig | azonnal, a bontás pillanatában |
szinkronnaplók (sync_runs) | 12 hónap | ütemezett feladat |
| belépési napló, IP-cím | 90 nap | ütemezett feladat |
műveleti napló (audit_log) | 12 hónap | ütemezett feladat |
| számlázási adat | 8 év (számviteli tv.) | törvényes megőrzés után |
| minden más, fióktörlés után | 30 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és | Vá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