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ávislostidocs/ISIR-SOURCE-SEMANTICS.md— §5 — závazná matice zacházení s poli.claude/modules/security.md— závazný modul, ze kterého tenhle dokument shrnujescripts/security_baseline_check.py— kontrola tajemství v tracked stromu
Souvisí
Rozsah je etické rozhodnutí
Systém záměrně nesbírá oddlužení nepodnikajících fyzických osob: největší objem, nejnižší hodnota a nejvyšší citlivost. Nesbírá je proto, že je nepotřebuje.
Detail
Co systém nedělá
Netvrdí nic o dluzích obecně, nerozhoduje o jednotlivých fyzických osobách a neukládá rodná čísla, datum narození dlužníka ani adresy dlužníků jako údaj. Výstupy slouží interní analytice zadavatele, ne dalšímu šíření.
Detail
Brány kvality
DostupnéOsmatřicet kroků v jednom deklarativním manifestu: 27 governance validátorů a 11 kroků toolchainu. Oslabení brány je viditelné v diffu, protože rozbije zamčený test.
Detail