Přeskočit na obsah

Bezpečnost

Dokument začíná nezvyklým, ale správným pozorováním: sledované zdroje jsou veřejné, takže útočník s naším klíčem získá naši agregaci, ne přístup, který by neměl. Cenné a citlivé je to, co z veřejných zdrojů vznikne.

Chráněné aktivum
korpus — strukturovaná kopie dat a soudní dokumenty za nimi
Minimalizace
na hranici parsování; co nevstoupí do struktury, nemůže uniknout
Tajemství
jen z prostředí; tracked strom kontroluje skript v CI i v bráně kvality
Logy
strukturované, labely jsou uzavřené slovníky, text dokumentů se nikdy neloguje

Čtyři rizika v pořadí důležitosti

  • Nadměrný sběr — uložit víc osobních údajů, než účel ospravedlňuje, což z legální analýzy udělá nelegální databázi.
  • Nekontrolovaný export — data odcházející k jinému účelu než k interní analytice klienta.
  • Expozice úložiště dokumentů — PDF jsou surovina a obsahují všechno, včetně polí, která projekce záměrně zahazuje.
  • Únik přes logy a metriky — spisová značka nebo jméno v labelu skončí v každém monitorovacím systému po proudu.

Pravidla

  • Rodná čísla, zdrojem echované datum narození a adresy dlužníků se nikdy neukládají jako údaj a nikdy se nelogují. Vyskytovat se mohou jen v řízených úložištích obsahu dokumentů: v PDF, v textu stran z OCR a ve vytěžených výsledcích, které se nepřepisují (citace a u starších výsledků identifikátor věřitele, jak ho přečetl model). Identifikátor věřitele, který by mohl nést rodné číslo, se nikde nezobrazuje. Citace pohledávek se indexují a exportují; rodné číslo s lomítkem nebo desetimístné s platným datem a kontrolním součtem se v nich nahrazuje, chybně přečtené číslo, jiný zápis nebo datum narození v nich zůstat může.
  • Úložiště dokumentů je adresované obsahem, ověřované hashem, přístupově řízené a nikdy veřejně servírované ani vypisované neautentizovaným endpointem.
  • Fixtures se před commitem redigují; co redigovat nejde, se necommituje.
  • Exporty jsou vázané účelem: interní analytika klienta, nikoli další šíření.
  • Nikdy se nespouští s python -O. Aserce slouží jako zúžení typů, takže jejich odstranění mění chování — proto je v linteru vypnuté odpovídající pravidlo místo mazání asercí.

Externí požadavky a závislosti

Provozní podmínky zdroje se vynucují před odesláním požadavku; reagovat až na odmítnutí je už porušení. Timeouty a omezené opakování s backoffem jsou povinné a breaker izoluje selhávající zdroj — jeho odmítnutí je transportní selhání, nikdy obchodní výsledek.

Volitelné závislosti pro vytěžování a pro LLM jsou schválně oddělené. Nasazení, které jen zrcadlí rejstřík, neinstaluje ani jednu a jeho útočná plocha je odpovídajícím způsobem menší. Kontrolu závislostí a SBOM řeší vlastní recepty.

Kde to v repozitáři žije

  • docs/SECURITY.md — model hrozeb, provozní pravidla, externí požadavky, závislosti
  • docs/ISIR-SOURCE-SEMANTICS.md — §5 — závazná matice zacházení s poli
  • .claude/modules/security.md — závazný modul, ze kterého tenhle dokument shrnuje
  • scripts/security_baseline_check.py — kontrola tajemství v tracked stromu

Souvisí

Zpět na sekci Dokumentace