Funkce platformy
Tato stránka popisuje schopnosti platformy v hloubce blízké technické dokumentaci. Každá sekce nese označení stavu: Dostupné znamená implementováno a pokryto testy v aktuálním kódu, Plánováno znamená záměr z roadmapy, který zatím neexistuje.
Sběr dat z veřejných zdrojů
DostupnéSběr zajišťují samostatní poskytovatelé (providers) — nezávislé, bezstavové moduly za jednotným rozhraním. Každý deklaruje svůj kód, kategorii, právní základ dotazování a druhy subjektů, které umí zpracovat. Registr poskytovatelů řídí katalog zdrojů v API (GET /v1/sources).
Aktuálně integrovaných dvanáct zdrojů: osm českých registrů (ARES, ISIR, obchodní rejstřík justice.cz, centrální evidence exekucí, katastr nemovitostí, registr smluv, registr dotací a vnitrostátní sankční seznam ČR), plus tři mezinárodní: VIES (ověření DPH v EU), GLEIF (globální LEI registr) a sankční seznam OFAC SDN (USA), vedle konsolidovaného sankčního seznamu EU. Podrobný přehled toho, co každý zdroj přináší, je níže. Pro testy existuje deterministický offline MockProvider — testy nikdy nevolají skutečnou síť.
Každý zdroj má vlastní ochranné mechanismy sdílené knihovnou poskytovatelů: token-bucket rate limiting v Redisu, circuit breaker se stavy closed/open/half-open, retry s exponenciálním backoffem a TTL cache výsledků. Výpadek nebo zpomalení jednoho registru tak nezablokuje zbytek šetření.
Poskytovatelé mezi sebou záměrně nekomunikují — každý je testovatelný a nasaditelný samostatně a přidání nového zdroje nevyžaduje zásah do jádra platformy.
Zdroje dat v detailu
DostupnéCo konkrétně každý zdroj do šetření přináší. Tento seznam se generuje ze skutečného kódu poskytovatelů (scripts/generate_web_providers.py) a je vynucen v CI — nemůže tiše zastarat.
ARES — registr ekonomických subjektů
Potvrzuje právní existenci firmy, sídlo a statutární orgán — základní identifikační kontrola, od které začíná každá due diligence.
Vyzkoušet zdroj →Centrální evidence exekucí
Upozorní na aktivní exekuční řízení proti firmě nebo osobě — přímý signál finanční tísně, který prostý výpis z rejstříku neukáže.
Vyzkoušet zdroj →Registr dotací
Ukáže veřejné dotace čerpané subjektem — neutrální datový bod o vztahu ke státnímu financování a možném střetu zájmů.
Vyzkoušet zdroj →Registr smluv
Ukáže veřejné zakázky subjektu — přehled o vztazích s veřejným sektorem a expozici vůči veřejným zakázkám.
Vyzkoušet zdroj →ISIR — insolvenční rejstřík
Vyhledá aktivní insolvenční řízení vedená proti firmě nebo osobě v rejstříku ISIR — nález je tvrdý signál pro prověření dodavatele nebo protistrany.
Vyzkoušet zdroj →Obchodní rejstřík — vlastnictví
Odhalí vlastníky a podíly ve firmě — data potřebná k dohledání skutečného majitele a odhalení neprůhledných vlastnických struktur.
Vyzkoušet zdroj →Vnitrostátní sankční seznam ČR
Prověří jméno proti českému národnímu sankčnímu seznamu — doplňková kontrola vyžadovaná zákonem vedle seznamu EU.
Vyzkoušet zdroj →Katastr nemovitostí (ČÚZK)
Potvrdí existenci, výměru a stav katastrálního řízení k parcele — majetkový signál nezávislý na obchodním rejstříku.
Vyzkoušet zdroj →VIES — ověření DPH v EU
Ověří platnost DPH registrace firmy v kterémkoli státě EU — rychlý doplňkový signál k identifikační kontrole z ARES.
Vyzkoušet zdroj →GLEIF — globální LEI registr
Najde globální LEI záznam firmy a jejího přímého mateřského vlastníka — odhalí zahraniční ovládající strukturu, kterou český rejstřík neukáže.
Vyzkoušet zdroj →Sankční seznam EU
Prověří jméno firmy nebo osoby proti konsolidovanému sankčnímu seznamu EU — tvrdá compliance/AML brána před každou transakcí.
Vyzkoušet zdroj →OFAC SDN — sankční seznam USA
Prověří jméno proti americkému sankčnímu seznamu OFAC SDN — druhá, nezávislá sankční brána pokrývající americké sekundární sankce.
Vyzkoušet zdroj →Normalizace a identita subjektů
DostupnéKaždý subjekt se převádí na kanonický klíč, který deduplikuje tentýž subjekt nalezený nezávisle různými zdroji: firmy podle IČO (company:CZ:<ico8>), osoby podle normalizovaného jména a data narození, domény po převodu na eTLD+1, IP adresy v kanonickém tvaru a e-maily po lowercasingu. Normalizační funkce jsou idempotentní a pokryté property-based testy.
Odpovědi zdrojů se normalizují do jednotné obálky důkazu: kód zdroje, čas pořízení, hash obsahu, normalizovaná data, důvěryhodnost, právní základ a viditelnost (veřejný / omezený / interní). Veřejná a interní podoba dat jsou oddělené typy — interní pole nikdy neprojdou do API odpovědi.
Kontrola integrity důkazů
DostupnéValidace je samostatná fáze životního cyklu šetření — čistá, nezávisle testovaná funkce, kterou lze znovu spustit i při čtení. Nad každým zjištěním běží osm kontrol: meze důvěryhodnosti, existence podkladových důkazů, minimální počet důkazů pro danou hladinu důvěryhodnosti, nezávislost zdrojů, časová konzistence, úplnost provenience, koherence závažnosti a stavu, a přepočet hashe obsahu.
Zjištění, které kontrolou neprojde, není zahozeno ani skryto — je označeno k revizi a jeho efektivní důvěryhodnost je zastropována. Pravidlo nezávislosti zdrojů je tvrdé: důvěryhodnost ≥ 0,7 vyžaduje nejméně dva důkazy s odlišným kódem zdroje. Pro zákazníka to znamená, že „potvrzeno" v reportu má vždy ověřitelný, kvantifikovaný význam.
Entity, vztahy a graf
DostupnéEntity nalezené během šetření (firmy, osoby) a jejich typované vztahy — vlastnictví, jednatelství, podíly — se ukládají do PostgreSQL a promítají do vestavěné grafové databáze Kuzu. Graf je odvozená projekce: kdykoli přestavitelný z relační databáze, nikdy druhá autorita nad týmiž fakty.
Grafové API vystavuje sousedy entity, ohraničený dotaz (hloubka, typy vztahů, minimální důvěryhodnost), hledání cest mezi entitami, výpočet centrality a detekci cyklů — tedy vlastnických smyček typických pro schránkové struktury, které prosté procházení rejstříku přehlédne.
Veřejné API záměrně nenabízí surové Cypher dotazy. Jediným dotazovacím povrchem je ohraničené DSL — hloubka a rozsah průchodu jsou limitované a filtr tenantu je aplikován na každý uzel i hranu, takže průchod napříč tenanty je vyloučen konstrukcí, ne konvencí.
Interaktivní vizuální explorer grafu pro analytiky je Plánováno — dnes je graf dostupný přes REST API a zobrazení v aplikaci.
Fulltextové vyhledávání
DostupnéVyhledávání běží nad Meilisearch indexy subjektů, důkazů a zjištění. K dispozici je jednoduché dotazování (GET /v1/search) i vícedotazové vyhledávání (POST /v1/search/multi).
Každý dokument v indexu nese identifikátor tenantu a vyhledávací služba filtr tenantu vždy odvozuje z autentizace, nikdy ze vstupu požadavku. Index je projekce — lze jej kdykoli kompletně přestavět z PostgreSQL.
Zprávy a exporty
DostupnéZ každého dokončeného šetření lze vygenerovat zprávu ve formátech JSON, HTML a Markdown. Zpráva obsahuje shrnutí subjektu, zjištění podle závažnosti, ledger důkazů s hashi (normalizovaná data i surové záznamy zdrojů) a vložený ověřovací manifest. Zpráva se ukládá jako neměnný artefakt s vlastním SHA-256 otiskem — příjemce může pomocí manifestu i offline ověřit, že se artefakt ani hashe důkazů po vygenerování nezměnily.
Do zprávy vstupují pouze veřejné datové obálky — surová data od poskytovatelů a interní pracovní poznámky do výstupu nikdy neprosáknou. Export do PDF je Plánováno.
REST API, autentizace a tenancy
DostupnéCelá platforma je API-first: verzované REST API s OpenAPI specifikací, Swagger UI a ReDoc referencí. Chyby se vracejí jednotně jako application/problem+json obálka se stavem, titulkem a detailem. Zakládání šetření je idempotentní.
Autentizace probíhá API klíči, které se ukládají výhradně hashované a nesou oprávnění (scopes) pro čtení a zápis. Správa klíčů — vytvoření, výpis, revokace — je součástí API.
Identifikátor tenantu se vždy odvozuje z autentizačního kontextu, nikdy z těla požadavku. Rozsah tenantu vynucuje přímo vrstva přístupu k datům, takže chybějící filtr v jednom endpointu nemůže způsobit únik dat mezi tenanty. Izolace je pokryta testy napříč API, databází, vyhledáváním i grafem.
Webhooky pro notifikace o dokončení šetření jsou Plánováno.
Asynchronní zpracování a úložiště
DostupnéDlouhé sběry nikdy neblokují HTTP požadavek. Založení šetření vrátí odpověď okamžitě a samotný běh — sběr od poskytovatelů, kontrolu integrity a syntézu projekcí — provede ARQ worker nad Redisem. Šetření prochází stavovým automatem (queued → collecting → validating → synthesizing → completed/failed/cancelled) a jeho stav lze kdykoli dotázat přes API — buď jedním požadavkem, nebo průběžně přes SSE stream (GET /v1/investigations/{id}/events); běžící šetření lze i ručně zrušit, což worker zohlední na nejbližší kontrolní bod mezi jednotlivými zdroji.
Jediným zdrojem pravdy je PostgreSQL se schématem spravovaným migracemi (Alembic); TimescaleDB rozšíření nese časové řady událostí sběru a historie zjištění. Meilisearch a Kuzu jsou odvozené projekce. Strukturované JSON logování s korelačními ID prochází celou pipeline. Lokální vývojové prostředí definuje docker-compose.
Observabilita, provoz a nasazení
DostupnéStrukturované JSON logování s korelačními ID prochází celou pipeline, s automatickou redakcí citlivých hodnot (API klíčů, hesel) v logu. GET /health/dependencies ověřuje dostupnost PostgreSQL, Redisu a Meilisearch souběžně a s časovým limitem; GET /metrics vystavuje čítače a histogramy v Prometheus textovém formátu.
Nasazení staví na vícestupňovém Docker obrazu bez závislosti na root uživateli, s vestavěným healthcheckem; kontrolní seznam vydání, šablona release poznámek a plán rollbacku jsou zdokumentované. Distribuované trasování (tracing) napříč službami zatím Plánováno — korelační ID pokrývá dohledatelnost dnes.
Plánované schopnosti
PlánovánoNásledující funkce jsou záměry z roadmapy. Neexistují v aktuálním kódu a neprodáváme je jako hotové:
- Kontinuální monitoring — plánované opakované běhy šetření s detekcí změn (nová insolvence, změna statutárního orgánu, nový sankční záznam) nad historií v TimescaleDB.
- Grafový explorer (GraphQL) — interaktivní analytické dashboardy nad grafem; až po stabilizaci REST API.
- PDF export zpráv — dnes JSON, HTML a Markdown.
- Webhooky — push notifikace o dokončení šetření a nových zjištěních.
- Plugin SDK — přidávání poskytovatelů bez zásahu do repozitáře; dnes je nový zdroj nový modul v kódu.
- Další zahraniční registry — dnešní katalog pokrývá osm českých zdrojů, ověření DPH v EU, globální LEI registr a sankční seznamy EU i USA; jednotlivé národní obchodní rejstříky dalších zemí (např. Německo, Slovensko) zatím chybí.
- Nasazení do Kubernetes — manifesty pro Deployment/Service/PVC (Kuzu potřebuje trvalý svazek); dnes existuje jen samostatný Docker obraz.