Zásady ochrany soukromí (Privacy Policy)
Účinné od: 2026-05-25 Verze dokumentu: 1.0 Provozovatel: Adam Spacek (osobní/nekomerční projekt), Havířov, ČR Aplikace: Let's Encrypt Wizard — openai-crump.github.io/letsencrypt-wizard Repozitář: github.com/OpenAI-Crump/letsencrypt-wizard
TL;DR (pro netrpělivé)
- Aplikace je plně statická SPA bez backendu. Žádný server provozovatele nezpracovává ani neukládá tvoje data.
- Vše, co vyplníš v průvodci, zůstává v paměti tvého prohlížeče (
localStorage). - Žádné cookies, žádný tracking, žádné analytické skripty, žádné fonty z CDN, žádné externí volání kromě:
- načtení statických souborů z GitHub Pages (hosting),
- tvého vlastního dobrovolného odchozího volání na Let's Encrypt a případně Cloudflare API — ale až ve skriptech, které si stáhneš a spustíš na svém serveru, ne v této webové aplikaci.
- Cloudflare API token, pokud ho zadáš, se defaultně neukládá. Uloží se pouze pokud explicitně zaškrtneš checkbox „Uložit token do localStorage".
1. Kdo je správce osobních údajů
Tento nástroj je osobní open-source projekt, který běží výhradně v prohlížeči návštěvníka. Provozovatel (Adam Spacek) neshromažďuje, neukládá, nezpracovává ani nepřijímá žádné osobní údaje uživatele prostřednictvím této aplikace.
Z hlediska GDPR (Nařízení EU 2016/679) článku 4:
- Nedochází k „zpracování" osobních údajů provozovatelem ve smyslu Čl. 4 odst. 2 — provozovatel data nepřijímá, neuchovává, nepředává ani nezpřístupňuje. Veškerá data zůstávají na zařízení uživatele.
- Provozovatel proto není správcem ani zpracovatelem ve smyslu Čl. 4 odst. 7 a 8 ve vztahu k údajům, které uživatel zadává do průvodce.
- Tento dokument je vydáván dobrovolně, v rámci principu transparentnosti (Čl. 5 odst. 1 písm. a) a Čl. 12), aby měl uživatel jasnou informaci, jak nástroj nakládá s jeho údaji v jeho vlastním prohlížeči.
2. Co se ukládá ve tvém prohlížeči
Aplikace používá výhradně window.localStorage v doméně, kde běží. Klíče a obsah:
| Klíč v localStorage | Co obsahuje | Kdy se ukládá | Kdo to čte |
|---|---|---|---|
le-wizard-state |
JSON s rozpracovanými odpověďmi: typ certifikátu, seznam domén, e-mail, vybraná challenge, OS, webserver, webroot, port mServeru, nastavení obnovy, reload příkaz | Automaticky při každé změně pole ve formuláři | Pouze JavaScript této aplikace, jen ve tvém prohlížeči |
le-wizard-dark |
"1" / "0" — preference tmavého režimu |
Při kliknutí na přepínač 🌙 | Pouze tato aplikace |
le-wizard-banner-ack |
"1" po odsouhlasení informačního banneru |
Po kliknutí „Rozumím" | Pouze tato aplikace |
le-wizard-cftoken-optin |
"1" pokud explicitně souhlasíš s uložením CF API tokenu |
Po zaškrtnutí checkboxu v kroku 3 | Pouze tato aplikace |
le-wizard-cftoken |
Cloudflare API token v plain textu | Pouze pokud zaškrtneš opt-in checkbox — jinak zůstává jen v paměti stránky a po refresh zmizí | Pouze tato aplikace |
Co se NIKDY neukládá nikam mimo tvůj prohlížeč
- Žádná z výše uvedených hodnot se neposílá na server provozovatele, na server třetí strany, ani do GitHub Pages backendu — GitHub Pages doručí pouze statické soubory a po doručení už neví, co s nimi v prohlížeči děláš.
- Žádné analytické knihovny (Google Analytics, Plausible, atd.) — nejsou v projektu zahrnuty. Můžeš si ověřit ve zdrojovém kódu.
3. Proč to ukládáme
Jediný účel localStorage je uživatelský komfort:
- Pokud zavřeš záložku a vrátíš se, průvodce neztratí rozpracovaný stav.
- Volba tmavého režimu se zapamatuje mezi návštěvami.
Žádné jiné účely (marketing, profilování, statistiky, sdílení s třetími stranami) neexistují.
Z hlediska GDPR by tato funkce — i kdyby byla považována za zpracování — spadala pod oprávněný zájem provozovatele a uživatele (Čl. 6 odst. 1 písm. f), případně pod plnění služby požadované uživatelem (Čl. 6 odst. 1 písm. b). Jelikož se však data nikdy neopustí prohlížeč, právní titul fakticky není potřeba aktivovat.
4. Cookies?
Aplikace nepoužívá HTTP cookies. Používá výhradně localStorage, což je technicky odlišný mechanismus uložený jen na straně klienta.
Podle § 89 zákona č. 127/2005 Sb. o elektronických komunikacích (transpozice ePrivacy směrnice 2002/58/ES) je souhlas vyžadován pro „ukládání informací nebo získávání přístupu k informacím uloženým v koncovém zařízení účastníka". localStorage pod toto ustanovení spadá také.
Proto:
- Při prvním otevření aplikace se zobrazí informační banner s vysvětlením, co se ukládá a proč. Banner se po potvrzení skryje (a uloží si o tom záznam v
localStoragejakole-wizard-banner-ack). - Veškeré ukládání slouží výhradně k poskytnutí služby, kterou si uživatel sám aktivně vyžádal (vyplnění a uchování průvodce). Jde tedy o technicky nezbytné ukládání podle § 89 odst. 3 písm. b) zákona č. 127/2005 Sb., které je vyloučeno z povinnosti získat předchozí souhlas.
- Pro Cloudflare API token, který je citlivějšího charakteru, vyžaduje aplikace explicitní opt-in (checkbox) — bez něj zůstává token jen v paměti stránky a refresh ho smaže.
5. Cloudflare API token — speciální zacházení
Pokud v kroku 3 zvolíš metodu „DNS-01 přes Cloudflare", průvodce po tobě bude chtít Cloudflare API token.
- Token putuje výhradně do vygenerovaného skriptu (
issue.shresp.issue.ps1), který si stáhneš na svůj server. Aplikace ho nikam neodesílá. - Defaultně se neukládá do
localStorage— žije jen v paměti otevřené stránky. Refresh ho smaže. - Pokud chceš pohodlí (vrátit se a pokračovat bez znovuzadání), můžeš zaškrtnout opt-in checkbox „Uložit token do localStorage". Tím dáváš explicitní souhlas s uložením citlivého údaje lokálně do tohoto prohlížeče.
- Doporučení: pokud opt-in použiješ, používej scoped token s minimem oprávnění (
Zone:DNS:Editjen pro relevantní doménu) a po vystavení certifikátu ho v Cloudflare zruš.
6. Jak data smazat
Veškerá data jsou ve tvém prohlížeči — smazat je můžeš kdykoliv:
Možnost A — uvnitř aplikace (DevTools konzole):
localStorage.removeItem('le-wizard-state');
localStorage.removeItem('le-wizard-dark');
localStorage.removeItem('le-wizard-banner-ack');
localStorage.removeItem('le-wizard-cftoken-optin');
localStorage.removeItem('le-wizard-cftoken');
location.reload();
Možnost B — v prohlížeči:
- Chrome / Edge:
Nastavení → Soukromí → Vymazat data prohlížení → vyber „Cookies a další data webů"proopenai-crump.github.io - Firefox:
Nastavení → Soukromí a zabezpečení → Cookies a data stránek → Spravovat data → vyhledej doménu → Odstranit - Safari:
Předvolby → Soukromí → Spravovat data webových stránek → vyhledej → Odebrat
Možnost C — anonymní/private okno — nic se neuloží dlouhodobě, vše zmizí po zavření.
7. Co se posílá kam (datové toky)
| Akce uživatele | Cíl volání | Co se odesílá | Účel |
|---|---|---|---|
| Načtení stránky | GitHub Pages (openai-crump.github.io) |
HTTP request, User-Agent, IP adresa (standardní HTTP) | Doručení statických souborů. Logy spravuje GitHub podle své politiky. |
| Vyplnění průvodce | Nikam — pouze localStorage v prohlížeči | Nic | — |
| Kliknutí na 🐛 v patičce | GitHub Issues | Standardní HTTP request na github.com | Nahlášení chyby (dobrovolné) |
Spuštění vygenerovaného issue.sh/issue.ps1 na tvém serveru |
Let's Encrypt ACME API (acme-v02.api.letsencrypt.org) |
Tvůj e-mail, seznam domén, public klíč účtu | ACME protokol — nezbytné pro vystavení certifikátu. Vztahuje se Subscriber Agreement Let's Encrypt a Privacy Policy ISRG. |
| (Volitelně) Spuštění skriptu s CF tokenem | Cloudflare API (api.cloudflare.com) |
CF API token, DNS challenge TXT záznam | DNS-01 validace. Vztahuje se Cloudflare Privacy Policy. |
Klíčové: Volání na Let's Encrypt a Cloudflare se dějí až ve skriptu, který si sám spustíš na svém serveru — ne v této webové aplikaci. Tato webová aplikace je pouze generátor textu skriptu.
8. Děti
Aplikace není určená pro děti mladší 16 let. Protože ale nesbíráme žádné osobní údaje, neexistuje praktický mechanismus věkového omezení ani potřeba souhlasu zákonného zástupce (Čl. 8 GDPR).
9. Tvá práva podle GDPR
Standardní práva subjektu údajů jsou:
- právo na přístup (Čl. 15)
- právo na opravu (Čl. 16)
- právo na výmaz (Čl. 17)
- právo na omezení zpracování (Čl. 18)
- právo na přenositelnost (Čl. 20)
- právo vznést námitku (Čl. 21)
- právo nebýt předmětem automatizovaného rozhodování (Čl. 22)
- právo podat stížnost u dozorového úřadu — v ČR Úřad pro ochranu osobních údajů (ÚOOÚ)
Tato práva jsou v kontextu naší aplikace fakticky neaktivovatelná, protože provozovatel žádné tvoje údaje nedrží ani nezpracovává. Veškerá data máš plně pod vlastní kontrolou ve svém prohlížeči a můžeš je sám kdykoli zobrazit, opravit nebo smazat (viz sekce 6).
Pokud si přesto myslíš, že došlo k porušení tvých práv, kontaktuj provozovatele:
- GitHub Issues: github.com/OpenAI-Crump/letsencrypt-wizard/issues
10. Bezpečnost
- Aplikace je servována přes HTTPS (GitHub Pages enforce-uje HTTPS).
- Žádný backend → není co napadnout u provozovatele.
- Cloudflare API token, pokud ho ukládáš (opt-in), je uložen v
localStoragev plain textu. Toto je standardní omezení web platformy —localStoragenení šifrovaná zóna. Pokud máš sdílený prohlížeč nebo nedůvěryhodné rozšíření, nepoužívej opt-in. Místo toho zadávej token ad-hoc při každé návštěvě. - Doporučujeme vytvořit pro tento účel scoped CF token (
Zone:DNS:Editjen na konkrétní zónu) a po dokončení ho v Cloudflare smazat.
11. Externí závislosti — třetí strany
| Služba | Role | Privacy odkaz |
|---|---|---|
| GitHub Pages | Hosting statických souborů | GitHub Privacy Statement |
| Let's Encrypt / ISRG | Certifikační autorita — kontaktuje až tvůj server, ne tato aplikace | ISRG Privacy Policy |
| Cloudflare (volitelné) | DNS API — kontaktuje až tvůj server | Cloudflare Privacy Policy |
V aplikaci samotné nejsou žádné CDN scripts, žádné Google Fonts, žádné externí trackery. Můžeš ověřit ve zdrojáku.
12. Změny tohoto dokumentu
Verze dokumentu sleduje verze aplikace. Aktuální verze je vždy v souboru PRIVACY.md v repozitáři. Změny jsou zachyceny v git historii a v CHANGELOG.md.
13. Shrnutí pro právního auditora
| GDPR oblast | Posouzení pro tuto aplikaci |
|---|---|
| Existuje správce/zpracovatel? | Ne — provozovatel nedrží žádná data uživatele |
| Sběr osobních údajů? | Žádný server-side sběr. Klient-side: e-mail a doménová jména v localStorage uživatele |
| Právní titul (Čl. 6) | Nepotřebný — data neopouští klienta. Pro UX-ukládání lze opřít o Čl. 6 odst. 1 písm. b) (plnění služby vyžádané subjektem) |
| Profilace / automatizované rozhodování (Čl. 22) | Žádné |
| Předávání do třetích zemí (Čl. 44 a další) | Žádné ze strany provozovatele. Pokud uživatel sám spustí skripty, jeho server komunikuje s Let's Encrypt (USA, ISRG) a volitelně Cloudflare (USA) na vlastní právní titul |
| Záznamy o činnostech zpracování (Čl. 30) | Není povinné — neexistuje zpracování |
| Informační povinnost (Čl. 13/14) | Splněno tímto dokumentem + bannerem v aplikaci |
| Cookies / ePrivacy (§ 89 ZoEK) | localStorage použit jen pro technicky nezbytné účely (uchování stavu vyžádaného uživatelem); banner informuje, opt-in pro citlivý CF token |
| DPO / pověřenec | Není povinný — neproběhne zpracování ve velkém rozsahu ani citlivé kategorie (Čl. 37) |
Tento dokument byl sepsán s důrazem na transparentnost. Pokud najdeš nepřesnost nebo máš dotaz, otevři Issue.