Files
felhom.eu/website/adatkezeles.html
T
admin 43b67283c3
gates / gates (push) Failing after 14m58s
website: the footer dash swept site-wide, and the primary CTA meets WCAG AA
Two operator decisions from STOP 3, both independent of the home-page switch,
which was NOT approved and has NOT happened. index.html still serves the old
design; only the footer line and the button change on it.

1. The footer em dash, on all 21 page files (12 HU + 8 EN + the preview).
   "(c) 2026 felhom.eu - Sajat felhod..." now uses the spaced en dash, which is
   the correct Hungarian gondolatjel. Done as one sweep because site_gates.py
   gate 3 requires every page in a language set to carry an IDENTICAL footer, so
   this could never have been a one-page edit. Gate green: all 14 still match.

   Scope, stated honestly: this clears the footer only. 300 em dashes remain in
   the BODIES of the other 19 pages (gyik 53, en/faq 53, adatkezeles 33,
   szolgaltatasok-nonpublic 27, testing 24, teszteles 23, index 17/19, ...). The
   preview page is the only page at zero. The rest is NEXT.md work, page by page.

2. R-930, the operator's choice of the three offered: white on --blue measures
   4.01:1, under WCAG AA's 4.5:1 for body text. .cta-button goes to 1.2rem/700,
   which is >=18.66px at >=700 weight, so WCAG counts it as LARGE text and the
   floor becomes 3:1 - which 4.01 clears without touching --blue. Darkening the
   token was rejected because --blue is shared with the hub and controller UIs.
   Horizontal padding trimmed 32->26px to protect the one-line rule for the
   longest label; verified in the browser at 390px, not assumed.
   .cta-button-secondary is unchanged: it already measures 7.17:1.

   This reaches the primary button on 16 pages, which is the point - the defect
   was never the home page's.

site.css?v= bumped to 12 on all 21 files. The pages sat at v=10 and the preview
at v=11; leaving them split would have served a returning visitor the old
stylesheet and the change would have looked like it did not deploy.

site_gates.py green.
2026-10-11 00:25:43 +02:00

410 lines
27 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Adatkezelési tájékoztató | Felhom.eu</title>
<meta name="description" content="Mit kezelünk rólad, miért, meddig, és kik látják még. A Felhom.eu adatkezelési tájékoztatója, egyszerűen leírva.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://felhom.eu/adatkezeles">
<link rel="alternate" hreflang="hu" href="https://felhom.eu/adatkezeles">
<link rel="alternate" hreflang="x-default" href="https://felhom.eu/adatkezeles">
<meta property="og:type" content="article">
<meta property="og:url" content="https://felhom.eu/adatkezeles">
<meta property="og:title" content="Adatkezelési tájékoztató — Felhom.eu">
<meta property="og:description" content="Mit kezelünk rólad, miért, meddig, és kik látják még. A Felhom.eu adatkezelési tájékoztatója, egyszerűen leírva.">
<meta property="og:image" content="https://felhom.eu/assets/og-image.png">
<meta property="og:locale" content="hu_HU">
<meta property="og:site_name" content="Felhom.eu">
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
<link rel="stylesheet" href="/assets/site.css?v=12">
<link rel="icon" type="image/png" href="/assets/logo_favicon_2.svg">
<script defer src="https://stats.felhom.eu/script.js" data-website-id="d419db57-5e1c-48df-bdb3-c29f25fb1661"></script>
</head>
<body class="page-adatkezeles">
<nav>
<div class="container">
<a href="/" class="logo">
<img class="logo-mark" src="/assets/logo-mark.svg" alt="" aria-hidden="true">
<img class="logo-word" src="/assets/logo-wordmark.png" alt="felhom.eu">
</a>
<ul class="nav-links">
<li><a href="/#szolgaltatasok">Szolgáltatások</a></li>
<li><a href="/alkalmazasok">Alkalmazások</a></li>
<li><a href="/technologiak">Technológiák</a></li>
<li><a href="/biztonsagimentes">Mentések</a></li>
<li><a href="/gyik">GYIK</a></li>
<li><a href="/kapcsolat">Kapcsolat</a></li>
<li class="lang-globe-li"><details class="lang-globe"><summary class="lang-globe-btn" aria-label="Nyelv" title="Nyelv"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></summary><ul class="lang-globe-menu"><li><a href="/adatkezeles" lang="hu" hreflang="hu" class="lang-globe-item current" aria-current="true">Magyar</a></li><li><a href="/en/" lang="en" hreflang="en" class="lang-globe-item">English</a></li></ul></details></li>
</ul>
<button class="hamburger" id="hamburger" aria-label="Menü megnyitása" aria-expanded="false">
<span class="hamburger-box">
<span class="hamburger-line"></span>
<span class="hamburger-line"></span>
<span class="hamburger-line"></span>
</span>
</button>
</div>
</nav>
<div class="mobile-overlay" id="mobileOverlay"></div>
<header class="page-header">
<div class="container">
<h1>Adatkezelési tájékoztató</h1>
<p>Mit kezelünk rólad, miért, meddig, és kik látják még. Egyszerűen leírva.</p>
</div>
</header>
<section class="section">
<div class="container legal">
<p class="legal-version"><strong>Zárt teszt — 1.0 verzió, hatályos: 2026. október 9.</strong></p>
<h2>1. Ki kezeli az adataidat?</h2>
<!-- source: operator ruling 2026-10-09 (no company exists yet; the operator is named as a private person) -->
<ul>
<li><strong>Név:</strong> Nagyfenyvesi Viktor — magánszemélyként. A Felhom ma még nem cég.</li>
<li><strong>E-mail:</strong> <a href="mailto:info@felhom.eu">info@felhom.eu</a></li>
<li><strong>Adatvédelmi tisztviselő:</strong> nincs kijelölve.</li>
</ul>
<p>Az alábbiakban: <strong>Felhom</strong> vagy <strong>mi</strong>.</p>
<h2>2. Kétféle szerepünk van</h2>
<p>
<strong>Az egyik:</strong> a weboldal látogatóinak, a kapcsolatfelvételi űrlap kitöltőinek és
a zárt teszt résztvevőinek adatait mi kezeljük. Erről szól ez a tájékoztató.
</p>
<p>
<strong>A másik:</strong> a nálad lévő szerveren tárolt adatok (fényképek, dokumentumok,
alkalmazásadatok) <em>a tieid</em>. Azokat mi csak üzemeltetjük, felügyeljük és mentjük.
Ahol ez a tájékoztató ezeket érinti (mentés, hozzáférés), azt azért írjuk le, hogy lásd,
mi történik velük. Külön adatfeldolgozási megállapodás a zárt teszt alatt még nincs.
</p>
<!-- source: documentation/backlog/ROADMAP.md:53 (R-809: data-processing agreement not written) -->
<h2>3. A weboldal (felhom.eu)</h2>
<h3>3.1 Sütik: egyet sem használunk</h3>
<p>
A weboldal <strong>egyetlen sütit sem helyez el</strong> a böngésződben, és nem használ
helyi tárolót sem. Ezt 2026. október 9-én megmértük: a böngészőben a sütik, a
<span class="nowrap">localStorage</span> és a <span class="nowrap">sessionStorage</span>
üresek maradtak az oldal betöltése és a látogatottság-mérés lefutása után is, és egyetlen
válasz sem küldött sütit.
</p>
<!-- source: measured 2026-10-09 in the operator's Chrome: document.cookie "", localStorage/sessionStorage empty after the Umami beacon fired, with a positive control (a probe cookie WAS visible to the same method); curl -I on felhom.eu/ and stats.felhom.eu/script.js: 0 Set-Cookie headers -->
<h3>3.2 Látogatottság-mérés</h3>
<p>
Azt mérjük, hány oldalmegtekintés történik. Az eszköz az <strong>Umami</strong>, amelyet
<strong>mi magunk üzemeltetünk</strong> a saját szerverünkön (a <code>stats.felhom.eu</code>
címen). Az adatok nem jutnak külső elemző céghez.
</p>
<p>A böngésződ ezeket küldi el egy oldalmegtekintéskor (megmérve, 2026. október 9.):</p>
<ul>
<li>a weboldal saját azonosítója (nem a tiéd),</li>
<li>a képernyő mérete,</li>
<li>a böngésző nyelve,</li>
<li>az oldal címe és webcíme,</li>
<li>a hivatkozó oldal, ha máshonnan érkeztél.</li>
</ul>
<p>
Ezen felül a kiszolgálónk — mint minden webkiszolgáló — látja az <strong>IP-címedet</strong>
és a böngésződ azonosítóját; a program ezekből országot és böngészőtípust állapít meg.
A böngésződ nem küld rólad egyedi azonosítót.
</p>
<!-- source: measured 2026-10-09, the actual beacon body to stats.felhom.eu/api/send: {"type":"event","payload":{"website":"d419db57-…","screen":"1920x1080","language":"en-US","title":"…","hostname":"felhom.eu","url":"…","referrer":""}} -->
<p>
<strong>Meddig:</strong> a mérőprogramban ma <strong>nincs beállítva automatikus törlés</strong>,
tehát a statisztika határozatlan ideig megmarad. Ezt őszintén leírjuk, mert nem akarunk olyan
határidőt ígérni, amit semmi nem tart be.
</p>
<!-- source: manifests/umami.yaml:194-206 (env: only DATABASE_URL, APP_SECRET, DISABLE_TELEMETRY, TZ — no retention setting) -->
<p><strong>Jogalap:</strong> jogos érdek (GDPR 6. cikk (1) f) — hogy lássuk, használják-e az oldalt.</p>
<h3>3.3 Szervernaplók</h3>
<p>
A weboldalt kiszolgáló program (nginx) a kéréseket naplózhatja, köztük az IP-címedet. Külön
naplózási vagy megőrzési beállítást nem adtunk meg, tehát az alapértelmezés működik, és
<strong>megőrzési időt erre sem állítottunk be</strong>.
</p>
<!-- source: manifests/webpage.yaml (nginx:alpine; no access_log/log_format directive anywhere) -->
<h3>3.4 Külső tartalom és a DNS</h3>
<p>
A weboldal nem tölt be külső betűtípust, külső szkriptet, beágyazott videót vagy hirdetést.
A saját mérőprogramunkon kívül semmi nem töltődik be máshonnan.
</p>
<!-- source: measured 2026-10-09 in the browser: the only script sources are felhom.eu/assets/gallery.js and stats.felhom.eu/script.js; no external stylesheet, no iframe -->
<p>
A <code>felhom.eu</code> névfeloldását (DNS) a <strong>Cloudflare</strong> végzi, de
<strong>csak névfeloldást</strong>: a weboldal forgalma nem halad át a Cloudflare-en.
Ezt megmértük — a <code>felhom.eu</code> nyilvános címbejegyzése a mi saját kiszolgálónkra
mutat, nem a Cloudflare hálózatára.
</p>
<!-- source: measured 2026-10-09 from DooPlex: dig @1.1.1.1 and @8.8.8.8 felhom.eu A -> 37.191.56.193 (not a Cloudflare address range); NS -> martha/tony.ns.cloudflare.com; curl -I https://felhom.eu/ returns no cf-ray header -->
<h2>4. Kapcsolatfelvételi űrlap és e-mail</h2>
<p>
<strong>Mit adsz meg:</strong> a nevedet, az e-mail-címedet, a választott tárgyat, az üzenetet
és a csatolt fájlokat (legfeljebb 5 fájl, összesen 20 MB).
</p>
<!-- source: website/kapcsolat.html:78-111 (fields), :193-196 (maxFiles 5, 20 MB) -->
<p><strong>Mire használjuk:</strong> hogy válaszoljunk neked.</p>
<p>
<strong>Hogyan jut el hozzánk:</strong> a böngésződ elküldi a saját kis programunknak, az
e-mailt a <strong>Resend</strong> levélküldő szolgáltatás továbbítja az
<code>info@felhom.eu</code> címre, ahová a leveleket a <strong>Cloudflare Email Routing</strong>
viszi tovább egy <strong>Gmail</strong>-postafiókba. Ott olvassuk el. Ha közvetlenül írsz az
<code>info@felhom.eu</code> címre, ugyanez az út érvényes, a Resend nélkül.
</p>
<!-- source: manifests/contact-mailer.yaml:1-2, :66-69; README.md:133-135, :146-151 -->
<p>
<strong>Meddig:</strong> amíg a megkeresésed le nem zárul, és utána is, amíg a levelezésünkben
marad. <strong>Automatikus törlés ma nincs beállítva.</strong> Ha szeretnéd, hogy töröljük a
leveledet, írj az <a href="mailto:info@felhom.eu">info@felhom.eu</a> címre, és töröljük.
</p>
<p>
<strong>Jogalap:</strong> a hozzájárulásod (GDPR 6. cikk (1) a). Ha árajánlatot kérsz, a
szerződéskötést megelőző lépés is lehet a jogalap (6. cikk (1) b).
</p>
<h2>5. A Facebook-oldalunk és a Messenger</h2>
<p>
Van egy Facebook-oldalunk: <code>facebook.com/felhom.eu</code>. Ha meglátogatod vagy írsz
nekünk a Messengeren, a Meta a saját szabályai szerint kezeli az adataidat — ezt mi nem tudjuk
megváltoztatni.
</p>
<p>
Az oldal <strong>látogatottsági statisztikájáért</strong> („Oldalelemzések") a Meta és mi
<strong>közös adatkezelők</strong> vagyunk a GDPR 26. cikke szerint. Mi csak összesített
számokat látunk, azt nem, hogy ki járt az oldalon. A Messengeren küldött üzenetedet
elolvassuk, és ugyanúgy kezeljük, mint egy e-mailt.
</p>
<ul>
<li>A Meta kiegészítése az Oldalelemzésekről:
<a href="https://www.facebook.com/legal/terms/page_controller_addendum" target="_blank" rel="noopener">facebook.com/legal/terms/page_controller_addendum</a></li>
<li>A Meta adatkezelési szabályzata:
<a href="https://www.facebook.com/privacy/policy/" target="_blank" rel="noopener">facebook.com/privacy/policy</a></li>
</ul>
<!-- source: read 2026-10-09 — https://www.facebook.com/legal/terms/page_controller_addendum, title "Tudnivalók az Oldalelemzésekről", section "Az Oldalelemzések funkció adatkezelői függeléke": Meta Platforms Ireland Limited and the Page admin are joint controllers under GDPR Art. 26 for Page Insights; effective 25 April 2023 -->
<h2>6. A zárt teszt résztvevőinek adatai a központi rendszerünkben</h2>
<p>
A szervered rendszeresen jelentést küld a központi rendszerünknek
(<code>hub.felhom.eu</code>), hogy lássuk, minden rendben van-e. Ezeket tároljuk:
</p>
<ul>
<li><strong>Azonosítód, neved, domained, e-mail-címed, nyelved</strong> — amíg törölünk téged a rendszerből.
<!-- source: hub/internal/store/store.go:161-171, :223 --></li>
<li><strong>A szerver állapotjelentései</strong> (gépnév, processzor-, memória- és lemezhasználat, hőmérséklet,
a telepített alkalmazások neve és állapota, a mentések állapota) — <strong>90 nap</strong>.
<!-- source: manifests/hub.yaml:78 (retention.max_days: 90); hub/internal/store/store.go:1528-1540 --></li>
<li><strong>Események</strong> (például „a mentés nem sikerült") — <strong>90 nap</strong>.
<!-- source: hub/internal/store/store.go:2695-2702 (PruneEvents) --></li>
<li><strong>Alkalmazásonkénti erőforrás-statisztika</strong> — <strong>90 nap</strong>.
<!-- source: hub/cmd/hub/main.go:1022 --></li>
<li><strong>Alkalmazásnaplókból kiszűrt hibaüzenetek</strong>, kitakarva — az utolsó előfordulás után <strong>30 nap</strong>.
<!-- source: hub/cmd/hub/main.go:1027 (PruneStaleIssues 30 days); hub/internal/store/telemetry.go:35 --></li>
<li><strong>Naplórészlet, csak ha külön kérjük</strong>, kitakarva — alkalmazásonként a legutóbbi kettő, és a törlésedkor törlődik.
<!-- source: hub/internal/store/logtail.go:74-82; customer_delete.go:57-58 --></li>
<li><strong>Diagnosztikai naplócsomag, csak külön kérésre</strong> — <strong>72 óra</strong>.
<!-- source: hub/internal/store/logbundle.go:28-29 (logBundleTTL = 72h) --></li>
<li><strong>A kiküldött értesítések naplója</strong> — a törlésed után <strong>1 évig</strong>, aztán törlődik.
Amíg aktív vagy, erre nincs megőrzési idő.
<!-- source: operator ruling 2026-10-08 09:04, 09 §3 decision 181; hub/internal/store/deleted_customer_audit.go --></li>
<li><strong>A visszaállítások és a szervertörlés naplója</strong> — ezt <strong>nem töröljük</strong>, hogy utólag is elszámoltatható legyen, ki mit tett.
<!-- source: hub/internal/store/store.go:734 ("NEVER pruned") --></li>
<li><strong>A mentésed titkosító kulcsa, a helyreállító kódoddal lezárva</strong> — amíg törölünk téged.
<!-- source: hub/internal/store/store.go:400-446 --></li>
<li><strong>A szerver vészhelyzeti konzoljelszava, titkosítva</strong> — amíg a szervert töröljük.
<!-- source: hub/internal/store/store.go:552-564 --></li>
</ul>
<p>
<strong>A kulcsletétről, egyszerűen:</strong> a mentésed kulcsát csak lezárt formában tároljuk.
Kinyitni csak a <strong>helyreállító kódoddal</strong> lehet, ami nálunk nincs meg. Ha elveszíted
ezt a kódot, a távoli mentésed nem nyitható ki — mi sem tudjuk kinyitni.
</p>
<!-- source: documentation/architecture/07-backup-architecture.md:67-75 ("genuinely zero-knowledge… R exists in zero system copies by design") -->
<p>
A központi rendszer adatbázisáról éjjelente mentés készül, titkosítva, a távoli mentőszerverünkre.
Ott <strong>14 napi és 8 heti</strong> példány marad meg, a nálunk tárolt másolatban <strong>8 heti</strong>.
Ezért egy törölt résztvevő adatai a mentésekben eddig az ideig még megtalálhatók.
</p>
<!-- source: documentation/runbooks/RUNBOOK-hub-db-offsite-backup.md:72-73 (--keep-daily 14 --keep-weekly 8); documentation/runbooks/ep0-datastore-copy.md:15-17 (keep-weekly 8) -->
<p><strong>Jogalap:</strong> a veled kötött megállapodás teljesítése (GDPR 6. cikk (1) b); a naplók megőrzésére jogos érdek (6. cikk (1) f).</p>
<h2>7. A szervered adatainak távoli mentése</h2>
<p>
A szervereden lévő adatokról távoli mentés készül. <strong>A mentés nálad, a szerveren
titkosítódik, mielőtt elhagyja az otthonodat.</strong> Sem a tárhely üzemeltetője, sem mi nem
tudjuk elolvasni a tartalmát.
</p>
<!-- source: documentation/architecture/01-topology-and-trust.md:118 ("ciphertext only (operator can't read)"); 07-backup-architecture.md:378-379 -->
<ul>
<li><strong>Alkalmazásonkénti fájlmentés</strong> — <strong>Hetzner Storage Box</strong>,
Falkenstein, Németország. 7 napi, 4 heti és 6 havi példány marad meg. A fiókod
visszaállításakor törlődik.
<!-- source: manifests/hub.yaml:224-226 (HETZNER_LOCATION "fsn1"); fsn1 = Falkenstein, Germany per https://docs.hetzner.com/cloud/general/locations/ read 2026-10-09; 07-backup-architecture.md:377 (keep-daily 7, weekly 4, monthly 6) --></li>
<li><strong>Teljes szervermentés</strong> — a saját távoli mentőszerverünkre, amely a
<strong>Hetzner Cloud</strong> nürnbergi (Németország) telephelyén fut. A legutóbbi 2 heti
példány marad meg; a törlésedkor törlődik.
<!-- source: documentation/runbooks/RUNBOOK-ep0-datastore-volume-2026-07-27.md:6 ("Hetzner CX33 … Nuremberg") --></li>
<li><strong>Ennek másolata a saját szerverünkön</strong> — továbbra is titkosítva, 8 heti példány.
A törlésed után <strong>legfeljebb 30 napon belül</strong> törlődik; ezt egy naponta futó
feladat végzi.
<!-- source: operator ruling 2026-10-08 09:04, decision 181; scripts/ep0-copy-gc/; MEASURED 2026-10-09 on DooPlex: felhom-ep0-copy-gc.timer active, last run Fri 2026-10-09 08:00 CEST, Result=success, ExecMainStatus=0 --></li>
</ul>
<h2>8. Hozzáférés a szerveredhez</h2>
<p>
Őszintén: <strong>rendszergazdai (root) hozzáférésünk van minden szerverhez, amit kezelünk.</strong>
Ez kell a frissítésekhez, a mentések ellenőrzéséhez és a hibák javításához. Ezzel a hozzáféréssel
a szervereden tárolt adatok elérhetők. Csak üzemeltetésre és hibaelhárításra használjuk.
</p>
<!-- source: documentation/architecture/07-backup-architecture.md:49-52 ("The operator holds root SSH on every box… 'The operator cannot read customer data' was never the security property") -->
<p>
A fájljaid és az alkalmazásaid adatai <strong>nem kerülnek át</strong> a központi rendszerbe.
Oda csak a 6. pontban felsorolt állapotadatok jutnak el, és — külön kérésre, kitakarva —
naplórészletek.
</p>
<!-- source: felhom-controller/controller/internal/report/types.go:13-56; documentation/architecture/05-hub-architecture.md:206 -->
<h2>9. Az alkalmazásaid elérése az interneten</h2>
<p>
A szervereden futó alkalmazásokat a <strong>Cloudflare Tunnel</strong> szolgáltatáson keresztül
lehet elérni az internetről. <strong>A titkosított kapcsolat a Cloudflare hálózatán végződik</strong>,
vagyis ezeknek az alkalmazásoknak a forgalma áthalad a Cloudflare rendszerén. (Ez más, mint a
weboldalunk: a felhom.eu forgalma nem megy át rajta — lásd a 3.4 pontot.)
</p>
<!-- source: documentation/architecture/05-hub-architecture.md:178-180 ("the edge terminates TLS"); 01-topology-and-trust.md:113-114, :202-224 -->
<h2>10. Kik látják még az adataidat</h2>
<ul>
<li><strong>Resend</strong> — e-mail-küldés. Látja: a címzett e-mail-címét és a levél tartalmát.</li>
<li><strong>Cloudflare</strong> — a felhom.eu névfeloldása; a @felhom.eu címre érkező levelek
továbbítása; az alkalmazásaid internetes elérése. Látja: a továbbított leveleket és az
alkalmazások forgalmát.</li>
<li><strong>Google (Gmail)</strong> — az <code>info@felhom.eu</code> postafiókja. Látja: a
beérkező leveleket, köztük az űrlap üzeneteit.</li>
<li><strong>Hetzner</strong> (Németország) — a titkosított mentések tárolása. Csak titkosított
adatot lát.</li>
<li><strong>Meta</strong> — csak akkor, ha a Facebook-oldalunkat használod (5. pont).</li>
</ul>
<p>
A Resend, a Cloudflare, a Google és a Meta nemzetközi szolgáltatók, amelyek adatot az Európai
Gazdasági Térségen kívül is kezelhetnek. Hogy pontosan hol és milyen garanciával, azt a saját
adatkezelési tájékoztatójuk írja le.
</p>
<h2>11. A jogaid</h2>
<p>Bármikor kérheted tőlünk, hogy:</p>
<ul>
<li><strong>megmondjuk, milyen adatot kezelünk rólad</strong> (hozzáférés),</li>
<li><strong>javítsuk</strong>, ha valami hibás (helyesbítés),</li>
<li><strong>töröljük</strong> az adataidat (törlés),</li>
<li><strong>korlátozzuk</strong> a kezelését, amíg egy vitát tisztázunk,</li>
<li><strong>odaadjuk neked</strong> géppel olvasható formában (adathordozhatóság),</li>
<li><strong>tiltakozz</strong> a jogos érdeken alapuló kezelés ellen,</li>
<li><strong>visszavond a hozzájárulásodat</strong> — ettől a korábbi kezelés nem lesz jogellenes.</li>
</ul>
<p>
Hogyan kérd: írj az <a href="mailto:info@felhom.eu">info@felhom.eu</a> címre.
<strong>Egy hónapon belül válaszolunk</strong> (GDPR 12. cikk (3)).
</p>
<h2>12. Ha panaszod van</h2>
<p>Panasszal a felügyeleti hatósághoz fordulhatsz:</p>
<ul>
<li><strong>Nemzeti Adatvédelmi és Információszabadság Hatóság (NAIH)</strong></li>
<li>Cím: 1055 Budapest, Falk Miksa utca 9-11.</li>
<li>Postacím: 1363 Budapest, Pf.: 9.</li>
<li>Telefon: +36 (1) 391 1400</li>
<li>E-mail: <a href="mailto:ugyfelszolgalat@naih.hu">ugyfelszolgalat@naih.hu</a></li>
<li>Web: <a href="https://naih.hu" target="_blank" rel="noopener">naih.hu</a></li>
</ul>
<!-- source: https://www.naih.hu/ugyfelszolgalat-kapcsolat read 2026-10-09 -->
<p>Bírósághoz is fordulhatsz.</p>
<h2>13. A tájékoztató változásai</h2>
<p>
Ha változik, amit csinálunk, ezt a tájékoztatót is módosítjuk, és a tetején lévő verziószámot
megemeljük. A zárt teszt résztvevőinek a lényeges változásról e-mailt küldünk.
</p>
<p>
A szolgáltatás feltételeit a <a href="/feltetelek">Feltételek</a> oldal írja le.
</p>
</div>
</section>
<footer>
<div class="container">
<p>© 2026 felhom.eu – Saját felhőd, saját szabályaid</p>
<p class="footer-legal">Üzemeltető: Nagyfenyvesi Viktor · <a href="mailto:info@felhom.eu">info@felhom.eu</a> · <a href="/adatkezeles">Adatkezelési tájékoztató</a> · <a href="/feltetelek">Feltételek</a></p>
</div>
</footer>
<script>
(function() {
var hamburger = document.getElementById('hamburger');
var navLinks = document.querySelector('.nav-links');
var overlay = document.getElementById('mobileOverlay');
var body = document.body;
if (!hamburger || !navLinks || !overlay) {
console.warn('[mobile-menu] Missing elements:', {
hamburger: !!hamburger,
navLinks: !!navLinks,
overlay: !!overlay
});
return;
}
function openMenu() {
hamburger.classList.add('is-active');
navLinks.classList.add('is-open');
overlay.classList.add('is-visible');
body.classList.add('menu-open');
hamburger.setAttribute('aria-expanded', 'true');
hamburger.setAttribute('aria-label', 'Menü bezárása');
}
function closeMenu() {
hamburger.classList.remove('is-active');
navLinks.classList.remove('is-open');
overlay.classList.remove('is-visible');
body.classList.remove('menu-open');
hamburger.setAttribute('aria-expanded', 'false');
hamburger.setAttribute('aria-label', 'Menü megnyitása');
}
hamburger.addEventListener('click', function() {
if (navLinks.classList.contains('is-open')) {
closeMenu();
} else {
openMenu();
}
});
overlay.addEventListener('click', closeMenu);
navLinks.querySelectorAll('a').forEach(function(link) {
link.addEventListener('click', closeMenu);
});
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
window.addEventListener('resize', function() {
if (window.innerWidth > 900 && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
})();
</script>
</body>
</html>