Přeskočit na obsah

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áno

Ná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.

Celá roadmapa →