Zásady ochrany osobních údajů
Správce osobních údajů
tap & type UG (haftungsbeschränkt), Pestalozzistr. 14, 14943 Luckenwalde, Německo, e-mail: kontakt@waffenschrank.app (viz tiráž).
Základní princip: tvá data zůstávají u tebe
Waffenschrank je aplikace typu local-first: veškerý obsah (zbraně, střelivo, trénink, dokumenty, fotografie) se ukládá výhradně lokálně ve tvém zařízení. Není tu žádná povinnost zakládat účet, žádné sledování, žádná reklama a žádná analýza toho, jak aplikaci používáš. Rozpoznávání textu (OCR), odstranění pozadí u fotografií a vyhodnocení terčů běží v zařízení — fotografie ho kvůli tomu neopouštějí. Jen ve webové aplikaci si rozpoznávání textu při prvním použití stáhne svůj rozpoznávací model z veřejné balíčkové sítě; i tam se ale samotný obrázek vyhodnocuje v prohlížeči a nikam se nenahrává.
Střelecký časovač používá mikrofon výhradně k tomu, aby rozpoznal výstřely jako impulzy hlasitosti. Vyhodnocení probíhá v reálném čase v zařízení; zvuk se v žádném okamžiku nenahrává, neukládá ani nepřenáší — ukládají se jen rozpoznané časové okamžiky (číselné hodnoty). Přístup k mikrofonu je aktivní pouze po dobu, kdy časovač běží.
Trenér počítá své tipy zcela lokálně z tvých záznamů. Na zařízeních se systémovou umělou inteligencí běžící přímo v zařízení (Apple Intelligence, resp. Gemini Nano) může navíc nechat zformulovat krátké shrnutí — i to se děje výhradně v zařízení. Do tohoto shrnutí vstupují jen agregované ukazatele, nikdy údaje o zbraních, místech nebo osobách, a nic z toho zařízení neopouští ani se neukládá.
Obsahová data aplikace — databáze (složka „SQLite“), fotografie (složka „photos“) a dokumenty (složka „documents“) — jsou vyňaty ze zálohy zařízení v systému iOS (NSURLIsExcludedFromBackupKey). Nezálohují se tedy automaticky se zálohou zařízení, resp. se zálohou iCloud. V Androidu je systémová záloha pro aplikaci zcela vypnutá (allowBackup=false), ani tam se tedy žádný obsah automaticky nedostane do zálohy Google. Technické zbytky (např. nastavení aplikace v systémovém úložišti) mohou v záloze zařízení skončit i nadále; data o zbraních, střelivu a tréninku nikoli. Záloha tvého obsahu vznikne jen tehdy, když si ji nastavíš: záloha do iCloudu, záloha/synchronizace přes účet nebo ruční export. Bez některé z těchto záloh jsou data při ztrátě nebo poruše zařízení ztracena.
Co se děje při startu — i bez účtu
Zcela bez sítě aplikace přece jen není. Na iPhonu, iPadu a Androidu se při startu ptá našeho vlastního distribučního bodu (updates.waffenschrank.app, doručovaný naším poskytovatelem hostingu Cloudflare, Inc. — zpracovatel, standardní smluvní doložky EU), zda je k dispozici aktualizace programu — od verze 1.3 už ne Expo. Nevyhnutelně se přitom přenáší tvá IP adresa, identifikátor projektu a aktualizace, distribuční kanál, verze běhového prostředí a také platforma a verze operačního systému, navíc identifikátor instalace, který vzniká při prvním spuštění a trvale zůstává v zařízení. Skončil-li předchozí běh fatální chybou, její hlášení (až 1024 znaků) se jednorázově odešle s dalším dotazem a přitom se ze zařízení smaže. Obsah tvé sbírky součástí není. Právní základ: čl. 6 odst. 1 písm. f GDPR (dodávání oprav chyb).
Na iPhonu a iPadu se při startu hlásí navíc zpracování nákupů, aby ověřilo stav Pro — i tehdy, když si nikdy nic nekoupíš (viz „Nákupy“). Další spojení aplikace sama od sebe nenavazuje: účet, záloha, vitrína, kontaktní formulář a doplňování údajů z odkazů na obchody proběhnou teprve tehdy, když je vyvoláš.
Oprávnění zařízení
O oprávnění aplikace požádá teprve tehdy, když příslušnou funkci použiješ: fotoaparát a knihovna fotografií (fotky zbraní, dokumentů a účtenek, skenování čárových kódů a textu), mikrofon (střelecký časovač), NFC (čtení štítků na skříních a kufrech), Face ID nebo otisk prstu (zámek aplikace) a oznámení (připomenutí). Co přitom vznikne, zůstává v zařízení.
Připomenutí, widgety a zkratky
Připomenutí lhůt a údržby plánuje a zobrazuje samo zařízení (lokální oznámení). Není tu žádná push služba; žádný server se nedozví, čeho se tvá připomenutí týkají.
Pro widgety, živé aktivity, zkratky a Siri ukládá aplikace potřebné údaje do sdílené oblasti zařízení (skupina aplikací): počet zbraní, stavy zásob podle ráže, název nejbližší lhůty a semafor potřeby. Tyto údaje jsou viditelné na domovské i zamykací obrazovce, tedy i mimo zámek aplikace. Je-li zámek aplikace zapnutý, zrcadlí se jen neutrální počítadla bez názvů. Nic z toho zařízení neopouští.
Vyhledávání Spotlight (volitelně, jen iOS)
Když v části Více → Zabezpečení zapneš systémové vyhledávání, zapamatuje si iOS pro vyhledávání Spotlight v zařízení výrobce, model a ráži tvých zbraní — i bez otevření aplikace a mimo zámek aplikace. Nastavení je ve výchozím stavu vypnuté. Když je zase vypneš nebo zapneš zámek aplikace, systémový index se vyprázdní a dál se už neplní. Právní základ: čl. 6 odst. 1 písm. a) GDPR (souhlas udělený zapnutím).
Záloha do iCloudu (volitelně, bez účtu)
Když zapneš zálohu do iCloudu, ukládá aplikace zašifrované záložní soubory do kontejneru iCloud Drive tvého Apple ID (složka „Waffenschrank“). Zálohuje se databáze a dále tvé fotografie a nahrané dokumenty; ty přitom leží vedle zálohy, každý zašifrovaný zvlášť. Šifrování (AES-256-GCM) probíhá v zařízení; klíčem je náhodná hodnota, která se ukládá výhradně do tvé klíčenky iCloud a synchronizuje se mezi tvými zařízeními. Za uložení odpovídá Apple jako poskytovatel tvého účtu iCloud; my přitom nezískáváme žádná data a nemáme přístup ani k souborům, ani ke klíči. Právní základ: čl. 6 odst. 1 písm. a) GDPR (souhlas udělený zapnutím).
Záloha do Google Drive na Androidu (volitelně, bez účtu)
Když v Androidu zapneš zálohu, ukládá aplikace zašifrované záložní soubory do soukromé složky aplikace („appDataFolder“) na tvém Google Drive. Tato složka je vyhrazena aplikaci; jiné aplikace ani rozhraní Drive se do ní nedostanou. Zálohuje se databáze a dále tvé fotografie a nahrané dokumenty; ty přitom leží vedle zálohy, každý zašifrovaný zvlášť. Šifrování (AES-256-GCM) probíhá v zařízení; klíčem je náhodná hodnota a uchovává se přes Google Block Store — end-to-end zašifrovaně, a tedy pro Google nečitelně, pokud má tvé zařízení zámek obrazovky. Pokud zařízení end-to-end šifrování nehlásí, zůstává klíč výhradně lokálně; zpět k záloze pak vede jedině tvůj obnovovací kód. Za uložení odpovídá Google jako poskytovatel tvého účtu Google; my přitom nezískáváme žádná data a nemáme přístup ani k souborům, ani ke klíči. Přístup se omezuje na oprávnění „drive.appdata“; k ostatnímu obsahu tvého Drive se aplikace dostat nemůže. Právní základ: čl. 6 odst. 1 písm. a) GDPR (souhlas udělený zapnutím).
Volitelný účet, záloha v cloudu a synchronizace
Účet je dobrovolný. Přihlásit se můžeš e-mailovou adresou a heslem, jednorázovým kódem zaslaným e-mailem, přes „Přihlásit se přes Apple“ nebo svým účtem Google. U „Přihlásit se přes Apple“ nám Apple předá identifikátor a — podle toho, co si zvolíš — e-mailovou adresu a jméno; jméno ukládá aplikace jen lokálně do tvého profilu. U Google dostáváme identifikátor a tvou e-mailovou adresu. Za samotné přihlášení na své straně odpovídá příslušný poskytovatel.
Cloudové zálohy a synchronizace zařízení jsou šifrované end-to-end (AES-256-GCM; klíč se v zařízení odvozuje z tvého ochranného hesla, PBKDF2 se 600 000 koly). Tento obsah nedokážeme dešifrovat (zero knowledge).
Nezašifrovaně vidí server jen obálku: tvou e-mailovou adresu, čas a velikost záložních souborů a — u synchronizace — ke které tabulce a ke kterému identifikátoru řádku záznam patří, a dále identifikátor zařízení, ze kterého pochází. Z toho lze vyčíst, kolik záznamů v které oblasti vedeš, nikoli však, co v nich stojí. Kvůli ochraně před zneužitím odvozuje server u některých serverových funkcí navíc z tvé IP adresy krátkodobé počítadlo.
Když zapneš automatickou zálohu, uloží se tvé ochranné heslo do chráněného úložiště klíčů tvého zařízení (Keychain, resp. Keystore), aby mohla běžet bez dotazu; zařízení ho neopouští. Starší cloudové zálohy uklízí aplikace sama: sedm nejnovějších zůstává, k tomu vždy ta nejnovější ze čtyř dalších týdnů. Hosting: Supabase, region EU (Frankfurt, eu-central-1). Právní základ: čl. 6 odst. 1 písm. b) GDPR (plnění smlouvy). Bez účtu nic z toho nezakládáme.
Vitríny (dobrovolné sdílení)
Když vitrínu aktivně zveřejníš, budou na neuhodnutelné adrese veřejně dostupné výhradně tebou vybrané údaje (včetně zmenšených fotografií vybraných objektů). Sériová čísla, místa uložení, stavy zásob, ceny a údaje o povoleních jsou technicky vyloučeny. Vitrína funguje i bez účtu.
Počítáme, kolikrát byla vitrína otevřena, a toto počítadlo ti ukazujeme; jednotlivá otevření se neprotokolují. Stránku vitríny doručuje náš poskytovatel hostingu Cloudflare, Inc. (zpracovatel, standardní smluvní doložky EU), který přitom zpracovává technicky nezbytné údaje o spojení návštěvníků. Aby zveřejněná vitrína nezanikla nepozorovaně, obnovuje ji aplikace sama nejvýše jednou měsíčně při startu. Každou vitrínu můžeš kdykoli vypnout; odkaz tím trvale ztratí platnost. Právní základ: čl. 6 odst. 1 písm. a) GDPR (souhlas).
Klubové vitríny
Když založíš klubovou vitrínu nebo se k některé připojíš, ukládáme k tomu název klubu, kód pro připojení, identifikátory účtů zúčastněných a příspěvky, které tam výslovně vkládáš (například závodní úspěchy). Tyto údaje nejsou šifrované end-to-end — ostatní členové je musí být schopni číst. Své členství můžeš kdykoli ukončit. Právní základ: čl. 6 odst. 1 písm. a) GDPR (souhlas).
Nákupy (Waffenschrank Pro)
Nákupy probíhají přes App Store (Apple), resp. Google Play; zpracování nákupu obstarává RevenueCat (RevenueCat Inc., USA — standardní smluvní doložky EU). SDK RevenueCat se hlásí při každém startu, aby ověřilo stav nákupu; do RevenueCat přitom jde identifikátor nákupu, tvá IP adresa a technické údaje o zařízení. Bez účtu je tento identifikátor anonymním náhodným identifikátorem; po přihlášení se propojí s identifikátorem tvého účtu, aby Pro platilo na všech tvých zařízeních. Platební údaje nikdy nedostáváme. Právní základ: čl. 6 odst. 1 písm. b) GDPR.
Hlášení o pádech (jen se souhlasem)
Hlášení o pádech se odesílají jen tehdy, když je v části Více → Zabezpečení výslovně zapneš; výchozí nastavení je vypnuto. Poskytovatelem je Sentry (Functional Software, Inc., USA — standardní smluvní doložky EU); hlášení míří na vstupní bod EU v Německu. Nezávisle na tom se i bez tohoto souhlasu odesílá jeden údaj: skončil-li předchozí běh fatální chybou, nese dotaz na aktualizaci při příštím spuštění její hlášení (viz „Co se děje při startu — i bez účtu“).
Hlášení obsahuje chybovou zprávu včetně zásobníku volání, verzi aplikace, model zařízení, verzi operačního systému, jazyk a časové pásmo a dále silně zkrácenou stopu posledních kroků: jen přechody mezi obrazovkami se zamaskovanými identifikátory a síťová volání se zkrácenou adresou. Názvy obrazovek, zadané údaje, výpisy konzole a identifikátor tvého účtu jsou výslovně odfiltrovány, obsah tvé sbírky se tak do hlášení nedostane. Výjimkou je text samotné chybové zprávy: odchází nezkrácený, protože chybu bez její zprávy nelze najít — v jednotlivých případech v ní může být hodnota z tvých dat.
Právní základ: čl. 6 odst. 1 písm. a) GDPR; souhlas lze kdykoli odvolat. Odvolání platí okamžitě: aplikace ve stejnou chvíli ukončí sběr dat o pádech, bez restartu. Zamrznutí ani relace ukončené systémem vůbec nezaznamenává — jen skutečné pády.
Kontakt a hlášení problému
Když použiješ kontaktní formulář, zpracováváme tvou zprávu, zvolenou kategorii, volitelně tvou e-mailovou adresu (pro doplňující dotazy) a — pokud necháš zaškrtnuté políčko — technické údaje: verzi aplikace, identifikátor aktualizace, distribuční kanál, platformu a verzi operačního systému. Po přihlášení se spolu s tím uloží identifikátor tvého účtu, abychom tvůj požadavek dokázali přiřadit. Právní základ: čl. 6 odst. 1 písm. f) GDPR (vyřízení tvého požadavku), u přihlášených uživatelů zároveň čl. 6 odst. 1 písm. b) GDPR. Údaje se po vyřízení smažou.
Doplnění z odkazů na obchody
Když vložíš odkaz na obchod a necháš z něj doplnit údaje, vyvolá tvé zařízení tuto cizí stránku bezprostředně samo — bez okliky přes nás. Obchod se přitom stejně jako u každého načtení stránky dozví tvou IP adresu a to, kterou stránku načítáš; na jeho zpracování údajů nemáme vliv a nic z toho nedostáváme. Právní základ: čl. 6 odst. 1 písm. a) GDPR (souhlas udělený vyvoláním funkce).
Tyto webové stránky
Při otevření stránky waffenschrank.app zpracovává náš poskytovatel hostingu Cloudflare, Inc. (jako zpracovatel, standardní smluvní doložky EU) technicky nezbytné údaje o připojení (IP adresa, čas, vyžádaný zdroj), aby stránku doručil a zabezpečil. Právní základ: čl. 6 odst. 1 písm. f) GDPR. Stránka nepoužívá cookies ani nevkládá zdroje z cizích serverů; pamatuje si jen tvou volbu jazyka lokálně v prohlížeči, aby se upozornění na jazyk neopakovalo.
Tvá práva
Máš právo na přístup k údajům, na jejich opravu, výmaz, omezení zpracování, na přenositelnost údajů a na vznesení námitky (čl. 15–21 GDPR) a dále právo podat stížnost u dozorového úřadu pro ochranu osobních údajů. Údaje účtu můžeš smazat v aplikaci; lokální data smažeš odinstalováním aplikace, resp. pomocí funkcí pro export/mazání. Jak na to — v aplikaci i bez ní — popisuje stránka Smazání účtu.
Toto prohlášení popisuje skutečné zpracování údajů v aplikaci. V případě dotazů: kontakt@waffenschrank.app