Skip to main content
Ze zákulisí
Ze zákulisíDecisionsPremium

Zákony uvnitř našeho kódu

Tlačítko pro výpověď, které musí fungovat bez přihlášení. Formulář, který tě nikdy nesmí odmítnout. Proč jsou pro nás právní povinnosti architekturou, ne povinným textem.

Zveřejněno od AlphaCloud4 min čtení

Když jsme umožnili Premium koupit, předpokládali jsme, že právní část bude pár stránek textu v patičce. To byl omyl. Některé povinnosti se do textu vůbec napsat nedají, protože určují, jak musí být funkce postavená.

Čtyři příklady, kde to bylo obzvlášť zřetelné. Hned na úvod, aby bylo jasné, o co jde: je to popis naší implementace, ne právní poradenství. Pravidla níže jsou německé právo, protože tam AlphaCloud působí.

Tlačítko pro výpověď, které nesmí mít přihlášení

§ 312k německého občanského zákoníku vyžaduje, aby smlouvy uzavřené online nabízely přímo dostupnou cestu k výpovědi. Z toho plynou požadavky, které nejde dodat dodatečně formulací:

  • Stránka musí fungovat bez přihlášení
  • Musí být v patičce každé stránky
  • Potřebuje dva kroky: zadání, pak potvrzení jednoznačně popsaným tlačítkem
  • Musí odejít potvrzení o doručení v textové podobě

Poslední bod určuje architekturu. Výpověď je jednostranný projev vůle a účinnosti nabývá doručením. Musí se tedy vždy zaznamenat a potvrdit, ať přišla od kohokoli.

Formulář tě nikdy nesmí odmítnout

Tady nás zjevný přístup málem stál chybu.

Zjevný přístup: výpověď přijmout jen tehdy, když ID serveru a e-mail odpovídají aktivnímu předplatnému. Zní to rozumně a je to špatně hned dvakrát.

Zaprvé by to zablokovalo skutečného zákazníka, který se překlepne v e-mailu nebo uvede jinou adresu. Jeho výpověď by nebyla doručena, předplatné se obnoví a on má v ruce důkaz, že se o to pokusil.

Zadruhé, a to je ta nepříjemnější část: sama chybová hláška by byla odpovědí. Kdo dostane zpět „žádné předplatné nenalezeno“, zjistí, že tenhle server neplatí. ID Discord serveru není tajemství, může si ho přečíst každý člen. Z formuláře by se stal nástroj na sondování cizích serverů.

Řešení odděluje dvě věci, které působí jako jedna:

Podmínka
Doručení projevu vůle bezpodmínečné, vždy zaznamenané a potvrzené
Provedení výpovědi jen když zadaný e-mail odpovídá uloženému kupujícímu

Všechno ostatní přistane ve frontě a posoudí to člověk. To je přípustné, protože § 312k odst. 2 výslovně dovoluje požadovat identifikační údaje. Zakázané je jen přihlášení před tím.

Ze stejného důvodu smí veřejná odpověď uvést datum konce až po potvrzení identity. Jinak by se z potvrzení zase stalo orákulum.

Odstoupení, které má přihlášení záměrně

Hned vedle leží funkce, kterou jsme postavili opačně: odstoupení s poměrným vrácením peněz je za přihlášením.

To není rozpor. § 312k se týká výpovědi, ne odstoupení, a pokud zůstane otevřená neformální cesta, neexistuje vůbec povinnost nabízet online formulář pro odstoupení. Rozdíl je v důsledku: výpověď působí do budoucna, vrácení peněz hýbe penězi teď a vzít zpět se nedá.

Tři pravidla, která z toho plynou a která neoslabujeme:

Žádný povinný důvod. § 355 odst. 1 přiznává odstoupení výslovně bez udání důvodů. Pole je volitelné a volitelné zůstat musí, ať by bylo povinné pole pro statistiky sebelákavější.

Po 14 dnech se odmítá jen automatická cesta, nikdy projev vůle. Lhůta se prodlužuje až na dvanáct měsíců a čtrnáct dní, pokud zákazník nebyl řádně poučen. Paušální „pozdě“ by tedy mohlo být chybné.

Ochrana proti dvojí výplatě je pesimistická. Značka se nastaví před tím, než vrácení peněz proběhne. Pokud vrácení pak selže, značka zůstane a převezme to člověk. Vyplatit dvakrát je jediný výsledek, který se nedá napravit.

DM na Discordu není trvalý nosič

§ 312f odst. 3 vyžaduje potvrzení smlouvy na trvalém nosiči dat a musí v něm být reprodukován udělený souhlas.

Nejdřív jsme posílali přímou zprávu na Discordu, protože to je kanál, kde naši zákazníci stejně jsou. To nestačí. DM žije na platformě, kterou nekontrolujeme, a není uložitelná ani neměnná v tom smyslu, jak to ustanovení myslí.

Přibyl tedy e-mail a s ním nepříjemná závislost: pokud nejsou nastavené přihlašovací údaje k poště, odeslání jen zapíše varování do logu a povinnost není splněna. Zákonná povinnost visící na proměnné prostředí je stav, o kterém je dobré vědět.

Žádné DPH, a to musí všude znít stejně

AlphaCloud je drobný podnikatel podle § 19 německého zákona o DPH. Ceny jsou konečné, DPH se nikdy neuvádí.

Zní to jako poznámka pod čarou a ve skutečnosti je to úkol na konzistenci napříč mnoha místy: stránka s ceníkem, dialog pokladny, obchodní podmínky, zásady ochrany osobních údajů, patička faktury i konfigurace u platebního poskytovatele musí říkat totéž. Dlouho u nás stálo „bez DPH“, které bylo prostě špatně.

A AI

Od srpna 2026 platí v plném rozsahu povinnosti transparentnosti evropského aktu o umělé inteligenci. Kdo mluví se systémem AI, musí to poznat nejpozději při první interakci.

Nejdůležitější věta z toho přezkumu pro nás: právní stránka v patičce to nejspíš nesplňuje. Upozornění musí proběhnout tam, kde probíhá interakce, tedy přímo ve zprávě na Discordu. Proto se naše AI podpora v tiketech sama od sebe představí a má viditelné tlačítko, kterým ji vypneš. Naše podrobné posouzení najdeš na stránce transparentnost AI.

Společná nit

Všechny čtyři příklady mají stejný tvar: povinnost vypadala jako text a ve skutečnosti byla požadavkem na strukturu. Přihlášení na špatném místě, chybová hláška, která prozradí příliš, potvrzení ve špatném kanálu, pořadí, které umožní dvojí výplatu.

Proto teď právní text čteme jako specifikaci a kontrolujeme i opačným směrem: dělá kód opravdu to, co říkají naše podmínky? Právě u této otázky jsme našli dva skutečné rozpory a o nich je samostatný článek.

Další články